2017-04-13 190 views
1

我試圖讓另一個DIV 列表樣式位置填充剩餘空間在數值李:內,但我似乎無法讓它工作。製作格填充剩餘寬度:內

雖然我可以用列表樣式位置:外並添加間距,因爲它與重疊頁面上的其他元素,我會更喜歡裏面的定位,如果這是可能的。我計劃在名單上超過100個項目。

body { margin: 0; padding: 0; } 
 

 
ul { 
 
    list-style-position: inside; 
 
    list-style-type: decimal; 
 
    margin: 0; 
 
    padding: 0; 
 
} 
 

 
li { 
 
    width: 100%; 
 
} 
 

 
.myClass { 
 
    display: inline-block; 
 
    width: 100%; /* fill remaining space in the li */ 
 
    height: 20px; 
 
    background: #000; 
 
}
<ul> 
 
    <li><div class="myClass"></div></li> 
 
</ul>

+0

刪除display:inline-block或者如果你想每行只有一個元素,則將其設置爲block ... else用更多的html例子闡明問題...在那裏可能有什麼... –

回答

1

您可以在li使用flex,人數爲僞元素上使用CSS counter,然後設置.myClassflex-grow: 1

body { margin: 0; padding: 0; } 
 

 
ul { 
 
    list-style-position: inside; 
 
    list-style-type: none; 
 
    margin: 0; 
 
    padding: 0; 
 
    counter-reset: section;  
 
} 
 

 
li { 
 
    width: 100%; 
 
    display: flex; 
 
} 
 

 
li:before { 
 
    counter-increment: section; 
 
    content: counter(section) ". "; 
 
} 
 

 
.myClass { 
 
    display: inline-block; 
 
    height: 20px; 
 
    background: rgba(0,0,0,0.5); 
 
    flex-grow: 1; 
 
}
<ul> 
 
    <li><div class="myClass"></div></li> 
 
</ul>

+1

真棒Michael 。感謝您的回答和快速回復。我沒有考慮使用反增量和內容。學到了新東西! –

+1

@AndyHuynh你打賭,很高興它幫助。 –