在div中垂直居中定位图标。
在div中垂直居中定位图标。
我想在我的div中央垂直地放置我的放大镜。
我应该如何做到这一点?
演示: http://jsfiddle.net/6ewn37gt/
span.text-content { 背景: rgba(23, 165, 195, 0.5); 颜色: 白色; 光标: 指针; 显示: 表格; 不透明度: 0; 宽度: 100%; 高度: 100%; -webkit过渡: 不透明度 500ms; -moz过渡: 不透明度 500ms; -o过渡: 不透明度 500ms; 过渡: 不透明度 500ms; } ul li:hover span.text-content { 不透明度: 1; }
问题的原因是希望将一个图标垂直居中在一个 div 元素中,但是没有垂直居中。解决方法是将 div 元素的 display 属性设置为 table-cell,并添加 vertical-align 属性设置为 middle,以实现垂直居中效果。
代码如下所示:
在上述代码中,将 div 元素的 display 属性设置为 table-cell,将 vertical-align 属性设置为 middle。这样就可以实现图标在 div 元素中垂直居中的效果。
此外,还可以给 span 元素添加一个类,并应用以下样式:
span.text-content { background: rgba(23, 165, 195, 0.5); color: white; cursor: pointer; display: table; opacity: 0; width: 100%; height: 100%; -webkit-transition: opacity 500ms; -moz-transition: opacity 500ms; -o-transition: opacity 500ms; transition: opacity 500ms; } ul li:hover span.text-content { opacity: 1; } .imgCont { display: table-cell; vertical-align: middle; text-align: center; }
上述样式为 span 元素设置了背景、颜色、鼠标指针、宽度、高度、过渡等属性,并且通过设置 opacity 属性实现了鼠标悬停时的透明度变化效果。同时,通过给 span 元素内部的 span 元素添加 imgCont 类,并将其 display 属性设置为 table-cell,vertical-align 属性设置为 middle,text-align 属性设置为 center,实现了图标的垂直居中和水平居中。
通过以上的代码和样式设置,图标就能够垂直居中在 div 元素中。