2017-07-13 2 views
17

पर दिखाई देता है मेरे पास 2 कॉलम के साथ <ul> है।सीएसएस: कई कॉलम उल में अंतिम ली पर सीमा-तल गलत स्थिति

border-bottom पहले कॉलम में अंतिम आइटम के दूसरे कॉलम के शीर्ष पर दिखाई देता है।

बेला देखें: https://jsfiddle.net/6b7bkomo/

ul { 
 
    column-count: 2; 
 
} 
 

 
li { 
 
    list-style-type: none; 
 
    border-bottom: 1px solid red; 
 
    box-sizing: border-box; 
 
}
<ul> 
 
    <li>a</li> 
 
    <li>b</li> 
 
    <li>c</li> 
 
    <li>d</li> 
 
    <li>e</li> 
 
    <li>f</li> 
 
    <li>g</li> 
 
</ul>

केवल सूची आइटम की विषम संख्या के साथ होता है। क्रोम और एज में होता है, फ़ायरफ़ॉक्स में नहीं होता है।

ऐसा क्यों होता है?

मैं इसे कैसे ठीक कर सकता हूं?

धन्यवाद!

+0

[पूछना] पढ़ने जाना करें। सभी प्रासंगिक कोड सीधे आपके प्रश्न में हैं। – CBroe

+0

कृपया एक स्निपेट के रूप में प्रासंगिक कोड जोड़ें, इसके लिए संपादक में <> - प्रतीक – Esko

+0

के साथ एक उपकरण है [सीएसएस कॉलम के संभावित डुप्लिकेट - अगर तत्व कॉलम के नीचे है तो बल तोड़ें] (https://stackoverflow.com/प्रश्न/36657364/सीएसएस-कॉलम-बल-ब्रेक-अगर-तत्व-नीचे-नीचे-कॉलम) –

उत्तर

19

आप अपने <li> तत्व को break-inside: avoid-column; जोड़ने के लिए:

ul { 
 
    -webkit-column-count: 2; 
 
    -moz-column-count: 2; 
 
      column-count: 2; 
 
} 
 
li { 
 
    break-inside: avoid-column; 
 
    list-style-type: none; 
 
    border-bottom: 1px solid red; 
 
}
<ul> 
 
    <li>a</li> 
 
    <li>b</li> 
 
    <li>c</li> 
 
    <li>d</li> 
 
    <li>e</li> 
 
    <li>f</li> 
 
    <li>g</li> 
 
</ul>

आप दो स्तंभों को परिभाषित है, तो 7 <li> तत्वों इन दो कॉलम में ले जाया गया बराबर हैं। पहली कॉलम से शुरू होने वाली चौथी पंक्ति और दूसरे कॉलम में समाप्त होने (पहले कॉलम पर 50%/50% दूसरे कॉलम)।

3

आप column-break-insideli तत्व के अंदर उपयोग कर सकते हैं

ul { 
 
    column-count: 2; 
 
} 
 

 
li { 
 
    list-style-type: none; 
 
    border-bottom: 1px solid red; 
 
    box-sizing: border-box; 
 
    column-break-inside: avoid; 
 
    -webkit-column-break-inside: avoid; 
 
    break-inside: avoid-column; 
 
}
<ul> 
 
    <li>a</li> 
 
    <li>b</li> 
 
    <li>c</li> 
 
    <li>d</li> 
 
    <li>e</li> 
 
    <li>f</li> 
 
    <li>g</li> 
 
</ul>

+0

जैसा कि मुझे लगता है कि यह आईई 11 के तहत काम नहीं करेगा – Serverfrog

0

नीचे कोड की जाँच करें; यह आपकी मदद कर सकता है। मैंने इस कोड की जांच की; यह ठीक काम कर रहा है।

<style> 
.menus 
{ 
    column-count: 2; 
} 

.menus li 
{ 
    list-style-type: none; 
    border-bottom: 1px solid red; 
    box-sizing: border-box; 
    -webkit-column-break-inside: avoid; 
    -moz-column-break-inside:avoid; 
    -moz-page-break-inside:avoid; 
    page-break-inside: avoid; 
    break-inside: avoid-column; 
    } 
</style> 

<ul class="menus"> 
    <li>a</li> 
    <li>b</li> 
    <li>c</li> 
    <li>d</li> 
    <li>e</li> 
    <li>f</li> 
    <li>g</li> 
</ul> 
संबंधित मुद्दे