【发布时间】:2011-07-14 09:15:21
【问题描述】:
我有 4 个相邻的 DIV,它们都位于屏幕中间。我在每个 div 中有 2 个单词,但我不希望它们出现在顶部,我希望它们出现在 div 的右下角。我该怎么做?
【问题讨论】:
我有 4 个相邻的 DIV,它们都位于屏幕中间。我在每个 div 中有 2 个单词,但我不希望它们出现在顶部,我希望它们出现在 div 的右下角。我该怎么做?
【问题讨论】:
将文本包装在 span 或类似名称中,并使用以下 CSS:
.your-div {
position: relative;
}
.your-div span {
position: absolute;
bottom: 0;
right: 0;
}
【讨论】:
vertical-align:bottom; 和 float:right;。不能吗?
vertical-align 仅在元素具有 display: table-cell 时才有效,这在 <div id="container">
<div><span>Two Words</span></div>
<div><span>Two Words</span></div>
<div><span>Two Words</span></div>
<div><span>Two Words</span></div>
</div>
#container{
width:450px;
height:200px;
margin:0px auto;
border:1px solid red;
}
#container div{
position:relative;
width:100px;
height:100px;
border:1px solid #ccc;
float:left;
margin-right:5px;
}
#container div span{
position:absolute;
bottom:0;
right:0;
}
【讨论】:
如果你只有一行文字并且你的 div 有固定的高度,你可以这样做:
div {
line-height: (2*height - font-size);
text-align: right;
}
见fiddle。
【讨论】:
感谢@Harry,以下代码对我有用:
.your-div{
vertical-align: bottom;
display: table-cell;
}
【讨论】:
我认为使用弹性框 (compatibility) 比使用绝对位置更好。这是我的纯 CSS 示例。
.container{
background-color:green;
height:500px;
/*FLEX BOX */
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
-webkit-justify-content: flex-start;
-ms-flex-pack: start;
justify-content: flex-start;
-webkit-align-content: stretch;
-ms-flex-line-pack: stretch;
align-content: stretch;
-webkit-align-items: flex-start;
-ms-flex-align: start;
align-items: flex-start;
}
.elem1{
background-color:red;
padding:20px;
/*FLEX BOX CHILD */
-webkit-order: 0;
-ms-flex-order: 0;
order: 0;
-webkit-flex: 0 1 auto;
-ms-flex: 0 1 auto;
flex: 0 1 auto;
-webkit-align-self: flex-end;
-ms-flex-item-align: end;
align-self: flex-end;
}
<div class="container">
TOP OF CONTAINER
<div class="elem1">
Nam pretium turpis et arcu. Sed a libero. Sed mollis, eros et ultrices tempus, mauris ipsum aliquam libero, non adipiscing dolor urna a orci.
Mauris sollicitudin fermentum libero. Pellentesque libero tortor, tincidunt et, tincidunt eget, semper nec, quam. Quisque id mi.
Donec venenatis vulputate lorem. Maecenas ullamcorper, dui et placerat feugiat, eros pede varius nisi, condimentum viverra felis nunc et lorem. Curabitur vestibulum aliquam leo.
</div>
</div>
【讨论】:
flex-direction: column 通常可以提供更好的帮助