我需要跨度使文本在中心对齐。 此前我已经使用line-height来实现此目的,但是在这种情况下,某些项目的文本会更长,并且不再适用。跨度中文本的垂直对齐 - 跨度之外的文本
的jsfiddle:http://jsfiddle.net/4jSdu/
HTML:
<ul>
<li><a><span>Short</span></a>
</li>
<li><a><span>Why Should I Monitor?</span></a>
</li>
</ul>
CSS:
ul {
position: relative;
overflow: hidden;
}
span {
background-color: rgba(216, 25, 11, 0.75);
display: block;
height: 70px;
line-height: 70px;
width: 135px;
color: black;
text-align: center;
/*margin: auto 0;*/
font-weight: bold;
font-size: 15px;
position: absolute;
bottom: 14px;
}
li, a {
width: 135px;
height: 100px;
display: inline-block;
}
编辑:
我想指出,跨度元素具有价值底部:14px的。这个跨度也是动画效果。当页面加载跨度有价值底部:-70px(容器已overlfow:隐藏,sö这个跨度是看不到),然后它出现(使用.animate),并下降到14px。所以溶剂应该考虑这一点。
我无法在jsfiddle(http://jsfiddle.net/pr5cL/)中使用此动画效果,但它适用于本地创建的页面。
$("ul li:not(.img_active)").mouseenter(function() {
$(this).find("span").css("bottom","-55px");
$(this).find("span").animate({bottom:15},500);
}).mouseleave(function(){
$(this).find("span").animate({bottom:-70},500);
});
这里是链接:http://www.sheerdigitaltest.net/janus/
所以你不知道,如果文本是1或2行,对不对? 是flexbox的一个选项吗? –
什么是flexbox? – renathy
这很好,但它确实没有足够的浏览器支持我的客户端。 – renathy