मेरे पास एक आदेशित सूची है जिसमें संभावित रूप से असीमित सूचियों की असीमित मात्रा हो सकती है। मैं प्रत्येक नेस्टेड सूची के background-color
को गतिशील रूप से बदलना चाहता हूं ताकि यह प्रगतिशील रूप से गहरा हो जाए, जिससे प्रत्येक सूची को समूहीकृत करना आसान हो जाता है।नेस्टेड स्तर के अनुसार पृष्ठभूमि रंग बदलना संभव है?
तो मैं इस बुनियादी संरचना है (कि असीम जारी रख सकते हैं): अभी
<ol class="top-level-list">
<li>
<ol>
<li>
<ol>
<li></li>
</ol>
</li>
</ol>
</li>
</ol>
, मैं यह कुछ का उपयोग कर इस तरह पूरा कर सकते हैं:
.top-level-list li ol li ol li {
background: #D4D4D4;
}
.top-level-list li ol li ol li ol li{
background: #C7C7C7;
}
जो मुझे देता है मैं क्या चाहते हैं, लेकिन यह सीमित है कि मैं कितने स्तर का उपयोग कर सकता हूं और प्रत्येक स्तर मेरी सीएसएस फ़ाइल में अधिक से अधिक डेटा जोड़ता है, जिसके परिणामस्वरूप अधिक लोड समय होता है।
क्या एक ही चयनकर्ता के साथ रंग गतिशील रूप से सेट करने का कोई तरीका है? मुझे पता है कि CSS3 ने कुछ नए सीएसएस चयनकर्ता चाल जोड़े हैं, लेकिन मुझे ऐसा कुछ दस्तावेज नहीं मिल रहा है। न ही चयनकर्ता में मूल्य बनाने के लिए मुझे चयनकर्ता का मूल्य मिल सकता है।
यह विश्वास करना मुश्किल है कि कुछ सीएसएस नियम आपके लोड समय को महत्वपूर्ण रूप से प्रभावित कर सकते हैं, लेकिन यदि आप इसके बारे में वास्तव में चिंतित हैं, तो चयनकर्ता से 'ol' को छोड़ दें - उनकी आवश्यकता नहीं है। – fred02138
क्या आपने सीएसएस संपत्ति को बदलने के लिए जावास्क्रिप्ट का उपयोग करने का प्रयास किया है? पृष्ठभूमि को प्राप्त करने और रंगों को प्रोग्रामेटिक रूप से उत्पन्न करने के लिए हेक्स मान में कुछ जोड़ने के लिए बहुत मुश्किल नहीं होगा। – Joshua
कितना 'गहरा' अगला 'li' होना चाहिए? इस तरह की गणना जावास्क्रिप्ट की जरूरत है। –