为什么不垂直对齐:中间工作?然而,垂直对齐:顶部确实有效。
跨度{垂直对齐:中间;}<div><img src=“https://via.placeholder.com/30“alt=”小img“/><span>不起作用</span></div>
为什么不垂直对齐:中间工作?然而,垂直对齐:顶部确实有效。
跨度{垂直对齐:中间;}<div><img src=“https://via.placeholder.com/30“alt=”小img“/><span>不起作用</span></div>
当前回答
显示带对齐项目的柔性:居中;是垂直对齐项目的最佳方式
第二部分{显示:柔性;对齐项目:居中;}<div><img src=“https://via.placeholder.com/30“alt=”小img“/><span>它起作用</span></div>
其他回答
你可能想要这样:
<div>
<img style="width:30px; height:30px;">
<span style="vertical-align:50%; line-height:30px;">Didn't work.</span>
</div>
正如其他人所建议的,尝试在图像上垂直对齐:
<div>
<img style="width:30px; height:30px; vertical-align:middle;">
<span>Didn't work.</span>
</div>
CSS并不烦人。你只是没有阅读文档;P
基本上,你必须降到CSS3。
-moz-box-align: center;
-webkit-box-align: center;
第二部分{显示:柔性;对齐项目:居中;}<div><img src=“http://lorempixel.com/30/30/“alt=”小img“/><span>它起作用了</span></div>
以下是一些简单的垂直对齐技术:
单行垂直对齐:中间
这很简单:将文本元素的行高度设置为等于容器的行高度
<div>
<img style="width:30px; height:30px;">
<span style="line-height:30px;">Doesn't work.</span>
</div>
多行垂直对齐:底部
相对于容器绝对定位内部div
<div style="position:relative;width:30px;height:60px;">
<div style="position:absolute;bottom:0">This is positioned on the bottom</div>
</div>
多行垂直对齐:中间
<div style="display:table;width:30px;height:60px;">
<div style="display:table-cell;height:30px;">This is positioned in the middle</div>
</div>
如果您必须支持IE的早期版本<=7
为了让它在所有方面都能正常工作,你必须稍微修改一下CSS。幸运的是,有一个IE bug对我们有利。在容器上设置top:50%,在内部div上设置top:-50%,可以获得相同的结果。我们可以使用IE不支持的另一个功能将两者结合起来:高级CSS选择器。
<style type="text/css">
#container {
width: 30px;
height: 60px;
position: relative;
}
#wrapper > #container {
display: table;
position: static;
}
#container div {
position: absolute;
top: 50%;
}
#container div div {
position: relative;
top: -50%;
}
#container > div {
display: table-cell;
vertical-align: middle;
position: static;
}
</style>
<div id="wrapper">
<div id="container">
<div><div><p>Works in everything!</p></div></div>
</div>
</div>
可变容器高度垂直对齐:中间
此解决方案需要比其他解决方案稍微更现代的浏览器,因为它使用了transform:translateY属性。(http://caniuse.com/#feat=transforms2d)
无论父元素的高度如何,将以下3行CSS应用于元素将在其父元素中垂直居中:
position: relative;
top: 50%;
transform: translateY(-50%);
对于记录,对齐“命令”不应该在SPAN上工作,因为它是一个内嵌标记,而不是块级标记。对齐、边距、填充等功能在内联标记上不起作用,因为内联的目的是不中断文本流。
CSS将HTML标记分为两组:内联和块级。搜索“css block vs inline”,会出现一篇很棒的文章。。。
http://www.webdesignfromscratch.com/html-css/css-block-and-inline/
(理解CSS的核心原则是它不那么烦人的关键)