2012-10-10 13 views
22

Qualcuno può spiegare la differenza per questi due selettori CSS?Cosa significa il punto nel CSS?

.work-container . h3 { 
font-size: 14px; 
margin-top: 0px; 
font-weight: 600; 
height: 27px; 
} 

Qual è il punto in più nella definizione superiore?

.work-container h3 { 
font-size: 14px; 
margin-top: 0px; 
font-weight: 600; 
height: 27px; 
} 
+5

Il primo esempio non è valido CSS. Probabilmente un errore di battitura. – steveax

+0

Il CSS mi è stato dato con un sacco di proprietà strane, e io non sono l'esperto css. –

risposta

29

Un prefisso . rappresenta solitamente un selettore di classe, ma se è immediatamente seguito da spazi bianchi, allora un errore di sintassi.

Se dovessi azzardare un'ipotesi, allora è probabile l'autore intendeva dire .work-container > h3, ma perse il tasto Maiusc proprio mentre stava per digitare il carattere > (la child combinator).

Il secondo selettore, .work-container h3, indica semplicemente qualsiasi h3 contenuto in un elemento con una classe denominata work-container.

+2

Per verificare rapidamente se un foglio di stile ha errori di sintassi, http://jigsaw.w3.org/css-validator/ è molto utile. Le regole di gestione degli errori sono definite nelle specifiche su http://www.w3.org/TR/CSS21/syndata.html#parsing-errors e in questo caso implicano che l'intera regola viene ignorata (ma altre parti dello stile il foglio non è interessato). –

+0

@BoltClock, in CSS, penso che tu possa avere anche un punto intermedio come div.ui-datepicker. Come lo spiegheresti? – Jogi

6

. dice sua classe

# significa che la sua un id

e se non c'è nulla, ma il selettore, allora è un tag

10

. in CSS significa che è una classe e si può essere applicato a molti elementi.

# in CSS significa che è un ID e può essere applicato a un elemento per pagina.

Senza l'uno, è un tag, che punta a tutto l'utilizzo.

Nella sintassi, .work-container . h3 è in realtà un errore. Il . avrebbe dovuto essere , o come BoltClock detto, >, che dice l'operatore discendente diretto in CSS.

4

. in CSS significa che è una classe & può essere applicato a molti elementi con spazio uso tra le classi

Ad esempio:

<h3 class="class1 class2 class2">Heading</h3> 

# in CSS significa che è un ID e può essere applicato a un elemento per pagina.

Ad esempio

<h3 id="idname1">Heading</h3> 
20

cause inizio del

  • selettore con punto

    .class_name rappresenta il nome classe

  • Due selettore stravedeva separati da uno spazio

    .outside.inside

    mezzi elemento con .inside classe discende da un elemento con classe .outside

  • Due selettore stravedeva senza separazione

    .name1.name2

    significa elemento che ha sia classe name1 e name2 es .: class="name1 name2"

stackoverflow Link1

stackoverflow Link2

Problemi correlati