html - CSS 居中具有背景颜色的内联元素

标签 html css text inline

我一直在尝试让一段文本在固定高度和宽度的 div 中水平和垂直居中。我还希望文本上有一个半透明的黑色背景,并且如果可能的话,它能够拉伸(stretch)到 2 行。

我遇到的问题是该行没有垂直居中,文本后面的黑色背景在新行的开头做了一些奇怪的事情。

我目前得到的代码是这样的:

HTML

<div class="description">
    <span>Welcome to the world of beautiful design, technology and music.</span>
</div>

CSS

div.description {
    width: 645px;
    height: 200px;
    margin: 0 auto;
    text-align: center;
}
div.description span {
    background: rgba(0, 0, 0, 0.5);
    color: #FFFFFF;
    font-size: 28px;
    line-height: 60px;
    padding: 10px;
}

我想模仿这种造型 http://grab.by/fwNe无需使用任何奇怪的 javascript hack 将其分成两行。

谢谢, 查理

最佳答案

有一个最优雅的方法,使用display:table-cell;

CSS 应该是

div.description {
    width: 645px;
    height: 200px;
    margin: 0 auto;
    text-align: center;
    display:table-cell; 
    vertical-align : middle;
}
div.description span {
    background: rgba(0, 0, 0, 0.5);
    color: #FFFFFF;
    font-size: 28px;
    line-height: 60px;
    padding: 10px;
}​

DEMO

关于html - CSS 居中具有背景颜色的内联元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12060154/

相关文章:

windows - 为什么 .gitignore.txt 文件在 windows10 中不显示它的名字?

wpf - 使用多种类型的控件搜索并突出显示 WPF 窗口上的任何文本

javascript - 使用 Jquery 将相同的 CSS 应用于多个 ID

CSS 类属性不覆盖 ASP

asp.net - 资源解释为样式表但在 ASP.NET IIS 中使用 MIME 类型文本/html 传输

css - 带有选择的 float DIV 在布局中创建空列,为什么?

Java 流和多行记录

html - 如何使用 flexbox 为图像留出边距?

Javascript 测验计时器

javascript - jQuery 添加/删除文本框