CSS vertical-align: text-bottom;
Привет, я пытаюсь расположить текст в нижней части <div>
. Ни vertical-align:text-bottom;
или vertical-align:bottom;
Беда в том, что это мои навигационные кнопки, и если я нажимаю на них, они выходят из выравнивания.
Есть ли способ, которым я могу обойти это с моим CSS?
a:link {color:#452809}
a:hover {text-decoration:underline;color:#f00}
a:visited {color:#3886e0}
.fleft {float:left}
.fright {float:right}
.clear {clear:both}
* {border:0;margin:0}
**body {font:12px Tahoma,Arial,Helvetica,sans-serif;color:#666;background:#3cb40d}
#main {margin:0 auto;width:780px;background:#fff url(images/vitalbodyhealth.gif) no-repeat center top}
#header {width:780px;margin:10px; height:210px}
#logo {padding-right:10px;text-align:right;padding-bottom:9px;height:150px;vertical-align:text-bottom}
#logo a {text-decoration:none;text-transform:lowercase;font-style:italic;font-size:16px;color:#fff;font-weight:bold}
#logo H2 a {font-size:10px}
#buttons {padding-top:0px;height:40px;width:780px}
#buttons li {display:inline}
#buttons a {display:block;float:left;width:80px;height:26px;text-align:center;text-decoration:none;color:#fff;font-weight:bold;font-size:14px;padding-top:0px;margin-left:12px}
#buttons a:hover {width:80px;height:36px;text-decoration:underline}
#content {width:720px;margin:0 auto;padding:20px}**
.inner_copy {border:0;color:#f00;float:right;width:50%!important;margin:-100% 0 0 0;overflow:hidden;line-height:0;padding:0;font-size:11px}
#left {width:450px;padding:10px; background:#EFEFEF}
#left H1, #left H2 {color:#3cb40d;margin:0}
#left H1 {font-size:24px;padding:0}
#left H2 {font-size:18px;padding-top:10px}
#left a {color:#3886e0}
#left a:hover {text-decoration:none;color:#f00}
#left a:visited {color:#3886e0}
#right {float:right;width:240px; background:#EFEFEF}
#sidebar {width:240px;background:#EFEFEF}
#sidebar ul {margin:0;padding:0;list-style:none}
#sidebar li {margin-bottom:15px}
#sidebar li ul {padding:10px;border-top:none}
#sidebar li li {margin:0;padding:3px 0}
#sidebar li h2 {height:36px;margin:0;padding:10px 0 0 20px;background:#47872B;font-size:18px;color:#fff}
#sidebar a:link, #sidebar a:visited {text-decoration:none}
#sidebar a:hover {text-decoration:underline}
#sidebar li a {padding-left:10px;background:url(images/img09.gif) no-repeat 1px 5px}
#footer {background:#452809;height:47px;width:780px;margin:0 auto;font-size:10px;color:#fff;padding-top:23px;text-align:center;}
#footer div {padding:10px 38px}
#footer a {color:#fff;font-size:10px;text-decoration:none}
.padding {padding:10px;color:#f00;font-weight:bold}
Любая помощь будет принята с благодарностью.
:)
Ответы
Ответ 1
Современное решение
Flexbox был создан для таких проблем:
#container {
height: 150px;/*Only for the demo.*/
background-color:green;/*Only for the demo.*/
display: flex;
justify-content: center;
align-items: flex-end;
}
<div id="container">
<span>Text align to center bottom.</span>
</div>
Ответ 2
Чтобы правильно использовать vertical-align
, вы должны сделать это на теге table
. Но есть способ заставить другие html-теги вести себя как таблицу, присваивая их css display:table
вашему родителю и display:table-cell
для вашего ребенка. Тогда vertical-align:bottom
будет работать над этим дочерним элементом.
HTML:
<div class="parent">
<div class="child">
This text is vertically aligned to bottom.
</div>
</div>
CSS
.parent {
width: 300px;
height: 50px;
display: table;
border: 1px solid red;
}
.child {
display: table-cell;
vertical-align: bottom;
}
Вот живой пример: демонстрационная ссылка
Ответ 3
если ваш текст не проливается на две строки, вы можете сделать line-height: ;
в своем CSS, чем больше длина строки вы дадите, тем ниже будет контейнер.
Ответ 4
Вертикальное выравнивание работает только в некоторых случаях. Самый простой способ сделать это - установить display: table
в родительский элемент CSS и display: table-cell;
дочернему элементу, а затем применить атрибут вертикального выравнивания.
Ответ 5
Иногда вы можете играть с отступом и верхним краем, добавлять высоту строки и т.д.
См. fiddle.
Стиль и текст раздвоены из @aspirinemaga
.parent
{
width:300px;
line-height:30px;
border:1px solid red;
padding-top:20px;
}