Avatar billede mcardle Nybegynder
22. februar 2011 - 13:07 Der er 3 kommentarer og
1 løsning

Teoretisk spørgsmål ang. nesting

Jeg har ikke et decideret problem med min CSS, mere et teoretisk spørgsmål. Hvis jeg har følgende senario:

<div id="container">
  <h1 class="hidden">Denne tekst er usynlig</h1>
</div>

Så ville jeg jo mene at det her er den rigtige syntaks:

#container .hidden{
  display: none;
}

Men jeg har været ude for at mange (inkl. w3schools), at de gør det på følgende måde:

#container h1 .hidden{
  display: none;
}

Er der noget god teoretisk forklaring på, hvorfor det er mere rigtigt end min metode.

Vægter det højere ved at "dobbelt-definere" det på den måde?

// mcardle
Avatar billede werd Nybegynder
22. februar 2011 - 13:32 #1
Sikker på at de ikke skriver:
#container h1.hidden{
  display: none;
}

for at præcisere?
Avatar billede mcardle Nybegynder
22. februar 2011 - 13:37 #2
Avatar billede werd Nybegynder
22. februar 2011 - 16:03 #3
Ja i eksemplet der er der ikke noget mellemrum. derfor gælder definitionen for alle h1 med class="hidden".

Hvis du skriver: #container h1 .hidden
Gælder det for alle elementer med class="hidden" som er child elementer til h1 som igen er child af et element med id="container"

Det er bare ikke ret relevant da man ikke har elementer inde i et header-element.

Hvis du vil være helt præcis kan du skrive:

div#container h1.hidden{
  display: none;
}
Avatar billede mcardle Nybegynder
09. marts 2011 - 14:58 #4
Undskyld min sene accept og tak for dit svar :o)
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
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

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