[英]right-aligned div inside li should fill height
我有以下簡單的代碼:
<li>
<div class="stripe"></div>
<a href="#">linktext</a>
</li>
我的目標是將div
放在li
的右側,同時以固定寬度(例如10px
填充其高度。 我嘗試了此CSS,但無法正常工作:
li {
display: block;
}
.stripe {
float: right;
width: 10px;
height: 100%;
}
起作用的東西是:
li {
position: relative;
}
.stripe {
position: absolute;
height: 100%;
width: 10px;
right: 0;
}
但是,我不想在這里使用css位置屬性。 我認為應該可以在某處使用一種特殊類型的顯示屬性,但是我還沒有弄清楚在哪里。 我也讀過那個height: 100%;
需要父母的高度才能工作。 確實的確如此,將li
-height設置為px
div.stripe
會使div.stripe
具有該高度,但是我的li
應該具有可變的高度。 有什么簡單的方法可以使這項工作嗎?
這是使用最新的flexbox規范並需要現代瀏覽器的解決方案: http : //jsfiddle.net/a956kdfL/ 。
HTML:
<ul>
<li>
<div></div>
<a href = "">linktext</a>
</li>
</ul>
CSS:
* {
margin: 0;
padding: 0;
}
ul {
list-style-type: none;
}
body {
padding: 10px;
}
ul > li {
display: flex;
flex-flow: row wrap;
}
ul > li > div {
flex: 0 0 10px;
outline: 1px solid red;
}
這是使用表的更簡單解決方案: http : //jsfiddle.net/g7pxLcge/,並且可以在較舊的瀏覽器中使用。
CSS:
* {
margin: 0;
padding: 0;
}
ul {
list-style-type: none;
}
body {
padding: 10px;
}
ul > li {
display: table;
}
ul > li > div {
display: table-cell;
width: 10px;
outline: 1px solid red;
}
ul > li > a {
display: table-cell;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.