2015-05-16 10 views
5

को छोड़कर प्रत्येक तत्व पर मार्जिन मेरे पास पिछले तत्व को छोड़कर हर तत्व पर मार्जिन सेट करने के लिए सीएसएस की 2 पंक्तियां हैं। क्या इसे 1 लाइन में गठबंधन करने का कोई तरीका है?अंतिम

यह वही मैं वर्तमान में (काम) है:

.work img { 
    margin-right: 10px; 
} 

.work img:last { 
    margin-right: 0px; 
} 

मैं करने के लिए इसे बदलने की कोशिश की:

.work img:not(:last) { 
    margin-right: 10px; 
} 

लेकिन यह काम नहीं कर रहा? कोई विचार क्यों?

अद्यतन मेरे पास केवल पांच छवियां हैं। मेरा दूसरा विकल्प केवल पहले चार पर मार्जिन होगा।

+0

आप काम सीधे करके देख सकते हैं img: आखिरी बच्चा {मी argin-right: 0px} – Quintile

+0

@Quintile जो अभी भी सीएसएस की 2 पंक्तियों का उपयोग कर रहा है। मैं बस सोच रहा था कि क्या मैं इसे एक पंक्ति में कर सकता हूं। मेरे कोड का पहला भाग काम कर रहा है। दूसरा भाग – user4756836

+0

कारण यह नहीं है कि कोई 'आखिरी' चयनकर्ता नहीं है लेकिन हमारे पास ': अंतिम-बच्चा 'और' आखिरी-प्रकार 'है। मैं इन चयनकर्ताओं के साथ खेल रहा था और सोचा था कि यह भविष्य में किसी की मदद कर सकता है: https://jsfiddle.net/21rs5dog/ –

उत्तर

5

आप छोटी सी गलती

बदलें है:

.work img:not(:last) 

को
.work:not(:last-child) 

चेक Fiddle Here.

+0

यह काम नहीं कर रहा है – user4756836

0

इस प्रयास करें:

.work img { 
    margin-right: 10px; 
} 

.work img:last-child { 
    margin-right: 0px; 
} 

या

.work img:not(:last-child) { 
    margin-right: 10px; 
} 

या jQuery समाधान:

jQuery('.work img:not(:last)').css({marginRight: 10); 

याद रखें, चयनकर्ता के लिए समर्थन के लिए अपने ब्राउज़र की जरूरत है, तो आप शुद्ध सीएसएस लागू होते हैं।

संदर्भ के लिए इस देखें: http://caniuse.com/#search=%3Alast-child

0

आप पूर्ण ब्राउज़र समर्थन की जरूरत है, मैं कुछ जावास्क्रिप्ट का उपयोग कर, या अंतिम img पर .last के एक वर्ग को जोड़ने का सुझाव देते हैं। नहीं तो आप सिर्फ कर सकता है:

.work img:last-child { 
    margin: 0; 
}