I'm trying to add color to different element with a data attribute in my css but doensn't work ...
I follow this instructions :
The attr() Function: Properties Values Collected from the Edited Document.
HTML
<table>
<tr>
<td>
<span class="bgborder" data-color="#e7663f"></span>
<i class="fa fa-copy"></i>
</td>
<td>
<span>Blaablaaablaaa</span>
</td>
</tr>
</table>
<table>
<tr>
<td>
<span class="bgborder" data-color="#77c385"></span>
<i class="fa fa-upload fa-fw"></i>
</td>
<td>
<span>Blablaablaaa</span>
</td>
</tr>
</table>
CSS
.bgborder {
display: block;
width: 5px;
height: 100%;
position: absolute;
top: 0;
background-color: attr(data-color color);
}
Nothing appears...Am I right ?
In my chrome inspector I have this :
background-color: attr(data-color color);
/!\ Invalid property value
I don't understand why... ???
Thanks for your help :)
You can pass css values from html:
to css:
source: https://css-tricks.com/css-attr-function-got-nothin-custom-properties/ codepen: https://codepen.io/chriscoyier/pen/EbxVME
Always a good idea to read the documentation: https://developer.mozilla.org/en/docs/Web/CSS/attr
Surprise! If nothing supports it, then it won't work ;)
Alternative: If you know you only have a limited range of colours, try:
As you can see, this allows flexibility, such as defining your own colours ;)
I guess that you are looking is CSS variables and you can use at Chrome, Firefox and Safari. Check the browser support at Can I use
And can see more at the video from Lea Verou
If you are talking only about colors, you can use currentColor value as a proxy.
For example:
HTML
CSS
Currently, the CSS
attr
function can only be used with thecontent
property in browsersSee here for compatibility
Per the CSS2 spec:
CSS3 will extend this (proposal)