Avatar billede Mikker Praktikant
05. oktober 2012 - 13:31 Der er 9 kommentarer og
2 løsninger

<div>...</div> vs <div ... />

Hvad er forskellen på <div>...</div> og <div... />?

Ex.1:
<div style="width: 100px; height: 100px; background-color: Red;"></div>
<div style="width: 100px; height: 100px; background-color: Green;" />

Ex.2:
<div style="width: 100px; height: 100px; background-color: Red;" />
<div style="width: 100px; height: 100px; background-color: Green;" />

I Ex.1 placeres de to div'ere ovenOVER hinanden. I Ex.2 placeres de ovenPÅ hinanden.

Hvorfor?
Avatar billede kalp Novice
05. oktober 2012 - 13:56 #1
<div/> er ikke gyldigt - derfor det ikke virker.
Du skal lukke en div korrekt og derfor er det <div></div> som er det rigtige at gøre.
Avatar billede kalp Novice
05. oktober 2012 - 13:57 #2
Avatar billede olebole Juniormester
05. oktober 2012 - 14:41 #3
<ole>

@kalp: Det er ikke korrekt  =)

Syntaksen <div />, som under XML betyder 'lukning af et tag', er fuldt ud valid under HTML (til og med HTML4.01) - helt fra den allerførste version - men det betyder noget helt andet end under XML. Faktisk er syntaksen så gammel, at den hører til under SGML - et opmærkningssprog fra 80'erne, som var inspirationskilden til HTML,

<div/noget

- betyder under HTML det samme som:

<div>noget</div>

Derfor burde koden:

Ole<br/>Bole

- i virkeligheden vises som:

Ole
>Bole

- men den del af HTML-standarden er der ingen browsere, der i dag overholder. Formodentlig på grund af WWW's temmelig ulykkelige intermezzo med XHTML.

Med hensyn til spørgsmålet, så er den korrekte måde at lukke et DIV element denne:

<div style="width: 100px; height: 100px; background-color: Red;"></div>


Syntaksen:

<div style="width: 100px; height: 100px; background-color: Green;" />

- er som sagt valid under HTML (til og med HTML4.01), men lukker ikke DIV'et. Under XHTML og HTML5's XHTML-flavour må den slags lukninger dog kun bruges til 'tomme' elementer som f.eks. IMG, INPUT og LINK

/mvh
</bole>
Avatar billede kalp Novice
05. oktober 2012 - 14:50 #4
Det er sandt nok og jeg burde selvfølgelig angive information om version, men ud fra hans kommentar så lyder det ikke, som om at han udvikler til hverken HTML5 eller XHTML:)
Avatar billede olebole Juniormester
05. oktober 2012 - 15:20 #5
Nej, men under HTML til og med version 4.01 er syntaksen:

<div style="width: 100px; height: 100px; background-color: Green;" />

- fuldt ud valid, selvom den betyder noget andet, end mange tror  =)
Avatar billede Mikker Praktikant
05. oktober 2012 - 15:24 #6
Tak for jeres hurtige og fyldestgørende svar :)
Avatar billede Mikker Praktikant
05. oktober 2012 - 15:31 #7
@olebole: Bare nysgerrig, men hvad betyder det så i 4.01 hvis det ikke er et ulukket tag?
Avatar billede olebole Juniormester
05. oktober 2012 - 15:41 #8
Jeg skal lige have rettet en fejl: Net-enabling tags, som fænomenet kaldes, er tilladt under HTML4.01 Transitiona ... ikke under Strict  *o)

#7: Koden i #5 betyder i virkeligheden: Et DIV, som er 100px på hver led - er grønt - og indeholder et '>'. Det er der dog, så vidt jeg ved, ingen nutidige browsere, der viser  =)
Avatar billede Mikker Praktikant
05. oktober 2012 - 16:43 #9
@olebole: Hvis du også skriver et svar så deler jeg pointene imellem jer.
Avatar billede olebole Juniormester
05. oktober 2012 - 17:15 #10
Ellers tak, jeg samler ikke point  =)
Avatar billede Mikker Praktikant
05. oktober 2012 - 17:16 #11
Ok :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester