我正在使用vertical-align: middle
属性进行垂直对齐,它在Chrome中工作但不在IE中工作。
答案 0 :(得分:0)
Supposedly,IE8 +支持vertical-align
,但IE7支持有问题。对于旧版浏览器,您可能需要尝试将元素的容器CSS设置为top: 50%
或top: -50%
。
答案 1 :(得分:0)
您尝试过flexbox吗?这就是我所使用的,而且我还没有很多(如果有的话)兼容性问题,IE可能有点挑剔,但它绝对支持。
要使项目居中,请将元素的容器设置为display: flex;
,并添加align-items: center;
以将元素在容器内垂直居中。您也可以使用justify-content: center;
您可以在这里看到它得到广泛支持:https://caniuse.com/#feat=flexbox
答案 2 :(得分:-3)
如果您想在框中放置一行文字,例如标题标题,请使用line-height
例如,宽度为200px,高度为40px的盒子:
.the_box{
width: 200px;
height: 40px;
line-height: 40px;
}
它简单,优雅,跨浏览器。如果文本长于200px,则此方法无效。
答案 3 :(得分:-3)
只需添加:
display: table-cell;
答案 4 :(得分:-4)
放
style="valign:middle; vertical-align:middle;"
较新版本的IE会选择valign:middle
并忽略vertical-align:middle
。
Firefox,Chrome,Safari等所有其他浏览器都会选择vertical-align:middle
并忽略valign:middle
。
答案 5 :(得分:-4)
我也有这个问题,我的同事创建了一个日历表。日历在Chrome,Firefox中很好地查看,但日期文字在每天的左上角被截取了一半。我删除了vertical-alignment属性并将其替换为position。见下文。
原创CSS:
.dayText {
vertical-align: text-bottom;
}
我的CSS修复:
.dayText {
position: relative;
top: 10px;
left: 0px;
height: inherit;
}
答案 6 :(得分:-5)
我有类似的问题
我有以下
<div>
<span> some text </span>
</div>
这一切都在一张桌子的标题中。
通过在span
中添加以下内容,我能够解决这个问题<div>
<span style="position: absolute; padding-top:1px;"> some text </span>
</div>