2012-11-01 16 views
6

में परिभाषित किया गया है मेरे पास चार तत्व हैं जिनमें से प्रत्येक की चौड़ाई 25% पर सेट है। वे पूरी तरह से पृष्ठ की चौड़ाई भरें।किसी तत्व की चौड़ाई को पिक्सेल द्वारा कम करने के लिए कैसे करें जब इसे

मैं प्रत्येक के बीच 1px अंतर रखना चाहता हूं। अगर मैं ऐसा करता हूं (उदाहरण के लिए margin-right: 1px;), अंतिम तत्व अगली पंक्ति पर बहती है। पहली बार पिक्सेल में चौड़ाई की गणना किए बिना 1px द्वारा प्रत्येक तत्व की चौड़ाई को कैसे कम किया जा सकता है?

+1

यह सुंदर नहीं है, लेकिन आप नकारात्मक हाशिए इस्तेमाल कर सकते हैं 1px द्वारा चौड़ाई कम करने के लिए (मार्जिन: ऑटो -1 पीएक्स;) और अपने पैडिंग को 1 पीएक्स पर सेट करें। यदि आपको अपने मार्जिन को पतन करने की आवश्यकता है, तो काम नहीं करेगा। – Matthematics

+0

बॉक्स आकार देने से आपकी मदद हो सकती है: http://css-tricks.com/box-sizing/ –

+5

बहुत बुरा आप अभी भी 'चौड़ाई: 25% -1px' नहीं कर सकते हैं। वही दिन होगा! – Xhynk

उत्तर

3

मैं सिर्फ एक समाधान अपने आप को टिप्पणी में @Lubnah की मदद से पाया है,।

.tab-list li { 
    margin-right: -1px; 
    border-left: 1px solid #fff; 
} 

.tab-list li:first-of-type { 
    border-left: none; 
    margin-right: 0px; 
} 
+0

अच्छा, didn सीमा का उपयोग करने के बारे में नहीं सोचो! – Matthematics

0

चौड़ाई कंटेनर के अंदर गणना की जाती है। आपके द्वारा सेट किए गए किसी भी पैडिंग या मार्जिन को चौड़ाई में जोड़ा जाएगा।

23% करने के लिए अपने चौड़ाई सेट करें और 1% करने के लिए अपने मार्जिन

बायां हाशिया (1) के साथ साथ चौड़ाई (23) के साथ साथ सही मार्जिन (1) = 25. यही कारण है, पृष्ठ पर चार बार रखा ऊपर जोड़ देगा 100

2

को आप सीएसएस calc उपयोग कर सकते हैं, लेकिन इसके ब्राउज़र समर्थन अधूरा है:

width: calc(25% - 1px); 
width: -moz-calc(25% - 1px); 
width: -webkit-calc(25% - 1px); 
+1

यह व्यापक रूप से समर्थित होने के बाद यह अच्छा होगा ... – Matthematics

0

आप चौड़ाई ऑटो और मार्जिन-सही के साथ प्रत्येक तत्व के अंदर एक आंतरिक div होने से थोड़ा धोखा कर सकता है: 1px

इस बेला देखें: http://jsfiddle.net/7R6zZ/

<div class="outer"> 
<div class="inner">1</div> 
</div> 
<div class="outer"> 
<div class="inner">2</div> 
</div> 
<div class="outer"> 
<div class="inner">3</div> 
</div> 
<div class="outer"> 
<div class="inner">4</div> 
</div> 

.outer { 
width:25%; 
float:left; 
} 
.outer .inner { 
width:auto; 
margin-right:1px; 
background:#999; 
min-height:300px; 
} 
0

उपयोग box-sizing: border-box; और सीमाओं।

* { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; } 
div { 
    width: 25%; 
    border-right: 1px solid right; 

}

0

उपयोग बॉक्स आकार के रूप में box-sizing:border-box और पृष्ठभूमि के रूप में एक ही रंग के साथ 1px सही सीमा का उपयोग

.box{ 
     width:25%; 
     box-sizing:border-box; 
     border-right: 1px solid "same color as your background" 
} 
संबंधित मुद्दे

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