Tengo una página html con divs que tienen id (s) de la forma s1 , s2 , etc.
<div id="sections">
<div id="s1">...</div>
<div id="s2">...</div>
...
</div>
Quiero aplicar una propiedad css a un subconjunto de estas secciones / divs (dependiendo de la identificación). Sin embargo, cada vez que agrego un div , tengo que agregar el CSS para la sección por separado de esta manera.
//css
#s1{
...
}
¿Hay algo como expresiones regulares en css que pueda usar para aplicar estilo a un conjunto de divs ?
class
atributo para identificar la clase de elementos con esos IDRespuestas:
Puede administrar la selección de esos elementos sin ninguna forma de expresión regular como muestran las respuestas anteriores, pero para responder la pregunta directamente, sí, puede usar una forma de expresión regular en los selectores:
Eso dice que seleccione cualquier elemento div dentro de las #secciones div que tengan una ID que comience con la letra 's'.
Ver violín aquí .
W3 CSS selector de documentos aquí .
fuente
Como complemento de esta respuesta , puede usar
$
para obtener las coincidencias finales y*
obtener coincidencias en cualquier parte del nombre del valor.Partidos en cualquier lugar:
.col-md
,.left-col
,.col
,.tricolor
, etc.Partidos al principio:
.col-md
,.col-sm-6
, etc.Partidos en la final:
.left-col
,.right-col
, etc.fuente
Una identificación está destinada a identificar el elemento de manera única . Cualquier estilo aplicado también debería ser exclusivo de ese elemento. Si tiene estilos que desea aplicar a muchos elementos, debe agregar una clase a todos ellos, en lugar de confiar en los selectores de ID ...
y
O, en su caso específico, puede seleccionar todas las divisiones dentro de su contenedor principal, si no hay nada más dentro, así:
fuente
En primer lugar, hay muchas, muchas formas de hacer coincidir elementos dentro de un documento HTML. Comience con esta referencia para ver algunos de los selectores / patrones disponibles que puede usar para aplicar una regla de estilo a un elemento (s).
http://www.w3.org/TR/selectors/
Une todos los
div
s que son descendientes directos de#main
.Une todos los
div
s que son descendientes directos o indirectos de#main
.Empareja el primero
div
que es un descendiente directo de#sections
.Haga coincidir a
div
con un atributo específico.fuente
Puede 'simplemente agregar una clase a cada uno de sus DIV y aplicar la regla a la clase de esta manera:
HTML:
CSS:
fuente
.thepage #someid
pero puede quedarse sin aliento en tablas avanzadas o estilos de lista. No fue una crítica de su respuesta tanto como un consejo general que amplió su respuesta :-)Usualmente uso
*
cuando quiero obtener todas las cadenas que contienen los caracteres deseados.*
usado en expresiones regulares, reemplaza todos los caracteres.El uso en SASS o CSS sería algo así
[id*="s"]
y obtendrá todos los elementos DOM con la identificación "s ......".fuente
Pruebe mi expresión regular CSS genérica
Demo https://regexr.com/4a22i
fuente
También hay otra manera simple de seleccionar elementos particulares en CSS ...
Si solo tiene unos pocos elementos para elegir y no quiere molestarse con las clases, esto también funcionará fácilmente.
fuente