2010-02-11 14 views
22

En ejemplos CSS, he visto reglas definidas comenzando con . y algunas comenzando con # - a veces estas se mezclan en el mismo archivo. ¿Cuál es la diferencia entre estas reglas:¿Cuál es la diferencia entre. y # en un archivo css?

h1 { font-size:18pt;} 
.new-alerts { font-size:11pt; font-weight:bold;} 
#old-alerts { position:relative; font-size:10pt; } 

¿Son referenciados de manera diferente en la página HTML? ¿Es así como se heredan las propiedades?

+0

Pertenece aquí: http://doctype.com/ –

+0

No estoy seguro de que lo haga. Doctype parece ser más sobre el diseño, mientras que se trata de la semántica del lenguaje en sí. – Matchu

+0

@ Jon: No necesariamente ... * »Si tu pregunta es acerca de diseño web y HTML/CSS diseño, ** y su puesto de trabajo es 'diseñador', ** preguntar en Doctype« * - Yo no creo que sea. mal aquí. – Joey

Respuesta

33

. se refiere a una clase. <span class="one" /> podría seleccionarse con .one.

# se refiere a una identificación. <span id="one" /> podría seleccionarse con #one.

que usted debe utilizar cuando las clases no puede haber más de uno de un elemento dado, e identificadores cuando se sabe que sólo habrá uno. #navigation-bar estaría usando una ID porque solo tendrá una barra de navegación en su diseño, pero .navigation-link usará un nombre de clase porque tendrá múltiples enlaces de navegación. (Sería mejor práctica utilizar #navigation-bar a:link para obtener el menú de navegación, pero que mi punto.)

+0

¿Qué significa eso? ¿En qué se diferencian? – George

+2

Son ambas maneras de agregar semánticamente información a un elemento. Si bien solo puedes marcar un elemento con un 'id' en particular, puedes tener muchos con la misma 'clase'. Usted –

+2

utilizar de identificación para una etiqueta específica, que es única y sólo se debe tener uno de la misma identificación en una página. Las clases son reutilizables y se pueden aplicar a tantos elementos como desee. –

9

El punto . es una class selector, el hash/libra/octothorpe #selects by an ID:

<style> 
    .foo { ... } 
    #bar { ... } 
</style> 
... 
<p class='foo'>Foo</p> 
<p id='bar' class='baz'>Bar</p> 

Los ID deben ser únicos en un documento, las clases no tienen que serlo. Esa es básicamente la diferencia principal. Hay algunas cosas que se deben tener en cuenta con respecto a las secuencias de comandos, pero generalmente no son de particular interés cuando se diseñan.

Además, un elemento puede pertenecer a varias clases:

<p class="foo bar baz"> 

y como hemos visto anteriormente, las clases y los identificadores no son mutuamente excluyentes.

2

. es una clase y se puede reutilizar muchas veces y para distintos elementos

# es un ID y debe ser utilizado solamente una vez en cada página.

Cuestiones relacionadas