我正在处理一些输出代码中的图像标题,我无法改变,但必须使用CSS进行样式处理,并且我很难将带有标题的div放在中心。
下面的片段显示了我的困境。句子的中点应与容器的中点对齐(在此示例中,它将表示T形状)。
#container{
width: 50px;
height: 200px;
background-color: grey;
margin-left: 300px;
position: relative;
}
#sentence{
white-space: nowrap;
background-color: lightblue;
position: absolute;
}
<div id="container">
<div id="sentence">
This is a sentence that stretched on a bit
</div>
</div>
有没有办法单独用CSS实现这个目标?
我试过了:
#container{
width: 50px;
height: 200px;
background-color: grey;
margin-left: 300px;
position: relative;
}
#sentence{
white-space: nowrap;
background-color: lightblue;
position: absolute;
left: -50%;
right:-50%;
}
<div id="container">
<div id="sentence">
This is a sentence that stretched on a bit
</div>
</div>
但是,如果没有nowrap
,句子div会重新调整大小。
答案 0 :(得分:0)
如果你知道身体(或外部容器元素)的宽度,你可以在text-align:center
上设置#sentence
,然后给它一个负左边距= body / 2 - #container / 2 :
#container{
width: 50px;
height: 200px;
background-color: grey;
margin-left: 300px;
position: relative;
}
#sentence{
width:500px;
white-space: nowrap;
background-color: lightblue;
position: absolute;
text-align:center;
left: -225px;
}
&#13;
<div id="container">
<div id="sentence">
This is a sentence that stretched on a bit
</div>
</div>
&#13;
答案 1 :(得分:0)
使用绝对值可能有点棘手,尤其是当您不知道宽度时。
如果我正确理解您的问题,您希望将文本置于图像中心。
所以,而不是与
一起去<div id="container">
<div id="sentence">
This is a sentence that stretched on a bit
</div>
</div>
我用,
<div id="container">
<div id="img-container"></div>
<div id="sentence">This is a sentence that stretched on a bit</div>
</div>
所以,现在我可以定位子元素(至少这个例子)
我的css看起来像这样。
#container{
text-align: center;
width: 50%;
position: relative;
border: 1px solid #eee;
}
#img-container {
width: 50px;
height: 200px;
background-color: grey;
display: inline-block;
}
#sentence {
width: 100%;
text-align: center;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
background-color: lightblue;
position: absolute;
top : 0;
}
我希望这就是你要找的东西。