2011-01-19 6 views
9

निम्नलिखित एचटीएमएल मार्जिन-टॉप से ​​अलग होने के कारण तालिका पंक्ति div द्वारा पूरी तरह अनदेखा किया जा रहा है। और मैं समझ नहीं सकता क्यों।div प्रदर्शित क्यों करता है: तालिका-पंक्ति मार्जिन को अनदेखा करती है?

<div class='table'> 

    <div class='margin-top5 row user' id='user_113'> 
    <div class='cell left avatar margin-right5'><img alt="Blank_avatar_thumb" src="/images/blank_avatar_thumb.png?1295354025" /></div> 
    <div class='cell left'> 
     <div class='bold'><a href="/voisins/113">Dandre</a></div> 
     <div class='small of_hidden'>toothpicking, veryveryveryveeerrrryyyyyylooooooooong, kidnapping...</div> 
    </div> 
    <div class='cell right'>42</div> 

    <div class='clear'></div> 
    </div> 
    /* more rows */ 
</div> 

सीएसएस:

div.table { 
    display: table; 
    width: 100%; 
} 
div.row { 
    display: table-row; 
} 
div.cell { 
    display: table-cell; 
} 
div.left { 
    float: left; 
} 
div.right { 
    float: right; 
} 
div.clear { 
    clear: both; 
} 
.avatar { 
    vertical-align: middle; 
} 
.margin-top5 { 
    margin-top: 5px; 
} 
.margin-right5 { 
    margin-right: 5px; 
} 
.bold { 
    font-weight: bold; 
} 
.of_hidden { 
    overflow: hidden; 
} 
.small { 
    font-size: 0.8em; 
} 
body, p, ol, ul, td { 
    font-family: verdana, arial, helvetica, sans-serif; 
    font-size: 13px; 
    line-height: 18px; 
} 

संपादित:

अगर मैं पंक्ति div से .row वर्ग निकालने के लिए, यह मार्जिन टॉप उठा शुरू होता है। display: table-row; आप एक tr, tr 'की तरह व्यवहार करने के लिए एक margin ... या padding नहीं है div कह रहे हैं:

उत्तर

14

यह cullprit है।

आप padding को td पर लागू कर सकते हैं, लेकिन margin नहीं।

+1

कि बहुत counterintuitive है - यह सब के बाद div है ... और btw मार्जिन 'प्रदर्शित करने के लिए सही ढंग से लागू होता है: तालिका सेल,' (यह कोड नमूने में है) – artemave

+3

हां, मार्जिन 'डिस्प्ले: टेबल-सेल' के साथ एक div के लिए काम करता है, हालांकि आप अभी भी 'td' तत्व में मार्जिन लागू नहीं कर सकते हैं। तो फिर हमारे पास 'डिस्प्ले: टेबल-पंक्ति' है, जो व्यवहार करता है जैसे कि यह 'tr' और' display: table-cell था; 'जो 'td' जैसा व्यवहार नहीं करता है ... वास्तव में बहुत काउंटर सहज है। –

+1

@artemave - यह counterintuitive नहीं है, ऐसे कई नियम हैं जिनके लिए तत्वों पर लागू प्रदर्शन संपत्ति के मूल्य के आधार पर तत्वों पर सीएसएस गुण लागू हो सकते हैं। तत्वों के आधार पर या उसके * डिफ़ॉल्ट * प्रदर्शन मान क्या है, इस पर आधारित कोई भी नहीं है। – Quentin

2

सीमा-दूरी का उपयोग करें: 10px; प्रदर्शन के साथ div के लिए: तालिका;

संदर्भ के लिए इस लिंक का उपयोग करें: space between divs - display table-cell

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