/ Forside / Teknologi / Udvikling / HTML / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
HTML
#NavnPoint
molokyle 11184
Klaudi 5506
bentjuul 3377
severino 2040
smorch 1950
strarup 1525
natmaden 1396
scootergr.. 1320
e.c 1150
10  miritdk 1110
CSS selectors
Fra : Ulrik Svanlundh


Dato : 15-09-04 18:32

Hej,

Er der nogen der kan forklare mig forskellen på disse 2 selectors ?
td.menu
..menu td

Den første er jeg med på... Den betyder "de td-tags, der har klassen
menu", men hvad betyder den anden ? Jeg har faktisk slet ikke kunne
finde noget sted, der antyder at selectoren skulle være lovlig (*), men
både IE og Mozilla, giver et resultat, jeg ikke kan få på andre måder.

Mvh
Ulrik

(*) Jeg har dog ikke lige kigget artikler på W3C og DTD'en igennem!

 
 
Dan Storm (15-09-2004)
Kommentar
Fra : Dan Storm


Dato : 15-09-04 18:54

så vidt jeg kan forstå på w3c.org så er
..main td {
height: 10px;
}

det samme som

td.main {
height: 10px;
}

--
Dan Storm

http://err0r.dk
storm@err0r.dk

PGP Public key på http://err0r.dk/pubring.pkr

>>> husk på; en ekspert er en person der har begået alle fejl mulige
inden for et bestemt område




Bertel Lund Hansen (15-09-2004)
Kommentar
Fra : Bertel Lund Hansen


Dato : 15-09-04 18:55

Ulrik Svanlundh skrev:

>Er der nogen der kan forklare mig forskellen på disse 2 selectors ?

>td.menu

Her definerer du en klasse, menu, som kun kan bruges af td, men
den kan bruges overalt i HTML-filen hvor der er et td-element.

<table>
<tr>
<td class='menu'>blablabla</td>
<td>blablabla</td>
</tr>
</table>

Kun ét element har de specificerede egenskaber.

>.menu td

Her definerer du hvordan td skal opføre sig når det befinder sig
inden i klassen menu.

<div class='menu'>
<table>
<tr>
<td>blablabla</td>
<td>blablabla</td>
</tr>
</table>
</div>

Alle td-elementer har de specificerede egenskaber.

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

Dan Storm (15-09-2004)
Kommentar
Fra : Dan Storm


Dato : 15-09-04 19:25

Der lærte jeg også noget! ;)

--
Dan Storm

http://err0r.dk
storm@err0r.dk

PGP Public key på http://err0r.dk/pubring.pkr

>>> husk på; en ekspert er en person der har begået alle fejl mulige
inden for et bestemt område




Ulrik Svanlundh (15-09-2004)
Kommentar
Fra : Ulrik Svanlundh


Dato : 15-09-04 22:50

Ok... Så hvis jeg har noget ala
<table class="menu">
   (...)
</table>

så vil de TD-tags, der er i det table bruge den style, der er angivet
med ".menu td", mens alle andre tags ikke vil ?
Dvs. man kan på en måde læse mellemrummet som et 'og': "klassen er menu
og tagget er td".

Tak for hjælpen
Ulrik

Bertel Lund Hansen wrote:
> >.menu td
>
> Her definerer du hvordan td skal opføre sig når det befinder sig
> inden i klassen menu.
>
> <div class='menu'>
> <table>
> <tr>
> <td>blablabla</td>
> <td>blablabla</td>
> </tr>
> </table>
> </div>
>
> Alle td-elementer har de specificerede egenskaber.

Bertel Lund Hansen (16-09-2004)
Kommentar
Fra : Bertel Lund Hansen


Dato : 16-09-04 13:59

Ulrik Svanlundh skrev:

>Ok... Så hvis jeg har noget ala
><table class="menu">
>   (...)
></table>

>så vil de TD-tags, der er i det table bruge den style, der er angivet
>med ".menu td", mens alle andre tags ikke vil ?

Ja - medmindre du et andet sted laver en anden table der også
tildeles klassen menu. Det er noget man kan med klasser: bruge
dem mange steder (men man kan også bare bruge dem ét sted).

>Dvs. man kan på en måde læse mellemrummet som et 'og': "klassen er menu

Ja.

>og tagget er td".

Nej, det kan man ikke læse i HTML-koden. Der må man til CSS-filen
for at se at der står ".menu td {". Først der bliver man klar
over at menu har sin egen opsætning af <td>.

Det kunne f.eks. også godt være at det var <tr> man havde lavet
en opsætning af.

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

Jens Gyldenkærne Cla~ (15-09-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 15-09-04 23:34

Ulrik Svanlundh skrev:

> Dvs. man kan på en måde læse mellemrummet som et 'og':
> "klassen er menu og tagget er td".

Ikke helt. Der kan sagtens være mere end én klasse der er aktiv for
et givent element. Se fx eksemplet her:

<div class="ydre">
<table class="midten">
   <tr>
   <td class="indre">Hejsa</td>
   </tr>
</table>
</div>

Her er forskellige måder at specificere kode til tabelcellen i
midten:

..ydre td{ /* fordi td-elementet er omkranset af div.ydre */ }

..midten td{
/* fordi tabellen som td-elementet ligger i har klassen midten */
}

..indre{ direkte klasse på cellen }

..ydre .midten td{ indlejring i to nivauer }


Mellemrummet kan også bruges mellem to klasser alene:

..ydre .indre {
/* noget med klassen indre inden i noget med klassen ydre */
}

- eller mellem id-værdier:

#foo #bar{ ... }

Pointen med mellemrummet er at det der står til højre skal være
indeholdt af det der står til venstre.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Søg
Reklame
Statistik
Spørgsmål : 177502
Tips : 31968
Nyheder : 719565
Indlæg : 6408534
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste