2012-03-15 15 views
13

Duplicar posibles:
Why selecting by ID is not recommended in CSS?¿Por qué no debería usar ID de estilo con CSS?

He estado leyendo en un sinnúmero de temas y artículos que nunca se debe utilizar el atributo "id" para dar estilos CSS, pero en lugar clases.

Sé que las clases son reutilizables, pero solo eso no parece ser un argumento lo suficientemente fuerte como para no usarlas. Al final, se necesitan ID para javascript, entonces ¿por qué no aprovecharlos, ya que no van a ir a ninguna parte?

¿Puede alguien explicarme los motivos de estas opiniones?

+4

¿Puede decirnos quién lo dijo? – m90

+1

Alguna vez es un poco estricto, aunque la primera vez que necesita usar una definición en más de un elemento, en una página, es foobar ... – xandercoded

+2

[csslint] (http://csslint.net/) es estricto sobre usando ID selectores. – zzzzBov

Respuesta

13

ID de estilo va en contra de DRY principios y es algo que debe evitarse, si tiene sentido. Hay situaciones en las que necesita diseñar un solo objeto y sabe que nunca se compartirá con ninguna otra cosa en la página, así que creo que decir nunca IDs de estilo es poco sincero, siempre que sepa el riesgo de mantenimiento y es aceptable hacer lo que necesita hacer para hacer el trabajo.

+1

Los ID son buenos cuando se selecciona un elemento de DOM con javascript.Cuando sabes que alguna vez va a ser un elemento utilizado para esta tarea, como el contenedor de algún deslizador jQuery. – Tomasz

+0

Acepto, pero esta es una pregunta sobre CSS, no sobre JavaScript. – JaredMcAteer

+2

Es por eso que esto es comentario no respuesta;) – Tomasz

16

No hay ninguna razón en particular para evitar el uso de ID-selectores. No creas todo lo que lees

Dicho esto, si diseña todo con ID, está perdiendo los beneficios de las clases.

3

estilismo de id está bien en sí mismo, pero en general sólo se debería utilizar para las excepciones si desea maximizar en sus clases de ser reutilizable. Por ejemplo:

<div id="myid" class="box"></div> 
.box { 
    padding:1em; 
    border:1px solid #ccc; 
    color:#222; 
} 
#myid { 
    padding:2em; 
} 

Si se diseñará principalmente por id, sugiere que puede estar escribiendo CSS redundante y no tomar ventaja de las clases y la cascada suficiente.

6

Si usted está buscando una regla de oro para cuándo utilizar identificaciones, aquí hay uno que el código I por:

  • más elementos que no son repetitivas, tales como #top:

    de ID , #wrapper, #footer, etc.

  • Elementos que deben identificarse mediante un script externo o similar.
  • <a name="anchor_name" id="anchor_name"><a> situaciones. Una buena práctica de codificación es dar una identificación a los anclajes.
Cuestiones relacionadas