Выровнять текст в нижней части div
Я попытался выровнять свой текст в нижней части div от других сообщений и ответов в stackoverflow, которые я научился обрабатывать с помощью разных свойств css. Но я не могу это сделать. В основном мой код html
выглядит следующим образом:
<div style='height:200px; float:left; border:1px solid #ff0000; position:relative;'>
<span style='position:absolute; bottom:0px;'>A Text</span>
</div>
Эффект заключается в том, что в FF я просто получаю вертикальную линию (div в сложенном виде), и текст записывается рядом с ней. Как я могу предотвратить свертывание div
, но имеющую ширину, соответствующую тексту?
Ответы
Ответ 1
Решение Flex
Это прекрасно, если вы хотите пойти с решением display: table-cell
. Но вместо того, чтобы взломать его, у нас есть лучший способ выполнить то же самое с помощью display: flex;
. flex
- это то, что имеет достойную поддержку.
.wrap {
height: 200px;
width: 200px;
border: 1px solid #aaa;
margin: 10px;
display: flex;
}
.wrap span {
align-self: flex-end;
}
<div class="wrap">
<span>Align me to the bottom</span>
</div>
Ответ 2
Теперь вы можете сделать это с помощью Flexbox justify-content: flex-end
:
div {
display: flex;
justify-content: flex-end;
align-items: flex-end;
width: 150px;
height: 150px;
border: solid 1px red;
}
<div>
Something to align
</div>