css - 两个行类元素,其中一个里面的元素用了定位后,影响了另一个行类元素的居中
本文介绍了css - 两个行类元素,其中一个里面的元素用了定位后,影响了另一个行类元素的居中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
1.实现这样的效果
2.问题:我给后面的a用的是height和line-height垂直居中,但是当我给span里面的em和b加上绝对定位后,后面的a就不能居中,是为什么呀?span用的relative,跟后面的a没有关系啊。
我的html结构:
<body>
<div class="newslist">
<ul>
<li><span><em>16</em><b>2016-10</b></span><a href="#">xxxxxxxxxxxxxxxxxx</a></li>
<li><span><em>16</em><b>2016-10</b></span><a href="#">xxxxxxxxxxxxxxxxx</a></li>
</ul>
</div>
</body>
CSS:
*{
margin: 0;
padding: 0;
}
li{
list-style: none;
}
.newslist{
width: 600px;
margin-left: 100px;
border: solid 1px red;
}
.newslist li span{
display: inline-block;
text-align: center;
width: 80px;
height: 60px;
background-color: #808080;
position: relative;
}
/*这里如果我给日期span里面的em,b加上absolute就会影响后面的a的居中,是为什么呢*/
/*.newslist li span em,.newslist li span b{
display: block;
width: 100%;
text-align: center;
position: absolute;
left: 0;
}
.newslist li span em{
top: 0;
}
.newslist li span b{
bottom: 0;
}*/
.newslist li a{
display: inline-block;
height: 60px;
line-height: 60px;
}
解决方案
基线问题, 加上这句.
.newslist li a{
vertical-align: top;
}
这篇关于css - 两个行类元素,其中一个里面的元素用了定位后,影响了另一个行类元素的居中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文