试图让我的div成为一条中心线。我究竟做错了什么?

时间:2013-02-01 13:47:37

标签: css html

CSS

div.browseBuildsArea-pro {
float: left; 
position: relative;
width: 790px; 
height: 90px; 
background-image:url('images/builds/builds-bg-pro.jpg'); 
background-repeat:no-repeat;
}

div.browseBuildsArea-pro img.champion {
float: left;
display: block;
height: 72px;
margin-left: 14px;
margin-top: 7px;
border-radius: 9px;
-moz-border-radius: 9px;
-khtml-border-radius: 9px;
-webkit-border-radius: 9px;
}

div.browseBuildsArea-pro div.build-poster {
float: left;
display: block;
margin-left: 10px;
margin-top: 10px;
}

div.progress-for-build-listing {
float: left;
width: 250px; 
margin-left: 400px;
margin-top: 0px;
}

HTML

<div class="browseBuildsArea-pro">
<img class="champion" src="<%THEME%>images/lol/avatars/2.png">

<div class="build-poster">
    Test Message
</div>

<div class="progress progress-for-build-listing">
    <div class="progress-bar" style="width: 100%;"></div>
</div>
</div>

我想要实现的是基本的。

我希望“测试消息”内容自动与div的中间对齐。 (无论字符串的长度如何)另外,“进度条”和右侧的附加div也应自动居中于中间。

这是我正在寻找的预览。 http://imgur.com/TAA7t3M (div中的div和内容都自动与中间对齐。)

尝试过几件事,但都没有奏效。 (例如显示:table-cell;) 我怎样才能做到这一点?一个小例子将让我前进。

2 个答案:

答案 0 :(得分:0)

要在中间对齐文本,您需要在CSS中使用2个参数。

display:table-cell;
vertical-align:middle;

你的div也缺少高度。你必须添加它来对齐它。 对于你的代码,它将是:

div.browseBuildsArea-pro div.build-poster {
float: left;
display:table-cell;
vertical-align:middle;
height:72px;
text-align:center; // if you also want it to align in the middle horizontally
margin-left: 10px;
margin-top: 10px;
}

答案 1 :(得分:0)

对于垂直对齐,请查看以下文章: http://phrogz.net/css/vertical-align/index.html

利用我在上面文章中看到的内容:http://jsfiddle.net/tf7Cb/

如果需要,可以使用水平居中:

div.browseBuildsArea-pro div.build-poster {
   float: left;
   display: block;
   margin-left: 10px;
   margin-top: 10px;
   text-align: center;
}