我有一个可变高度的页脚。最大的元素是通过页脚的填充自动居中的图像。在图像旁边有一个小导航和下面的版权声明。在最右边有一个按钮可以回到顶部。
我已经包含了一个小提琴,我将所有元素垂直居中,但我通过在某些元素上添加高度来获得结果。现在我的问题是,是否有办法实现这个结果,但没有增加最大元素的高度?
.footer {
background: darkgray;
}
.wrap {
position: relative;
width: 960px;
margin: 0 auto;
padding: 30px 0;
}
.wrap:after {
content: "";
display: table;
clear: both;
}
.left {
width: 29%;
float: left;
}
.left img {
height: 160px;
}
.center {
text-align: center;
float: left;
width: 50%;
height: 160px;
}
.center-wrap {
display: inline-block;
vertical-align: middle;
}
.center:before {
content: '';
display: inline-block;
height: 100%;
vertical-align: middle;
margin-right: -0.25em;
}
.right {
position: relative;
float: left;
width: 20%;
height: 160px;
}
.right a {
position: absolute;
right: 0;
top: 50%;
margin-top: -25px;
}
/* Styles */
nav ul {
list-style: none;
padding: 0;
margin: 0;
}
nav ul li {
display: inline-block;
margin-left: 20px
}
nav ul li:first-child {
margin-left: 0;
}
.right a {
display: block;
width: 50px;
height: 50px;
background: black;
}
<div class="footer">
<div class="wrap">
<div class="left">
<img src="http://placehold.it/500x500" alt="" />
</div>
<div class="center">
<div class="center-wrap">
<nav>
<ul>
<li>item 1</li>
<li>item 2</li>
<li>item 3</li>
<li>item 4</li>
</ul>
</nav>
<p>© 2015 copyright COMPANY NAME // All Rights Reserved</p>
</div>
</div>
<div class="right">
<a href="">top</a>
</div>
</div>
</div>
答案 0 :(得分:1)
只需3行CSS即可垂直对齐任何内容。
.element {
position: relative;
top: 50%;
transform: translateY(-50%);
}
坚果。
不要忘记供应商前缀。