Si tengo el siguiente div:
<div class="sectionA" id="content">
Lorem Ipsum...
</div>
¿Hay alguna manera de definir un estilo que exprese la idea "A div with id='content'
AND class='myClass'
"?
¿O simplemente tienes que ir de una manera u otra como en
<div class="content-sectionA">
Lorem Ipsum...
</div>
O
<div id="content-sectionA">
Lorem Ipsum...
</div>
css
css-selectors
Larsenal
fuente
fuente
img#Inbox
icono en su página que normalmente está configurado en un 50% de opacidad. Sin embargo, cuando el usuario tiene un mensaje, desea que esté configurado al 100% de opacidad, y el backend lo indica agregando unaactive
clase al elemento. En tal escenario, tiene sentido tener un selector que combine tanto ID como nombre de clase.code
<p id = Product_1 class = Product> Product 1 </p> <p id = Product_2 class = Product> Product 2 </p> ¿code
Esto permite un estilo general de todos los productos pero también permite un estilo individual para productos específicos?Respuestas:
En tu hoja de estilo:
Editar: Esto también podría ayudar:
y, por su ejemplo:
Editar, 4 años después: como esto es muy antiguo y la gente lo sigue encontrando: no use la etiqueta Nombres en sus selectores.
#content.myClass
es más rápido quediv#content.myClass
porque tagName agrega un paso de filtrado que no necesita. ¡Use tagNames en los selectores solo donde deba!fuente
div.class#id
debe ser equivalente aunque menos recomendado; use más partes únicas del selector primero.Hay diferencias entre
#header .callout
y#header.callout
en css.Aquí está el "inglés simple" de
#header .callout
:Seleccione todos los elementos con el nombre de la clase
callout
que sean descendientes del elemento con un ID deheader
.Y
#header.callout
significa:Seleccione el elemento que tiene un ID de
header
y también un nombre de clase decallout
.Puedes leer más aquí trucos css
fuente
No hay nada de malo en combinar un id y una clase en un elemento, pero no debería necesitar identificarlo por ambos para una regla. Si realmente quieres puedes hacer:
No necesita el
div
frente de la identificación como otros han sugerido.En general, las reglas CSS específicas de ese elemento deben establecerse con la ID, y tendrán un mayor peso que las de la clase. Las reglas especificadas por la clase serían propiedades que se aplican a varios elementos que no desea cambiar en varios lugares en cualquier momento que necesite ajustar.
Eso se reduce a esto:
¿Tener sentido?
fuente
Bueno, generalmente no debería necesitar clasificar un elemento especificado por id, porque el id siempre es único, pero si realmente lo necesita, lo siguiente debería funcionar:
fuente
Usted puede combinar Identificación y clase en el CSS, pero identificaciones están destinados a ser único, por lo que añadir una clase a un selector CSS que sobre-calificarlo.
fuente
uso:
tag.id ; tag#class
en las variables de etiqueta en su CSS.fuente
Se supone que los ID son documentos únicos en todo el documento, por lo que no debería tener que seleccionar en función de ambos. Puede asignar un elemento a varias clases aunque con
class="class1 class2"
fuente
Creo que estás todo mal. IDs versus Class no es una cuestión de especificidad; Tienen usos lógicos completamente diferentes.
Las ID deben usarse para identificar partes específicas de una página: el encabezado, la barra de navegación, el artículo principal, la atribución del autor, el pie de página.
Las clases deben usarse para aplicar estilos a la página. Digamos que tienes un sitio de revista general. Cada página en el sitio tendrá los mismos elementos: encabezado, navegación, artículo principal, barra lateral, pie de página. Pero su revista tiene diferentes secciones: economía, deportes, entretenimiento. Desea que las tres secciones tengan un aspecto diferente: economía conservadora y cuadrada, acción deportiva, entretenimiento brillante y joven.
Usas clases para eso. No desea tener que hacer varias ID: # artículo-economía y # artículo-deportivo y # artículo-entretenimiento. Eso no tiene sentido. En su lugar, definiría tres clases, .economía, deportes y entretenimiento, y luego definiría los identificadores #nav, #artículo y #footer para cada uno.
fuente
Sin embargo, no funcionará cuando el doctype sea html 4.01 ...
fuente