width: attr(data-width);
Je veux savoir s’il est possible de définir une valeur CSS en utilisant l’atsortingbut de data-
HTML5 de la même manière que vous pouvez définir le content
CSS. Actuellement, cela ne fonctionne pas.
HTML
CSS
div { width: attr(data-width) }
Il existe, en effet, prévision pour une telle fonctionnalité, regardez http://www.w3.org/TR/css3-values/#attr-notation
Ce violon devrait fonctionner comme vous en avez besoin, mais pas pour le moment.
Malheureusement, il s’agit toujours d’un brouillon et n’est pas entièrement implémenté sur les principaux navigateurs.
Cela fonctionne pour le content
sur des pseudo-éléments, cependant.
Vous pouvez créer avec javascript des rules
css que vous pourrez utiliser plus tard dans vos styles: http://jsfiddle.net/ARTsinn/vKbda/
var addRule = (function (sheet) { if(!sheet) return; return function (selector, styles) { if (sheet.insertRule) return sheet.insertRule(selector + " {" + styles + "}", sheet.cssRules.length); if (sheet.addRule) return sheet.addRule(selector, styles); } }(document.styleSheets[document.styleSheets.length - 1])); var i = 101; while (i--) { addRule("[data-width='" + i + "%']", "width:" + i + "%"); }
Cela crée 100 pseudo-sélecteurs comme ceci:
[data-width='1%'] { width: 1%; } [data-width='2%'] { width: 2%; } [data-width='3%'] { width: 3%; } ... [data-width='100%'] { width: 100%; }
Note: Ceci est un peu hors-propos, et pas vraiment ce que vous (ou quelqu’un) veut, mais peut-être utile.
A ce jour, vous pouvez lire certaines valeurs des atsortingbuts de data
HTML5 dans les déclarations CSS3. Dans le violon de CaioToOn, le code CSS peut utiliser les propriétés de data
pour définir le content
.
Malheureusement, il ne fonctionne pas pour la width
et la height
(testé dans Google Chrome 35, Mozilla Firefox 30 et Internet Explorer 11).
Mais il existe un CSS3 attr () Polyfill de Fabrice Weinberg qui prend en charge data-width
data-height
et data-height
. Vous pouvez trouver le repo GitHub ici: cssattr.js .