2012-10-10 22 views
22

¿Alguien puede explicar la diferencia para estos dos selectores de CSS?¿Qué significa el punto en CSS?

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

¿Cuál es el punto extra en la definición superior?

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

El primer ejemplo no es válido CSS. Probablemente un error tipográfico. – steveax

+0

El CSS me fue otorgado con un montón de propiedades extrañas, y no soy el experto en CSS. –

Respuesta

29

Un . prefijo generalmente representa un selector de clase, pero si es seguido inmediatamente por un espacio en blanco a continuación, se trata de un error de sintaxis.

Si tuviera que aventurar una respuesta, entonces es probable que el autor quiso decir .work-container > h3, pero se perdió la tecla de mayúsculas cuando estaba a punto de escribir el carácter > (el child combinator).

Su segundo selector, .work-container h3, simplemente significa cualquier h3 que esté dentro de un elemento con una clase llamada work-container.

+2

Para comprobar rápidamente si una hoja de estilo tiene errores de sintaxis, http://jigsaw.w3.org/css-validator/ es muy útil. Las reglas de manejo de errores se definen en la especificación en http://www.w3.org/TR/CSS21/syndata.html#parsing-errors y en este caso implican que toda la regla se ignora (pero otras partes del estilo) hoja no se ven afectados). –

+0

@BoltClock, en CSS, creo que también puedes tener un punto intermedio entre algo así como div.ui-datepicker. ¿Cómo lo explicarás? – Jogi

6

. dice su clase

# su significa un id

y si no hay nada, pero el selector, entonces es una etiqueta

10

. en CSS significa que es una clase y se puede ser aplicado a muchos elementos.

# en CSS significa que es una ID y se puede aplicar a un elemento por página.

Sin las dos, es una etiqueta que se dirige a todo el uso.

En su sintaxis, .work-container . h3 es realmente un error. El . debería haber sido , o como BoltClock dijo, >, que dice que el operador descendiente directo en CSS.

4

. en CSS significa que es una clase & se puede aplicar a muchos elementos con el espacio de uso entre las clases

Por ejemplo:

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

# en CSS significa que es una ID y puede ser aplicado a un elemento por página.

Por ejemplo

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

Casos

  • Selector comienzan con punto

    .class_name significa nombre de la clase

  • Dos selector adoraba separados por espacio

    .outside.inside

    significa elemento con .inside clase descendiente de un elemento con clase .outside

  • Dos selector doted sin separación

    .name1.name2

    significa elemento que tiene tanto de clase name1 y name2 por ejemplo: class="name1 name2"

stackoverflow Link1

stackoverflow Link2

Cuestiones relacionadas