gpt4 book ai didi

html - li 内的右对齐 div 应填充高度

转载 作者:太空宇宙 更新时间:2023-11-03 23:30:14 26 4
gpt4 key购买 nike

我有以下简单的代码:

<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-value 使 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;
}

关于html - li 内的右对齐 div 应填充高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25583079/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com