Как я могу позиционировать элементы LI в нижней части списка UL
у меня есть пункты меню, такие как: Row1 Row2.. RowN и я хочу, чтобы они не были такими широкими - вот почему включая перерывы (с максимальной шириной)
у меня есть этот HTML:
<div>
<ul>
<li>Row1</li>
<li>Row1 Row2 Row3</li>
<li>Row1</li>
<li>Row1 Row 2</li>
</ul>
</div>
С этим CSS:
/* MENU */
.menudiv {padding-left:10px; border-bottom: 1px solid #d0db88;}
ul.menu
{
list-style-type: none;
min-width: 1050px;
position: relative;
left:10px;
display: block;
height: 45px;
margin: 0;
padding: 0;
}
ul.menu li
{
float: left;
margin: 0;
padding: 0;
}
ul.menu li a
{
float: left;
text-decoration: none;
padding: 9px 12px 0;
font-weight: bold;
max-width:130px;
}
фактически:
+--------------------+
|Row1 Row1 Row1 Row1 |
| Row2 Row2 |
| Row3 |
+--------------------+
что нужно:
+--------------------+
| Row1 |
| Row2 Row1 |
|Row1 Row3 Row1 Row2 |
+--------------------+
3 ответов
использовать display: inline-block
вместо float
:
ul.menu
{
vertical-align: bottom;
}
ul.menu li
{
display: inline-block;
text-align: center;
}
EDIT: добавлено text-align: center;
. Если я правильно понял ваш комментарий, это то, что вы хотите. Если нет, вам нужно быть более конкретным.
http://css-tricks.com/what-is-vertical-align/ Эта ссылка может помочь, или вы можете создать результат в виде содержимого на основе таблицы с содержимым, выровненным по нижней части каждой ячейки.
предполагая, что ниже ваш html
<div>
<ul>
<li><a>Row1</a></li>
<li><a>Row1 Row2 Row3</a></li>
<li><a>Row1</a></li>
<li><a>Row1 Row 2</a></li>
</ul>
</div>
вы можете просто создать свой CSS следующим образом
li {
position:relative;
float:left;
}
li a {
position:absolute;
bottom:0;
}
выше код должен работать в браузерах (я не тестировал это в браузерах)