par*_*cus 52 html css text vertical-alignment
我试图将我的文本与其他帖子和div的底部对齐stackoverflow我学会用不同的css属性来处理这个问题.但我无法完成它.基本上我的html
代码是这样的:
<div style='height:200px; float:left; border:1px solid #ff0000; position:relative;'>
<span style='position:absolute; bottom:0px;'>A Text</span>
</div>
Run Code Online (Sandbox Code Playgroud)
结果是在FF中我只得到垂直线(以折叠方式的div)并且文本被写在它旁边.如何防止div
折叠但宽度适合文本?
Mr.*_*ien 98
如果您想要使用该display: table-cell
解决方案,那就完美了.但是,我们有更好的方法来实现相同的使用,而不是将其破解display: flex;
.flex
是一个有良好支持的东西.
.wrap {
height: 200px;
width: 200px;
border: 1px solid #aaa;
margin: 10px;
display: flex;
}
.wrap span {
align-self: flex-end;
}
Run Code Online (Sandbox Code Playgroud)
<div class="wrap">
<span>Align me to the bottom</span>
</div>
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,我们首先父元素设置为display: flex;
后来,我们使用align-self
到flex-end
.这有助于您将项目推送到flex
父项的末尾.
flex
)如果要将文本对齐到底部,则不必为此编写这么多属性,使用display: table-cell;
with vertical-align: bottom;
就足够了
div {
display: table-cell;
vertical-align: bottom;
border: 1px solid #f00;
height: 100px;
width: 100px;
}
Run Code Online (Sandbox Code Playgroud)
<div>Hello</div>
Run Code Online (Sandbox Code Playgroud)
Zeq*_*uez 37
您现在可以使用Flexbox执行此操作justify-content: flex-end
:
div {
display: flex;
justify-content: flex-end;
align-items: flex-end;
width: 150px;
height: 150px;
border: solid 1px red;
}
Run Code Online (Sandbox Code Playgroud)
<div>
Something to align
</div>
Run Code Online (Sandbox Code Playgroud)
请咨询您的Caniuse,了解Flexbox是否适合您.