css - 使文本在绝对定位 block 中居中

标签 css

HTML:

<div style="width:200px;height:200px;background:yellow;position:relative">
    <span class="hover-content">
        <span>+</span>
    </span>    
</div>

CSS:

.hover-content{position:absolute;display:none}
div:hover .hover-content{display:block}

div 的宽度和高度是动态的,由 javascript 事件改变。我的目标是让 + 符号出现在 div 的中心,无论它如何变化。我想知道这是否可以仅通过 CSS 来完成。

JSfiddle:http://jsfiddle.net/1pwww691/

最佳答案

通过将 hover-content 元素显示为表格,并将内部的跨度显示为表格单元格,您将获得想要的结果:

.hover-content {
  display: table;
  width: 100%;
  height: 100%;
}

.hover-content span {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}

这是实际示例:http://codepen.io/TheDutchCoder/pen/GggWqP

关于css - 使文本在绝对定位 block 中居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27021635/

相关文章:

javascript - 我有一个带有幻灯片的网站,该幻灯片应该每十秒更改一次并能够手动运行

javascript - 使用滚动折叠一个 div 直到某个点

javascript - li.selected 菜单有问题

javascript - 网页如何确定是否/何时查看某些内容?

html - 导航栏是垂直的,我需要它是水平的

css - SASS/Compass 风格检查器

javascript - 在 JQuery 中为方法声明一个基变量

html - 位置堆叠 Font Awesome 图标

css - 屏幕缩小时背景尺寸被截掉了一部分

javascript - 在 CSS 中创建缩略图叠加