En CSS, ¿cuál es la diferencia entre “.” Y “#” al declarar un conjunto de estilos?

Cuál es la diferencia entre # y . cuando se declara un conjunto de estilos para un elemento y ¿cuál es la semántica que entra en juego al decidir cuál usar?

Sí, son diferentes https://stackoverflow.com/questions/602168/in-css-what-is-the-difference-between-and-when-declaring-a-set-of-styles/

# es un selector de id. , que se usa para segmentar un solo elemento específico con una identificación única, pero. es un selector de clase utilizado para apuntar a múltiples elementos con una clase particular. Para decirlo de otra manera:

  • #foo {} dará estilo al elemento único declarado con un atributo id="foo"
  • .foo {} dará estilo a todos los elementos con un atributo class="foo" (también puede asignar varias clases a un elemento, solo sepárelas con espacios, p. ej. class="foo bar" )

Usos típicos

Hablando en general, usa # para diseñar algo que sabe que solo aparecerá una vez, por ejemplo, cosas como divs de diseño de alto nivel, tales como barras laterales, áreas de pancartas, etc.

Las clases se usan donde se repite el estilo, por ejemplo, digamos que encabeza una forma especial de encabezado para los mensajes de error, puede crear un estilo h1.error {} que solo se aplicaría a

Especificidad

Otro aspecto en el que los selectores difieren es en su especificidad: se considera que un selector de id es más específico que el selector de clase. Esto significa que cuando los estilos entran en conflicto en un elemento, los definidos con el selector más específico anularán los selectores menos específicos. Por ejemplo, dado

cualquier regla para #sidebar con anulación de reglas conflictivas para .box

Obtenga más información sobre los selectores de CSS

Consulte Selectutorial para obtener más excelentes iniciadores en los selectores de CSS: son increíblemente potentes, y si su concepción es simplemente que “# se usa para DIV”, haría bien en leer exactamente cómo usar CSS de manera más efectiva.

EDITAR: parece que Selectutorial podría haber ido al gran sitio web en el cielo, así que prueba este enlace de archivo en su lugar.

El # significa que coincide con la id de un elemento. El . significa el nombre de la clase:

 
This will be red.
this will be blue.
#myRedText { color: red; } .blueText { color: blue; }

Tenga en cuenta que en un documento HTML, el atributo id debe ser único , por lo que si tiene más de un elemento que necesita un estilo específico, debe usar un nombre de clase.

El punto ( . ) Significa un nombre de clase mientras que el hash ( # ) significa un elemento con un atributo de identificación específico. La clase se aplicará a cualquier elemento decorado con esa clase en particular, mientras que el estilo # solo se aplicará al elemento con esa identificación en particular.

Nombre de la clase:

  
https://stackoverflow.com/questions/602168/in-css-what-is-the-difference-between-and-when-declaring-a-set-of-styles/...

Elemento con nombre:

  

También vale la pena señalar que en la cascada , un selector id ( # ) es más específico que el selector ab ( . ). Por lo tanto, las reglas en la statement id anularán las reglas en la statement de la clase.

Por ejemplo, si ambas de las siguientes afirmaciones:

 .headline { color:red; font-size: 3em; } #specials { color:blue; font-style: italic; } 

se aplican al mismo elemento HTML:

 

Today's Specials

el color: la regla azul anularía el color: regla roja .

Un par de extensiones rápidas sobre lo que ya se ha dicho https://stackoverflow.com/questions/602168/in-css-what-is-the-difference-between-and-when-declaring-a-set-of-styles/

Una id debe ser única, pero puede usar la misma identificación para hacer que los diferentes estilos sean más específicos.

Por ejemplo, dado este extracto de HTML:

  

Heading

https://stackoverflow.com/questions/602168/in-css-what-is-the-difference-between-and-when-declaring-a-set-of-styles/...

Puede aplicar diferentes estilos con estos:

 #sidebar h2 { https://stackoverflow.com/questions/602168/in-css-what-is-the-difference-between-and-when-declaring-a-set-of-styles/... } #sidebar .menu { https://stackoverflow.com/questions/602168/in-css-what-is-the-difference-between-and-when-declaring-a-set-of-styles/... } #content h2 { https://stackoverflow.com/questions/602168/in-css-what-is-the-difference-between-and-when-declaring-a-set-of-styles/... } #footer .menu { https://stackoverflow.com/questions/602168/in-css-what-is-the-difference-between-and-when-declaring-a-set-of-styles/... } 

Otra cosa útil que debes saber: puedes tener múltiples clases en un elemento, delimitándolas por espacios https://stackoverflow.com/questions/602168/in-css-what-is-the-difference-between-and-when-declaring-a-set-of-styles/

   

Lo que le permite tener un estilo común en .menu con estilos específicos usando .main.menu y .sub.menu

 .menu { https://stackoverflow.com/questions/602168/in-css-what-is-the-difference-between-and-when-declaring-a-set-of-styles/... } .main.menu { https://stackoverflow.com/questions/602168/in-css-what-is-the-difference-between-and-when-declaring-a-set-of-styles/... } .other.menu { https://stackoverflow.com/questions/602168/in-css-what-is-the-difference-between-and-when-declaring-a-set-of-styles/... } 

Como casi todo el mundo ya ha declarado:

Un punto ( . ) Indica una clase , y un hash ( # ) indica una identificación .

La diferencia fundamental es que puede reutilizar una clase en su página una y otra vez, mientras que una ID puede usarse una vez. Eso es, por supuesto, si te apegas a los estándares de WC3.

Una página seguirá apareciendo si tiene múltiples elementos con la misma ID, pero se encontrará con problemas si / cuando intenta actualizar dinámicamente dichos elementos llamándolos con su ID, ya que no son únicos.

También es útil tener en cuenta que las propiedades de ID sustituirán a las propiedades de clase.

.class apunta al siguiente elemento:

 

#class apunta al siguiente elemento:

 

Tenga en cuenta que la identificación DEBE ser única en todo el documento, mientras que cualquier cantidad de elementos puede compartir una clase.

El # es un selector de id. Solo coincide con los elementos con una ID coincidente. La siguiente regla de estilo coincidirá con el elemento que tiene un atributo de identificación con un valor de “verde”:

 #green {color: green} 

Vea http://www.w3schools.com/css/css_syntax.asp para más información

Aquí está mi enfoque para explicar las reglas .style y #style son parte de una matriz. que si no están en el orden correcto, pueden anularse entre sí o causar conflictos.

Aquí está la alineación.

Matriz

 #style 0,0,1,0 id .style 0,1,0,0 class 

si desea anular estos dos, puede usar

que tenga un nivel de matriz o 1,0,0,0. Y la consulta de @media anulará todo lo anterior https://stackoverflow.com/questions/602168/in-css-what-is-the-difference-between-and-when-declaring-a-set-of-styles/… No estoy seguro de esto, pero creo que el selector de ID # solo se puede usar una vez en una página.