我正在尝试使用 CSS 和 Zurb Foundation 5 框架在标题面板(全宽约 250 像素高的容器)中间对齐一行文本,但由于某种原因无法使其工作。
我已经尝试过此链接http://www.vanseodesign.com/css/vertical-centering/中总结的 6 种垂直对齐方法中的每一种(行高方法、css 表格方法、绝对位置和负边距、绝对位置和拉伸,填充顶部和底部,浮动 div)。我管理过的最好的方法是将文本浮动到标题面板之外和整个页面的中间,或者将文本向上或向下移动一小段距离(看似随机),同时扭曲标题面板的高度。
它让我认为我的标题面板的 CSS 中有一些冲突(或股票基础框架中的一些冲突) - 但我无法解决。感谢任何指针。
谢谢!
我的标题面板的 CSS 紧跟在标准 ZURB 标题栏(45px 高 - 见填充)之后,如下所示:
#headerpanel {
background: linear-gradient(rgba(0, 0, 0, 0.3) , rgba(0,0,0,0.3)), url( ../../images/footerbg1.jpg);
background-size: cover;
padding: 45px 0 250px;
text-align: center;
position: relative;
}
我的 HTML 布局是:
<section id="headerpanel">
<div class="row">
<div class="large-12 columns">
<div class="spanMiddle">
<?php print @$this->heading; ?>
</div>
</div>
</div>
</section>
然后我尝试以多种方式设置 spanMiddle div 的参数 - 例如
#spanMiddle {
position: absolute;
top: 50%;
left: 50%;
height: 30%;
width: 50%;
margin: -15% 0 0 -25%;
}
我也尝试过没有以下部分,并使用专用的 p 或 span 标签(在 headerpanel css 之后立即使用 .p {} 或 .spam {} 设置):
<div class="row">
<div class="large-12 columns">
</div>
</div>
我也试过:
.spanMiddle {
position: relative;
top: 50%;
transform: translateY(-50%);
}
和
margin-top:auto;
margin-bottom:auto;
我哪里错了?