首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用CSS居中显示文本

用CSS居中显示文本
EN

Stack Overflow用户
提问于 2013-09-12 04:33:17
回答 4查看 83关注 0票数 0

我正在使用下面的css

代码语言:javascript
复制
#header {
 color: #333;
 width: 900px;
 float: left;
 padding: 10px;
 border: 1px solid #ccc;
 height: 150px;
 margin: 10px 0px 5px 0px;
 background-image: linear-gradient(to top, #CACACA 0%, #EFEFEF 100%);
}

我有两个元素包含在一个div中。

代码语言:javascript
复制
<div id="header">
    <p:graphicImage value="/dbimages/#{accountManagedBean.imageId}" styleClass="imageResizeAccountInfo"/>
    <h:outputLabel value="#{accountManagedBean.account.userName}" style="font-size:40px"/> 
</div>

一个是图像,另一个是文本。我想图像是在左边,文本是垂直和水平居中。

实际生成的HTML如下:

代码语言:javascript
复制
    <div id="header">
        <img id="mainForm:j_idt164" src="/ui/dbimages/2805" alt="" class="imageResizeAccountInfo" />
        <label style="font-size:40px">dvargo</label> 
    </div>

目前,它们就在彼此的旁边。我是css的新手,到目前为止,我已经使用组合创建了这个。

有没有办法做到这一点?

EN

回答 4

Stack Overflow用户

发布于 2013-09-12 04:42:00

您已经在div上设置了宽度和高度,因此下面的附加CSS规则将允许div接受其内容的垂直对齐方式。

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

您可以在图像上使用float: leftposition: relative; top: xxx; left: xxx;,通过浮动将其定位到左侧,或者相对于div的左上角精确定位到左侧。另一个好的解决方案是使用图像作为div的背景(使用no-repeat),然后在div元素上使用padding-left为图像腾出空间。

JS菲德尔:示例(有一个可爱的笑脸图像,因为我没有OP的原始图像):http://jsfiddle.net/wCpfs/

票数 2
EN

Stack Overflow用户

发布于 2013-09-12 04:41:50

可以使用line-height属性将文本垂直居中。以及使用text-align:center将使您的文本移动到中心。

试试这个或类似的东西:

代码语言:javascript
复制
#header {
   text-align:center;
   line-height:150px;
}
票数 0
EN

Stack Overflow用户

发布于 2013-09-12 04:43:19

在某种程度上,因为你已经指定了高度,所以你可以把文本放在中间。

代码语言:javascript
复制
.imageResizeAccountInfo {
 float:left;
}
#header p {
  position relative;
  left: XXX;
  top: YYY;
}

相应地调整XXX和YYY。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18750710

复制
相关文章

相似问题

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