2015-04-17 8 views
6
आदेश दिया

को देखते हुए छँटाई के लिए इस्तेमाल एक इनलाइन order विशेषता के साथ flexbox बच्चों की आर्बिटरी संख्या, कैसे एक सीएसएस में पिछले आदेश दिया तत्व का चयन करेंगे?सीएसएस: पिछले चयन फ्लेक्स बच्चों

<ul style="display:flex"> 
    <li style="order: 4">a</li> 
    <li style="order: 5">b</li> 
    <li style="order: 3">c</li> 
    <li style="order: 1">d</li> 
    <li style="order: 2">e</li> 
</ul> 

:last-of-type फ्लेक्स बच्चों पर काम नहीं करता है, और सूची हो सकता है किसी भी लंबाई, इसलिए आदेश सूचकांक द्वारा एक विकल्प का चयन किया गया है नहीं। मुझे जावास्क्रिप्ट समाधान में रूचि नहीं है।

+2

आपको आदेश मानों का परीक्षण करने के लिए जावास्क्रिप्ट की आवश्यकता है, सीएसएस यह नहीं करेगा :( –

+0

संबंधित: http://stackoverflow.com/q/35355253/3597276 –

उत्तर

1

आपका कोड नहीं है पूरा। आपको अपने divs (डिस्प्ले: फ्लेक्स) में एक फ्लेक्स रैपर प्रदान करना होगा, ताकि = ऑर्डर: मान्य हो जाएगा। इसलिए, div .wrapper: पिछले वाले बच्चे चाल करना चाहिए।

+1

क्या आप निश्चित हैं? Http://codepen.io/anon/pen/ZGzLer पिछले वाले बच्चे डोम से एक बना हुआ है एक पुनर्क्रमित .so है नहीं: पहला प्रकार, nth-अंतिम के प्रकार (x), ...;) –

+0

मुझे लगता है कि तुम सही हो। सीएसएस के साथ काम नहीं कर रहा है। क्या मुझे अपना जवाब संपादित करना चाहिए? – designarti

+0

हाँ, मैंने एक 'डिस्प्ले: फ्लेक्स' माता-पिता को बताया। अभी भी शर्म की बात है कि अकेले सीएसएस से यह संभव नहीं है। प्रथम order', ': अंतिम order',':;) कार्यसमूह के लिए n वें-order' – silverwind

2

इसका एकमात्र पास समाधान

div[style="order: 6"] { 
    background-color: yellow; 
} 

हो सकता है और यह 6 आदेश के लिए पीले रंग के साथ पृष्ठभूमि रंग होगा, लेकिन क्योंकि हम सरणी की लंबाई पता नहीं है, तो यह आपको की तरह लगता है 'कुछ जावास्क्रिप्ट या इसी तरह के चयनकर्ता sintaxis साथ jQuery की आवश्यकता होगी जहां इस मामले में नंबर 6 सरणी की लंबाई के साथ एक चर हो जाएगा।

+4

हाँ, शायद मैं प्रस्ताव पेश करने चाहिए 'अपडेट किया गया – silverwind

संबंधित मुद्दे