没有 flexbox 的元素 CSS 的中央对齐 [英] Central align of elements CSS without flexbox
问题描述
我在让文本出现在网页的屏幕中间(高度方向)时遇到问题.该网站的 HTML 是:
<头><title>示例</title><link href="example.css" rel="stylesheet">头部><身体><div class="home-container"><div class="home-row"><div class="some-other-class"><p>应该在中间的文本</p>
</html>
我想要做的是让 home-container 元素一直延伸到页面底部,并将 应该在中间的文本
放在它的中间.我的 css
看起来像:
html, body{高度:100%;}.home-容器{宽度:100%;高度:100%;背景颜色:RGBA(139,0,0,0.4);}.home-row{垂直对齐:中间;}
我明白,如果我像这样制作 home-container
,我想做的事情是可能的:
.home-container{宽度:100%;高度:100%;背景颜色:RGBA(139,0,0,0.4);对齐项目:居中;显示:弹性;}
但这不适用于所有浏览器.vertical-align
属性有什么问题?在我的示例中,Id 并没有真正做任何事情...
使用vertical-align:middle
在.home上添加
和 display:table-cell
-rowdisplay:table
在 .home-container
请参阅此处jsfiddle 或代码段
html,身体 {高度:100%;}.home-row {垂直对齐:中间;显示:表格单元格;}.home-容器{宽度:100%;高度:100%;背景颜色:rgba(139, 0, 0, 0.4);显示:表;}
<div class="home-row"><div class="some-other-class"><p>应该在中间的文本</p>