Seleccionar elementos por atributo de datos en CSS
¿Es posible seleccionar elementos en CSS por sus atributos de datos HTML5 (por ejemplo, data-role
)?
4 answers
Si te refieres a usar un selector de atributos , claro, por qué no:
[data-role="page"] {
/* Styles */
}
Hay una variedad de selectores de atributos que puede usar para varios escenarios que están cubiertos en el documento al que enlazo. Tenga en cuenta que, a pesar de que los atributos de datos personalizados son una "nueva característica de HTML5",
-
Por lo general, los navegadores no tienen problemas para admitir atributos no estándar, por lo que debería poder filtrarlos con selectores de atributos; y
No tienes que hacerlo. preocúpate por la validación de CSS, ya que CSS no se preocupa por los nombres de atributos sin espacio de nombres, siempre y cuando no rompan la sintaxis del selector.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-03-26 03:22:37
También es posible seleccionar atributos independientemente de su contenido, en los navegadores modernos
Con:
[data-my-attribute] {
/* Styles */
}
[anything] {
/* Styles */
}
Por ejemplo: http://codepen.io/jasonm23/pen/fADnu
Funciona en un porcentaje muy significativo de navegadores.
Tenga en cuenta que esto también se puede usar en un selector de jQuery, o usando document.querySelector
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-12-29 05:55:09
Vale la pena señalar los selectores de atributos de subcadena CSS3
[attribute^=value] { /* starts with selector */
/* Styles */
}
[attribute$=value] { /* ends with selector */
/* Styles */
}
[attribute*=value] { /* contains selector */
/* Styles */
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-05-18 15:50:40
Puede combinar varios selectores y esto es tan genial saber que puede seleccionar cada atributo y atributo basado en su valor como href
basado en sus valores con CSS solamente..
Selectores de atributos le permite jugar alrededor de algunos extra con id
y class
atributos
Aquí está una lectura impresionante Selectores de Atributos
a[href="http://aamirshahzad.net"][title="Aamir"] {
color: green;
text-decoration: none;
}
a[id*="google"] {
color: red;
}
a[class*="stack"] {
color: yellow;
}
<a href="http://aamirshahzad.net" title="Aamir">Aamir</a>
<br>
<a href="http://google.com" id="google-link" title="Google">Google</a>
<br>
<a href="http://stackoverflow.com" class="stack-link" title="stack">stack</a>
Soporte del navegador:
IE6+, Chrome, Firefox y Safari
Puedes comprobar los detalles aquí.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-12-30 13:01:26