首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在div中垂直居中div

问在div中垂直居中div
EN

Stack Overflow用户
提问于 2012-11-26 03:13:41
回答 3查看 125关注 0票数 0

假设我在一个容器div中有两个div,如下所示:

代码语言:javascript
复制
<div id="wrapper">
    <div id="title">A</div>
    <div id="text">Some text... Some text... Some text... Some text... Some text... Some text... Some text... Some text... Some text... Some text... Some text... </div>
</div>

正如您从标题中看到的,我正在尝试将div title和text在父div wrapper中垂直并相邻地对齐。到目前为止,我的css是:

代码语言:javascript
复制
#wrapper
{       
    vertical-align:middle;
    display:table-cell;
}

#title
{
    background: url('path_to_purple_background') no-repeat;
    width:45px;
    height:45px;
    color:white;    
}

#text {
    width: 700px;
}

#title, #text {
    display: inline-block;
    vertical-align: middle;
}​

但是到目前为止,我得到的是字母A并没有在我的div title中居中(相反,它位于div的左上角)。有人知道我该怎么解决这个问题吗?

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-11-26 03:36:11

这只是一个想法,但是有一个text-align:center属性可以添加到#title中,也可以添加到line-height:HEIGHT OF #TITLE;中。这将使A与圆的中心对齐,并将A的行高设置为与圆容器的高度相匹配,从而将其垂直对齐到中间。

票数 1
EN

Stack Overflow用户

发布于 2012-11-26 03:25:56

像this这样的东西怎么样?我将#test, #title的display属性设置为table-cell。

票数 0
EN

Stack Overflow用户

发布于 2012-11-26 03:50:23

vertical-align的使用经常被误解。

从W3C

垂直对齐属性影响由内联级别元素生成的框的行框内的垂直位置。

因此,如果段落中有内联图像,则可以使用它在文本规则中垂直对齐它。

在您的示例中,如果只需要垂直对齐一条规则,则可以使用旧的line-height技巧:

代码语言:javascript
复制
#title {
  height: 45px;
  width: 45px;
  line-height: 45px;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13554469

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档