2012-10-18 9 views
12

मैं एक ग्रिड सिस्टम में टेबल-सेल तत्वों का उपयोग करने की कोशिश कर रहा हूं जो नेस्टेड ग्रिड तत्वों पर बाएं और दाएं गटर को खत्म करने के लिए पंक्तियों पर नकारात्मक मार्जिन का उपयोग करता है। यह जारी और इनलाइन-ब्लॉक तत्वों पर ठीक काम करता है, लेकिन display: table साथ तत्वों, जबकि नकारात्मक बाईं मार्जिन का सम्मान, नकारात्मक सही मार्जिन पर ध्यान न दें:,तालिका तत्व पर नकारात्मक दाएं मार्जिन का उपयोग नहीं कर सकते?

Table with negative right margin

अजीब हाँ? एक साधारण प्रदर्शन: http://jsfiddle.net/57FAN/1/

दुर्भाग्य से, सभी ब्राउज़रों ने इसे वैसे ही लागू किया है। कोई विचार?

पीएस आइए फ्लेक्स बॉक्स मानकीकृत होने तक लेआउट के लिए टेबल- * तत्वों पर बहस स्थगित कर दें।

+0

लेआउट के लिए टेबल पर बहस को स्थगित करने जैसे वहाँ लेआउट के लिए तालिकाओं का उपयोग करने के लिए कोई कारण नहीं है कोई कारण नहीं है। – Kyle

+3

@KyleSevenoaks ओपी टेबल का उपयोग नहीं कर रहा है, वह टेबल डिस्प्ले गुणों का उपयोग कर रहा है। नियम लेआउट के लिए टेबल टैग का उपयोग नहीं करना है क्योंकि यह टैब्यूलर डेटा व्यक्त करने के लिए डिज़ाइन किया गया है, न कि आप गैर-तालिका तत्व तालिका की तरह दिख सकते हैं। – cimmanon

+0

ओह ठीक है, मैंने उसे पकड़ नहीं लिया। बेशक प्रदर्शन का उपयोग: तालिका; संपत्ति पूरी तरह से कानूनी है (कटाक्ष नहीं)। इसे साफ करने के लिए धन्यवाद। – Kyle

उत्तर

6

तालिका नकारात्मक मार्जिन को अनदेखा नहीं करती है, लेकिन चौड़ाई में केवल 100% है और बाईं ओर 5px स्थानांतरित है। ग्रे क्षेत्र को पूरी तरह से भरने के लिए आपको "100% + 2 * 5px" की आवश्यकता होगी।

पंक्ति में चौड़ाई नहीं है, इस प्रकार पूरी चौड़ाई उपलब्ध है।

आप

.row { 
    margin: 0 -5px; 
    width: 100%; 
} 

का प्रयोग करेंगे, तो आपको लगता है कि चौड़ाई बराबर

+0

आह, आप सही हैं। मैंने उस चौड़ाई पर विचार नहीं किया: ब्लॉक स्तर तत्व पर ऑटो हमेशा चौड़ाई के समान नहीं है: 100%। –

0

आपका कोड margin अधिक से padding संपत्ति के कर रहे हैं देखना होगा। तो ऐसा लगता है। यहां मैंने कुछ कोड सही किए हैं।

Fiddle DEMO

+0

धन्यवाद सेल्वा, लेकिन मार्जिन और पैडिंग ग्रिड सिस्टम का हिस्सा हैं और इसे हटाया नहीं जा सकता है। –

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