Tôi đang cố gắng sử dụng CSS attr()
để thay đổi màu nền của phần tử giả :before
.Thay đổi pseudo: trước màu nền bằng cách sử dụng CSS attr()
<ul>
<li data-color="#ff0000">R</li>
<li data-color="#00ff00">G</li>
<li data-color="#0000ff">B</li>
</ul>
Đây là CSS
ul {
list-style: none;
}
li:before {
background-color: attr(data-color, color);
content: "";
display: inline-block;
height: 10px;
width: 10px;
}
Nhưng các yếu tố trước khi không hiển thị màu nền theo thuộc tính data-color
.
Nhưng khi tôi thêm CSS này
li:after {
content: attr(data-color);
}
Yếu tố :after
cho thấy nội dung data-color
thuộc tính như nội dung.
Đây là JS fiddle http://jsfiddle.net/b7Rve/
Tôi đã làm gì sai?
CẬP NHẬT
Tôi chỉ đọc lại về color
trong Mozilla developer docs. Nó nói rằng loại color
là thử nghiệm. Tôi đoán tôi vẫn cần đợi cho đến khi nó được thả ra.
Nó sẽ được tốt đẹp để có điều này như một tính năng, nhưng tôi tưởng tượng nó sẽ là một chặng đường dài, một khi Object.Observe là trong việc thực hiện đầy đủ. Sự căng thẳng trên các trình duyệt cần phải điều chỉnh bảng định kiểu động bất cứ khi nào giá trị DOM thay đổi, sẽ là rất nhiều công việc! –