Tôi có một danh sách có thứ tự có khả năng có số lượng danh sách lồng nhau vô hạn. Tôi đang tìm cách tự động thay đổi background-color
của mỗi danh sách lồng nhau để nó dần dần trở nên tối hơn, giúp việc nhóm các danh sách dễ hiểu hơn nhiều.Có thể thay đổi màu nền theo cấp độ lồng nhau không?
Vì vậy, tôi có cấu trúc cơ bản này (có thể tiếp tục vô hạn):
<ol class="top-level-list">
<li>
<ol>
<li>
<ol>
<li></li>
</ol>
</li>
</ol>
</li>
</ol>
Ngay bây giờ, tôi có thể thực hiện điều này bằng một cái gì đó như thế này:
.top-level-list li ol li ol li {
background: #D4D4D4;
}
.top-level-list li ol li ol li ol li{
background: #C7C7C7;
}
Đó mang lại cho tôi những gì tôi muốn, nhưng nó bị giới hạn ở mức độ mà tôi có thể sử dụng và mỗi cấp độ càng thêm nhiều dữ liệu vào tệp CSS của tôi, dẫn đến thời gian tải lâu hơn.
Có cách nào để tự động đặt màu bằng một bộ chọn không? Tôi biết CSS3 đã thêm một số thủ thuật chọn CSS mới, nhưng tôi không thể tìm thấy bất kỳ tài liệu nào như thế này. Tôi cũng không thể tìm cách tạo giá trị trong bộ chọn tương ứng với chính bộ chọn.
Thật khó để tin rằng một vài quy tắc css có thể ảnh hưởng đáng kể đến thời gian tải của bạn, nhưng nếu bạn thực sự lo lắng về nó, hãy bỏ qua 'ol' từ công cụ chọn - chúng không cần thiết. – fred02138
Bạn đã thử sử dụng javascript để thay đổi thuộc tính css chưa? Nó sẽ không quá khó để có được nền và thêm một vài vào giá trị hex để lập trình tạo ra các màu sắc. – Joshua
Bao nhiêu 'tối hơn' tiếp theo' li' phải là? các loại tính toán này cần JavaScript. –