{"id":117,"date":"2008-10-22T13:49:34","date_gmt":"2008-10-22T11:49:34","guid":{"rendered":"http:\/\/www.kristiansborg.dk\/bibliotek\/?page_id=117"},"modified":"2008-10-22T13:49:34","modified_gmt":"2008-10-22T11:49:34","slug":"html-for-dem-der-vil-noget-del-2","status":"publish","type":"page","link":"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/it\/html-for-dem-der-vil-noget-del-2\/","title":{"rendered":"HTML for dem, der vil noget &#8211; Del 2"},"content":{"rendered":"<p>I anden del af Privat Computers store Internet-kursus fort\u00e6ller <em>Kristian Hansen<\/em> blandt andet om formularer, tabeller og rammer.<\/p>\n<p>I sidste afsnit blev de grundl\u00e6ggende kommandoer gennemg\u00e5et, og efter de er kommet p\u00e5 plads, er det nu p\u00e5 tide at g\u00e5 videre med noget, der er lidt mere avanceret.<\/p>\n<p><strong>Formularer<\/strong><\/p>\n<p>De fleste Internet-brugere kender formularer. De felter og knapper, der blandt andet vises i de forskellige s\u00f8gemaskiner, er alle dele af formularer. Det oprindelige form\u00e5l med formularer var at give brugerne mulighed for at sende informationer til den server HTML-dokumentet l\u00e5 p\u00e5. Serveren skulle herefter typisk sl\u00e5 op i en database og returnere det fundne. For at kunne kigge i en database p\u00e5 serveren, skulle der k\u00f8re et program p\u00e5 den, som browseren kunne kommunikere med. Dette program kaldes et CGI-script.<\/p>\n<p>Selvom denne m\u00e5de stadig er meget udbredt, findes der nu ogs\u00e5 andre. For eksempel kan man skrive et JavaScript eller et VBScript, der h\u00e5ndterer formularen. Det vil blive gennemg\u00e5et senere i kurset. En anden udvej er at sende formularen til en mailadresse &#8211; det er en nem m\u00e5de at f\u00e5 feedback fra de bes\u00f8gende p\u00e5.<\/p>\n<p><strong>FORM-kommandoen<\/strong><\/p>\n<p>For at oprette en formular, bruges FORM-kommandoen. De to vigtigste parametre til den er Action\u00a0 og Method. Action er adressen p\u00e5 det program, der skal h\u00e5ndtere formularen. Skal formularen sendes til en e-mail-adresse, skrives mailto:email-adresse her. Method angiver den m\u00e5de, der skal kommunikeres med serverprogrammet p\u00e5. Der findes to forskellige metoder: Get og Post. Forskellen p\u00e5 de to er m\u00e5den, indholdet af formularen sendes p\u00e5. Ved Get tilf\u00f8jes indholdet til adressen, mens det ved Post kommer for sig. Skal indholdet af formularen sendes via e-mail, skal Method <img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.kristiansborg.dk\/bibliotek\/wp-content\/uploads\/2008\/10\/form.jpeg\" alt=\"S\u00e5dan bliver en formular vist i browseren.\" width=\"404\" height=\"504\" \/>altid v\u00e6re Post.<\/p>\n<p>\u00a0<\/p>\n<p>For at der er noget at sende, skal der oprettes nogle elementer i formularen. HTML giver mulighed for felter til indtastning, knapper og valg-felter. Et eksempel p\u00e5 brug af formularer og deres elementer ses i Eksempel 1.<\/p>\n<p><strong>Felter<\/strong><\/p>\n<p>De fleste felter i formularer laves med INPUT-kommandoen. Den har en parameter &#8211; type &#8211; der angiver, hvilken type element, der skal inds\u00e6ttes. En liste over alle elementerne ses i skemaet Input andetsteds i denne artikel. For at oprette et tekstfelt v\u00e6lges inputtypen text. Herefter skal feltets navn angives. Det g\u00f8res med name-parametren. Det skal bem\u00e6rkes, at kun felter der har et navn, vil blive sendt. Endeligt skal feltets startv\u00e6rdi angives med value-parametren. Denne parameter kan undlades.<\/p>\n<p>De forskellige typer af felter har ogs\u00e5 forskellige parametre. For eksempel kan man i kommandoen til en checkbox eller radio skrive checked, hvilket angiver, at feltet skal v\u00e6re afkrydset til at starte med.<\/p>\n<p><strong>Knapper<\/strong><\/p>\n<p>En af de mere specielle former for felter er knapper. De to standardknapper &#8211; Submit og Reset &#8211; bruges henholdsvis til at sende data til serveren eller til at rense formen. Angives intet andet, st\u00e5r der henholdsvis Submit og Reset p\u00e5 knapper, og det kan jo godt virke lidt dumt p\u00e5 en dansk side. Derfor kan man \u00e6ndre knappernes tekst ved at angive en ny i value-parametren.<\/p>\n<p>Man kan ogs\u00e5 lave sin helt egen knap. Det g\u00f8res ved at s\u00e6tte typen til Button. Uden brug af script-sprog, kan man imidlertid ikke knytte nogen handling til knappen.<\/p>\n<p><strong>Lister med valgmuligheder<\/strong><\/p>\n<p>Ofte har man brug for at bede brugeren v\u00e6lge en af en liste med muligheder. Det kan man naturligvis g\u00f8re ved hj\u00e6lp af radio-knapper, men er listen stor, kommer det til at optage en del plads. Derfor kan man bruge SELECT-kommandoen. Den opretter en listboks, som de kendes fra Windows. Som parametre til SELECT-kommandoen angives dens navn, og med ordet multiple kan det angives, at der gerne m\u00e5 v\u00e6lges flere elementer fra listen. Efter SELECT-kommandoen f\u00f8lger en r\u00e6kke OPTION-kommandoer, der indeholder information om de enkelte valgmuligheder. Som parametre angives valgmulighedens navn, og med ordet selected angives, om punktet skal v\u00e6re markeret.<\/p>\n<p><strong>Tabeller<\/strong><\/p>\n<p>Hjemmesider bruges hovedsageligt til pr\u00e6sentation af information. Skal man vise store m\u00e6ngder, er det rart at kunne g\u00f8re det i tabelform. Tabeller oprettes med kommandoen TABLE.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.kristiansborg.dk\/bibliotek\/wp-content\/uploads\/2008\/10\/tabel1.jpeg\" alt=\"Et eksempel med tabeller.\" width=\"510\" height=\"326\" \/><\/p>\n<p>Som parametre til TABLE kommandoen gives blandt andet bredden (width). Den kan angives i procent eller i pixels. Med ordet Border kan det angives, at tabellen skal have en ramme omkring sig.<\/p>\n<p>Hvert felt i tabellen indledes med kommandoen &lt;TD&gt;. Igen kan cellens bredde angives med Width-parametren, og med RowSpan og ColSpan kan det angives, hvor mange felter det enkelte felt skal fylde. Det er for eksempel velegnet til en overskrift.<\/p>\n<p>N\u00e5r alle felter i en r\u00e6kke er indtastet, oprettes en ny r\u00e6kke med &lt;TR&gt;. Et eksempel p\u00e5 brugen af tabeller ses i Eksempel 2.<\/p>\n<p><strong>Avanceret brug af tabeller<\/strong><\/p>\n<p>Tabeller kan bruges til andet end pr\u00e6sentation af data. De kan ogs\u00e5 bruges til at lave en margin. Bruger man for eksempel et baggrundsbillede til at simulere en todeling af sk\u00e6rmen, er det n\u00f8dvendigt selv at kunne bestemme, hvor teksten skrives. Et eksempel p\u00e5 det, ses i eksempel 3.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.kristiansborg.dk\/bibliotek\/wp-content\/uploads\/2008\/10\/tabel2.jpeg\" alt=\"En tabel brugt til at lave venstremargin.\" width=\"517\" height=\"370\" \/><\/p>\n<p><strong>Rammer<\/strong><\/p>\n<p>Rammer &#8211; eller frames &#8211; er en anden m\u00e5de at f\u00e5 sin side til at tage sig p\u00e6n ud p\u00e5. Systemet er, at sk\u00e6rmen deles op i flere rammer, der hver indeholder et HTML-dokument. Selvom indholdet af en ramme \u00e6ndres, \u00e6ndres indholdet af de andre ikke n\u00f8dvendigvis. P\u00e5 den m\u00e5de kan man altid have for eksempel en indholdsfortegnelse og en overskrift p\u00e5 siden.<\/p>\n<p>Rammer oprettes med kommandoen FRAMESET. Som parameter til den kommando sendes enten Rows eller Cols, alt efter om rammerne skal dele siden lodret eller vandret. V\u00e6rdien for Rows eller Cols angiver, hvor mange rammer, der skal oprettes, og hvor store de skal v\u00e6re. St\u00f8rrelsen kan angives i procent, men ogs\u00e5 en stjerne kan bruges. Det betyder, at den ramme, skal have den plads der bliver til overs, n\u00e5r de andre har f\u00e5et den plads, de skal have. Har to eller flere rammer st\u00f8rrelsen stjerne, deler de den resterende plads ligeligt. Det vil alts\u00e5 sige, at &lt;FRAMESET COLS = &#8220;*,*&#8221;&gt; deler sk\u00e6rmen i to lige store kolonner.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.kristiansborg.dk\/bibliotek\/wp-content\/uploads\/2008\/10\/rammer.jpeg\" alt=\"Fire HTML-dokumenter bliver til et ved hj\u00e6lp af rammer.\" width=\"546\" height=\"473\" \/><\/p>\n<p>N\u00e5r antallet af rammer er angivet, skal de defineres. Det g\u00f8res med FRAME-kommandoen. Dennes Src-parameter angiver det HTML-dokument, der skal indl\u00e6ses i rammen til at starte med. Dern\u00e6st angives et navn, s\u00e5 man kan referere til siden, n\u00e5r dens indhold skal \u00e6ndres. Derudover er der mulighed for at angive, om brugeren skal have mulighed for selv at \u00e6ndre st\u00f8rrelsen p\u00e5 rammen, og om rammen skal have en rulleskakt, hvis der st\u00e5r mere tekst i den, end der kan vises p\u00e5 sk\u00e6rmen. Det kan v\u00e6re farligt, at sl\u00e5 rulleskakter fra, da folk med lav sk\u00e6rmopl\u00f8sning kan f\u00e5 problemer med at l\u00e6se hele teksten. Rulleskakten redigeres med scrolling = yes|no, mens ordet Noresize angiver, at rammens st\u00f8rrelse ikke kan \u00e6ndres.<\/p>\n<p><strong>Ingen rammer<\/strong><\/p>\n<p>Rammer er en relativ ny opfindelse p\u00e5 Internet, og man kan desv\u00e6rre ikke regne med, at det er alle browsere, der underst\u00f8tter det. Derfor kan kommandoen NOFRAMES bruges til angive en tekst, der skal vises, hvis siden bliver bes\u00f8gt af en browser, der ikke har rammeunderst\u00f8ttelse. Bem\u00e6rk, at NOFRAMES skal bruges inden i FRAMESET-kommandoen.<\/p>\n<p>Et eksempel p\u00e5 brug af rammer ses i Eksempel 4. Deraf ses det ogs\u00e5, at flere FRAMSET-kommandoer kan bruges inden i hinanden. Bem\u00e6rk i \u00f8vrigt ogs\u00e5, at det dokument, der indeholder FRAMESET kommandoen ingen body-sektion har, og at det er titlen p\u00e5 FRAMESET-dokumenten, der bliver vist som titlen for alle siderne.<\/p>\n<p><strong>Links i rammer<\/strong><\/p>\n<p>Hvis man har et link i en ramme, vil det nye dokument som standard blive \u00e5bnet i den samme ramme. S\u00e5 l\u00e6nge man kun \u00e5bner ens egne sider er det ikke det store problem, men s\u00e5 snart man har et link til en andens sider, b\u00f8r man fjerne rammerne. Til det brug, har link-kommanoden A en parameter, der hedder Target. Target angiver hvilken ramme, dokumentet skal \u00e5bnes i. Det kan v\u00e6re navnet p\u00e5 en af de rammer, man selv har lavet, eller en angivelse p\u00e5 en systemramme. Der findes tre systemrammer: _self, _parent, _top og _blank. _self er den ramme, linket er i. _parent er den ramme, der indeholder FRAMESET-kommandoen, mens _top er det \u00f8verste niveau, hvilket vil sige en side helt uden rammer. _blank er egentligt ikke en ramme, men angiver, at dokumentet skal vises i et nyt vindue.<\/p>\n<p>Hvis de fleste links p\u00e5 en side skal vises i en anden ramme, er det irriterende at skulle s\u00e6tte Target for dem alle. I stedet kan man i head-sektionen bruge kommandoen BASE med parametren Target. S\u00e5 vil alle links &#8211; med mindre andet er angivet &#8211; have det target, der angives her.<\/p>\n<p><strong>Programmer p\u00e5 hjemmesiden<\/strong><\/p>\n<p>Selvom man kan komme langt med flot opsat tekst og god grafik, er der dog ting, man ikke kan lave. Til de mere avancerede funktioner kan man have brug for et rigtigt program. Derfor er der i HTML mulighed for at inds\u00e6tte programmer. Her ses p\u00e5 de to mest udbredte former: Java applets og ActiveX-komponenter.<\/p>\n<p><strong>Java applets<\/strong><\/p>\n<p>Java applets bygger p\u00e5 programmeringssproget Java, der er udviklet af Sun. Javas store force er, at det er platformsuafh\u00e6ngigt, hvilket vil sige, at det kan afvikles p\u00e5 alle maskine, ligegyldigt om de bruger Unix, Windows, OS\/2 eller noget andet.<\/p>\n<p>Det betyder ogs\u00e5, at Java applets underst\u00f8ttes af b\u00e5de Netscape Navigator og Internet Explorer. En applet best\u00e5r af en eller flere class-filer. Det er disse, der indeholder selve koden til programmet. Derudover kan der v\u00e6re brug for en r\u00e6kke billeder eller lignende.<\/p>\n<p>Sikkerheden omkring Java applets er rimelig fornuftig, og man kan godt regne med, at en applet ikke har adgang til at l\u00e6se fortrolig information fra ens harddisk.<\/p>\n<p>Kommandoen APPLET bruges til at inds\u00e6tte en applet. Med parametren Code angives navnet p\u00e5 den class-fil, der skal indl\u00e6ses. Parametren codebase bruges til at angive startadressen for relative adresser i selve Java-programmet. Derudover kan appleten gives en navn med Name-parametren, og i \u00f8vrigt forsynes med de samme oplysning som et billede: alt, width, height osv.<\/p>\n<p>Nogle applets skal selv have yderligere parametre med. De defineres med kommandoen PARAM. PARAM har to parametre, Name og Value, der henholdsvis angiver parametrens navn og dens v\u00e6rdi. Det afh\u00e6nger fuldst\u00e6ndigt af den enkelte applet, hvilke parametre, der skal angives. Man skal blot huske at skrive parametrene inden APPLET-kommandoen afsluttes med &lt;\/APPLET&gt;. Parametrene skal ikke selv afsluttes.<\/p>\n<p><strong>ActiveX-komponenter<\/strong><\/p>\n<p>ActiveX-komponenter bygger p\u00e5 en standard udviklet af Microsoft, og uden en s\u00e6rlig plug-in kan de ikke vises i Netscape Navigatior. ActiveX-komponenter har et meget n\u00e6rt forhold til Windows, og det er muligt at lave ting i dem, som man ikke kan i Java. Adgangen til operativsystemet betyder til geng\u00e6ld ogs\u00e5, at sikkerheden ikke er helt s\u00e5 stor, som ved Java-programmer.<\/p>\n<p>ActiveX-komponenter inds\u00e6ttes ikke p\u00e5 samme m\u00e5de som JavaApplets. I stedet for PARAM bruges OBJECT-kommandoen. Som parameter skal komponentets ID angives. Det g\u00f8res med CLSID-parametren. Herefter kan en codebase defineres p\u00e5 samme m\u00e5de som ved applets, og det er ogs\u00e5 muligt at sende parametre med.<\/p>\n<p><strong>Input <\/strong><\/p>\n<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td width=\"158\" valign=\"top\">text<\/td>\n<td width=\"425\" valign=\"top\">Et felt, hvor brugeren kan indtaste tekst.<\/td>\n<\/tr>\n<tr>\n<td width=\"158\" valign=\"top\">password<\/td>\n<td width=\"425\" valign=\"top\">Som tekst, men i stedet for de bogstaver, brugeren indtaster, vises stjerner.<\/td>\n<\/tr>\n<tr>\n<td width=\"158\" valign=\"top\">checkbox<\/td>\n<td width=\"425\" valign=\"top\">Et felt, der kan afkrydses.<\/td>\n<\/tr>\n<tr>\n<td width=\"158\" valign=\"top\">radio<\/td>\n<td width=\"425\" valign=\"top\">En knap i en gruppe, hvor kun en af dem kan v\u00e6re markerede.<\/td>\n<\/tr>\n<tr>\n<td width=\"158\" valign=\"top\">submit<\/td>\n<td width=\"425\" valign=\"top\">Den knap, der skal bruges til at sende formularen.<\/td>\n<\/tr>\n<tr>\n<td width=\"158\" valign=\"top\">reset<\/td>\n<td width=\"425\" valign=\"top\">Den knap, der skal bruges til at rense formularen.<\/td>\n<\/tr>\n<tr>\n<td width=\"158\" valign=\"top\">file<\/td>\n<td width=\"425\" valign=\"top\">Brugeren bedes om at v\u00e6lge en fil til upload.<\/td>\n<\/tr>\n<tr>\n<td width=\"158\" valign=\"top\">hidden<\/td>\n<td width=\"425\" valign=\"top\">Et skjult felt.<\/td>\n<\/tr>\n<tr>\n<td width=\"158\" valign=\"top\">button<\/td>\n<td width=\"425\" valign=\"top\">En knap.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u00a0<\/p>\n<p><strong>Eksempel 1 &#8211; en formular <\/strong><\/p>\n<p>&lt;HEAD&gt;&lt;TITLE&gt; Evaluering &lt;\/TITLE&gt;&lt;\/HEAD&gt;<\/p>\n<p>&lt;BODY&gt;<\/p>\n<p>&lt;B&gt;Evaluering af denne side&lt;\/B&gt;<\/p>\n<p>&lt;P&gt;<\/p>\n<p>&lt;FORM ACTION = &#8220;mailto:Kristian.Hansen@pricom.dk&#8221; METHOD = POST&gt;<\/p>\n<p>Hvad synes du om siden?&lt;BR&gt;<\/p>\n<p>&lt;INPUT TYPE = Radio NAME = darlig&gt;D&amp;aring;rlig&lt;BR&gt;<\/p>\n<p>&lt;INPUT TYPE = Radio NAME = middel&gt;Middel&lt;BR&gt;<\/p>\n<p>&lt;INPUT TYPE = Radio NAME = god CHECKED&gt;God&lt;BR&gt;<\/p>\n<p>&lt;P&gt;<\/p>\n<p>Hvilken browser bruger du?&lt;BR&gt;<\/p>\n<p>&lt;SELECT NAME = browser&gt;<\/p>\n<p>&lt;OPTION NAME = IE3&gt;Internet Explorer 3&lt;\/OPTION&gt;<\/p>\n<p>&lt;OPTION NAME = IE4&gt;Internet Explorer 4&lt;\/OPTION&gt;<\/p>\n<p>&lt;OPTION NAME = NN3&gt;Netscape Navigator 3&lt;\/OPTION&gt;<\/p>\n<p>&lt;OPTION NAME = NN4&gt;Netscape Navigator 4&lt;\/OPTION&gt;<\/p>\n<p>&lt;OPTION NAME = dunno SELECTED&gt;Ved ikke&lt;\/OPTION&gt;<\/p>\n<p>&lt;\/SELECT&gt;<\/p>\n<p>&lt;P&gt;<\/p>\n<p>Hvad er din e-mail adresse?&lt;BR&gt;<\/p>\n<p>&lt;INPUT TYPE = Text NAME = mail&gt;&lt;BR&gt;<\/p>\n<p>&lt;INPUT TYPE = Reset VALUE = Rens&gt;&lt;INPUT TYPE = &#8220;SUBMIT&#8221; VALUE = Send&gt;<\/p>\n<p>&lt;\/FORM&gt;<\/p>\n<p>\u00a0<\/p>\n<p>&lt;\/BODY&gt;<\/p>\n<p>&lt;\/HTML&gt;<\/p>\n<p><strong>Eksempel 2 &#8211; en tabel <\/strong><\/p>\n<p>&lt;HEAD&gt;&lt;TITLE&gt;Regnskab &lt;\/TITLE&gt;&lt;\/HEAD&gt;<\/p>\n<p>&lt;BODY&gt;<\/p>\n<p>&lt;TABLE BORDER WIDTH = 100%&gt;<\/p>\n<p>&lt;TD WIDTH = 10% ROWSPAN = 2&gt;Bilag&lt;\/TD&gt;<\/p>\n<p>&lt;TD WIDTH = 40% ROWSPAN = 2&gt;Tekst&lt;\/TD&gt;<\/p>\n<p>&lt;TD WIDTH = 25% COLSPAN=2&gt;Kasse&lt;\/TD&gt;<\/p>\n<p>&lt;TD WIDTH = 25% COLSPAN=2&gt;Bank&lt;\/TD&gt;<\/p>\n<p>\u00a0<\/p>\n<p>&lt;TR&gt;<\/p>\n<p>&lt;TD WIDTH = 12%&gt;Ind&lt;\/TD&gt;<\/p>\n<p>&lt;TD WIDTH = 12%&gt;Ud&lt;\/TD&gt;<\/p>\n<p>&lt;TD WIDTH = 12%&gt;Ind&lt;\/TD&gt;<\/p>\n<p>&lt;TD WIDTH = 12%&gt;Ud&lt;\/TD&gt;<\/p>\n<p>\u00a0<\/p>\n<p>&lt;TR&gt;<\/p>\n<p>&lt;TD&gt;1&lt;\/TD&gt;<\/p>\n<p>&lt;TD&gt;H&amp;aelig;vet&lt;\/TD&gt;<\/p>\n<p>&lt;TD&gt;1000,00&lt;\/TD&gt;<\/p>\n<p>&lt;TD&gt;&lt;\/TD&gt;<\/p>\n<p>&lt;TD&gt;&lt;\/TD&gt;<\/p>\n<p>&lt;TD&gt;1000,00&lt;\/TD&gt;<\/p>\n<p>\u00a0<\/p>\n<p>&lt;TR&gt;<\/p>\n<p>&lt;TD&gt;2&lt;\/TD&gt;<\/p>\n<p>&lt;TD&gt;Madvarer&lt;\/TD&gt;<\/p>\n<p>&lt;TD&gt;&lt;\/TD&gt;<\/p>\n<p>&lt;TD&gt;258,75&lt;\/TD&gt;<\/p>\n<p>&lt;TD&gt;&lt;\/TD&gt;<\/p>\n<p>&lt;TD&gt;&lt;\/TD&gt;<\/p>\n<p>&lt;\/TABLE&gt;<\/p>\n<p>&lt;\/BODY&gt;<\/p>\n<p>&lt;\/HTML&gt;<\/p>\n<p>\u00a0<\/p>\n<p><strong>Eksempel 3 &#8211; margin med tabel <\/strong><\/p>\n<p>&lt;HEAD&gt;&lt;TITLE&gt; Om blomster &lt;\/TITLE&gt;&lt;\/HEAD&gt;<\/p>\n<p>&lt;BODY BACKGROUND = flower.gif&gt;<\/p>\n<p>&lt;TABLE&gt;<\/p>\n<p>&lt;TD WIDTH = 100&gt;&lt;\/TD&gt;<\/p>\n<p>&lt;TD WIDTH = 700&gt;<\/p>\n<p>&lt;CENTER&gt;&lt;B&gt;Lidt om blomster&lt;\/B&gt;&lt;\/CENTER&gt;&lt;P&gt;<\/p>\n<p>Ved at bruge tabeller er det simpelt at lave en p&amp;aelig;n margin med blomster.<\/p>\n<p>Det eneste man beh&amp;oslash;ver er et baggrundsbillede, med samme bredde som sk&amp;aelig;rmen.<\/p>\n<p>En del af baggrundsbilledet er det billede, man vil have i margin, mens resten er baggrundsfarven.<\/p>\n<p>&lt;\/TABLE&gt;<\/p>\n<p>&lt;\/BODY&gt;<\/p>\n<p>&lt;\/HTML&gt;<\/p>\n<p>\u00a0<\/p>\n<p><strong>Eksempel 4 &#8211; rammer <\/strong><\/p>\n<p>&#8211; rammer.htm<\/p>\n<p>\u00a0<\/p>\n<p>&lt;HEAD&gt;<\/p>\n<p>&lt;TITLE&gt;Rammer&lt;\/TITLE&gt;<\/p>\n<p>&lt;\/HEAD&gt;<\/p>\n<p>&lt;FRAMESET ROWS=&#8221;20%,*&#8221;&gt;<\/p>\n<p>\u00a0\u00a0 &lt;FRAME\u00a0 SRC=&#8221;overskr.htm&#8221; NAME=&#8221;overskrift&#8221; SCROLLING=&#8221;no&#8221; NORESIZE&gt;<\/p>\n<p>\u00a0\u00a0 &lt;FRAMESET COLS=&#8221;20%,*&#8221;&gt;<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;FRAME\u00a0 SRC=&#8221;indhold.htm&#8221; NAME=&#8221;indhold&#8221; NORESIZE&gt;<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;FRAME\u00a0 SRC=&#8221;tekst.htm&#8221; NAME=&#8221;tekst&#8221;&gt;<\/p>\n<p>\u00a0\u00a0 &lt;\/FRAMESET&gt;<\/p>\n<p>&lt;NOFRAMES&gt;<\/p>\n<p>Dette dokument indeholder rammer, og kan derfor ikke ses, hvis browseren ikke underst&amp;oslash;tter dem.<\/p>\n<p>&lt;\/NOFRAMES&gt;<\/p>\n<p>&lt;\/FRAMESET&gt;<\/p>\n<p>\u00a0<\/p>\n<p>&#8211; indhold.htm &#8211;<\/p>\n<p>\u00a0<\/p>\n<p>&lt;HEAD&gt;<\/p>\n<p>&lt;BASE TARGET = &#8220;tekst&#8221;&gt;<\/p>\n<p>&lt;\/HEAD&gt;<\/p>\n<p>&lt;BODY&gt;<\/p>\n<p>&lt;A HREF = &#8220;del1.htm&#8221;&gt;Del 1&lt;\/A&gt;&lt;BR&gt;<\/p>\n<p>&lt;A HREF = &#8220;del2.htm&#8221;&gt;Del 2&lt;\/A&gt;&lt;BR&gt;<\/p>\n<p>&lt;A HREF = &#8220;del3.htm&#8221;&gt;Del 3&lt;\/A&gt;&lt;BR&gt;<\/p>\n<p>&lt;A HREF = &#8220;del4.htm&#8221;&gt;Del 4&lt;\/A&gt;&lt;BR&gt;<\/p>\n<p>&lt;\/BODY&gt;<\/p>\n<p>&lt;\/HTML&gt;<\/p>\n<ul>\n<li>&#8211; tekst.htm &#8211;<\/li>\n<\/ul>\n<p>&lt;BODY&gt;<\/p>\n<p>&lt;B&gt;Velkommen&lt;\/B&gt;&lt;BR&gt;<\/p>\n<p>Her er lidt information om HTML. &lt;P&gt;<\/p>\n<p>Til venstre ses en indholdsfortegnelse over de forskellige dele af kurset.&lt;P&gt;<\/p>\n<p>Yderligere oplysninger om HTML f\u00e5s p\u00e5 &lt;A HREF = &#8220;http:\/\/www.w3.org&#8221; TARGET = _top&gt;W3C&lt;\/A&gt;.<\/p>\n<p>&lt;\/BODY&gt;<\/p>\n<p>&lt;\/HTML&gt;<\/p>\n<p>\u00a0<\/p>\n<p><strong>Internet Explorer og Netscape Navigator <\/strong><\/p>\n<p>Gennem et stykke tid har der n\u00e6rmest v\u00e6ret krig mellem de to f\u00f8rende browsere p\u00e5 markedet: Internet Explorer og Netscape Navigator. Hvilken man skal v\u00e6lge, er imidlertid ikke bare et sp\u00f8rgsm\u00e5l om, hvorvidt man foretr\u00e6kker Microsoft eller Netscape. De to browsere har forskellige opfattelser af HTML-standarden, og det er man desv\u00e6rre n\u00f8dt til at tage h\u00f8jde for, n\u00e5r man designer en hjemmeside. Det vil jo ikke v\u00e6re s\u00e6rligt smart, hvis cirka halvdelen af alle ens bes\u00f8gende ikke kan se siden.<\/p>\n<p>S\u00e6rligt Internet Explorer 3 havde problemer med at f\u00f8lge HTML-standarden. For eksempel var definitionen af rammer ikke helt den samme, og JavaScript var ogs\u00e5 meget d\u00e5rligt implementeret. Til geng\u00e6ld havde den en r\u00e6kke udvidelser til HTML-sproget. For eksempel IFRAME-kommandoen, der indl\u00e6ser en HTML-dokument i et andet, og mulighed for at s\u00e6tte forskellig baggrundsfarve i forskellige celler i en tabel.<\/p>\n<p>Netscape Navigator 3 underst\u00f8ttede til geng\u00e6ld HTML-standarden fuldt ud. Desv\u00e6rre underst\u00f8tter Navigator 4 ikke HTML4 ligesom Internet Explorer 4 g\u00f8r. Og der er heller ikke underst\u00f8ttelse de HTML-udvidelser som Microsoft har foretaget &#8211; heller ikke selvom nogle af dem, er blevet skrevet ind i den nye HTML-standard. For at r\u00e5de bod p\u00e5 det, har Netscape lavet sine egne tilf\u00f8jelser. Det g\u00e6lder for eksempel kommandoen BLINK, der viser tekst blinkende.<\/p>\n<p><strong>Pr\u00f8v dem<\/strong><\/p>\n<p>Listen over sm\u00e5 forskelle som ved f\u00f8rste \u00f8jekast virker ubetydelige, men som kan f\u00e5 stor konsekvens for udseendet af ens side, er alenlang. Konklusionen m\u00e5 derfor v\u00e6re, at man skal se sine egne sider under begge browsere. Mange pr\u00f8ver at gemme sig under udtryk som &#8220;Denne side ses bedst med&#8230;&#8221; og beder brugeren om at downloade den p\u00e5g\u00e6ldende browser, hvis han ikke allerede har den. Det er imidlertid de f\u00e6rreste, der gider bruge lang tid p\u00e5 a downloade en browser, n\u00e5r man allerede har en.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I anden del af Privat Computers store Internet-kursus fort\u00e6ller Kristian Hansen blandt andet om formularer, tabeller og rammer. I sidste afsnit blev de grundl\u00e6ggende kommandoer gennemg\u00e5et, og efter de er kommet p\u00e5 plads, er det nu p\u00e5 tide at g\u00e5 videre med noget, der er lidt mere avanceret. Formularer De fleste Internet-brugere kender formularer. De [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":30,"menu_order":0,"comment_status":"closed","ping_status":"open","template":"","meta":{"_monsterinsights_skip_tracking":false,"footnotes":""},"class_list":["post-117","page","type-page","status-publish","hentry"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/it\/html-for-dem-der-vil-noget-del-2\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"da_DK\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Biblioteket | Samling af artikler og b\u00f8ger\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"HTML for dem, der vil noget \u2013 Del 2 | Biblioteket\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/it\/html-for-dem-der-vil-noget-del-2\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2008-10-22T11:49:34+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2008-10-22T11:49:34+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"HTML for dem, der vil noget \u2013 Del 2 | Biblioteket\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek\\\/artikler\\\/it\\\/html-for-dem-der-vil-noget-del-2\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek\\\/artikler\\\/#listItem\",\"name\":\"Artikler\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek\\\/artikler\\\/#listItem\",\"position\":2,\"name\":\"Artikler\",\"item\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek\\\/artikler\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek\\\/artikler\\\/it\\\/#listItem\",\"name\":\"IT\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek\\\/artikler\\\/it\\\/#listItem\",\"position\":3,\"name\":\"IT\",\"item\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek\\\/artikler\\\/it\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek\\\/artikler\\\/it\\\/html-for-dem-der-vil-noget-del-2\\\/#listItem\",\"name\":\"HTML for dem, der vil noget &#8211; Del 2\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek\\\/artikler\\\/#listItem\",\"name\":\"Artikler\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek\\\/artikler\\\/it\\\/html-for-dem-der-vil-noget-del-2\\\/#listItem\",\"position\":4,\"name\":\"HTML for dem, der vil noget &#8211; Del 2\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek\\\/artikler\\\/it\\\/#listItem\",\"name\":\"IT\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek\\\/#organization\",\"name\":\"Biblioteket\",\"description\":\"Samling af artikler og b\\u00f8ger\",\"url\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek\\\/\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek\\\/artikler\\\/it\\\/html-for-dem-der-vil-noget-del-2\\\/#webpage\",\"url\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek\\\/artikler\\\/it\\\/html-for-dem-der-vil-noget-del-2\\\/\",\"name\":\"HTML for dem, der vil noget \\u2013 Del 2 | Biblioteket\",\"inLanguage\":\"da-DK\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek\\\/artikler\\\/it\\\/html-for-dem-der-vil-noget-del-2\\\/#breadcrumblist\"},\"datePublished\":\"2008-10-22T13:49:34+02:00\",\"dateModified\":\"2008-10-22T13:49:34+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek\\\/#website\",\"url\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek\\\/\",\"name\":\"Biblioteket\",\"description\":\"Samling af artikler og b\\u00f8ger\",\"inLanguage\":\"da-DK\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.kristiansborg.dk\\\/bibliotek\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"HTML for dem, der vil noget \u2013 Del 2 | Biblioteket","description":"","canonical_url":"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/it\/html-for-dem-der-vil-noget-del-2\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BreadcrumbList","@id":"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/it\/html-for-dem-der-vil-noget-del-2\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.kristiansborg.dk\/bibliotek#listItem","position":1,"name":"Home","item":"https:\/\/www.kristiansborg.dk\/bibliotek","nextItem":{"@type":"ListItem","@id":"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/#listItem","name":"Artikler"}},{"@type":"ListItem","@id":"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/#listItem","position":2,"name":"Artikler","item":"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/it\/#listItem","name":"IT"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.kristiansborg.dk\/bibliotek#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/it\/#listItem","position":3,"name":"IT","item":"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/it\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/it\/html-for-dem-der-vil-noget-del-2\/#listItem","name":"HTML for dem, der vil noget &#8211; Del 2"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/#listItem","name":"Artikler"}},{"@type":"ListItem","@id":"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/it\/html-for-dem-der-vil-noget-del-2\/#listItem","position":4,"name":"HTML for dem, der vil noget &#8211; Del 2","previousItem":{"@type":"ListItem","@id":"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/it\/#listItem","name":"IT"}}]},{"@type":"Organization","@id":"https:\/\/www.kristiansborg.dk\/bibliotek\/#organization","name":"Biblioteket","description":"Samling af artikler og b\u00f8ger","url":"https:\/\/www.kristiansborg.dk\/bibliotek\/"},{"@type":"WebPage","@id":"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/it\/html-for-dem-der-vil-noget-del-2\/#webpage","url":"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/it\/html-for-dem-der-vil-noget-del-2\/","name":"HTML for dem, der vil noget \u2013 Del 2 | Biblioteket","inLanguage":"da-DK","isPartOf":{"@id":"https:\/\/www.kristiansborg.dk\/bibliotek\/#website"},"breadcrumb":{"@id":"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/it\/html-for-dem-der-vil-noget-del-2\/#breadcrumblist"},"datePublished":"2008-10-22T13:49:34+02:00","dateModified":"2008-10-22T13:49:34+02:00"},{"@type":"WebSite","@id":"https:\/\/www.kristiansborg.dk\/bibliotek\/#website","url":"https:\/\/www.kristiansborg.dk\/bibliotek\/","name":"Biblioteket","description":"Samling af artikler og b\u00f8ger","inLanguage":"da-DK","publisher":{"@id":"https:\/\/www.kristiansborg.dk\/bibliotek\/#organization"}}]},"og:locale":"da_DK","og:site_name":"Biblioteket | Samling af artikler og b\u00f8ger","og:type":"article","og:title":"HTML for dem, der vil noget \u2013 Del 2 | Biblioteket","og:url":"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/it\/html-for-dem-der-vil-noget-del-2\/","article:published_time":"2008-10-22T11:49:34+00:00","article:modified_time":"2008-10-22T11:49:34+00:00","twitter:card":"summary","twitter:title":"HTML for dem, der vil noget \u2013 Del 2 | Biblioteket"},"aioseo_meta_data":{"post_id":"117","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2020-12-21 06:59:27","updated":"2025-06-04 00:54:23","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.kristiansborg.dk\/bibliotek\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/\" title=\"Artikler\">Artikler<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/it\/\" title=\"IT\">IT<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tHTML for dem, der vil noget \u2013 Del 2\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.kristiansborg.dk\/bibliotek"},{"label":"Artikler","link":"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/"},{"label":"IT","link":"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/it\/"},{"label":"HTML for dem, der vil noget &#8211; Del 2","link":"https:\/\/www.kristiansborg.dk\/bibliotek\/artikler\/it\/html-for-dem-der-vil-noget-del-2\/"}],"_links":{"self":[{"href":"https:\/\/www.kristiansborg.dk\/bibliotek\/wp-json\/wp\/v2\/pages\/117","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kristiansborg.dk\/bibliotek\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.kristiansborg.dk\/bibliotek\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.kristiansborg.dk\/bibliotek\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kristiansborg.dk\/bibliotek\/wp-json\/wp\/v2\/comments?post=117"}],"version-history":[{"count":0,"href":"https:\/\/www.kristiansborg.dk\/bibliotek\/wp-json\/wp\/v2\/pages\/117\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/www.kristiansborg.dk\/bibliotek\/wp-json\/wp\/v2\/pages\/30"}],"wp:attachment":[{"href":"https:\/\/www.kristiansborg.dk\/bibliotek\/wp-json\/wp\/v2\/media?parent=117"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}