Я имею четыре элемента меню первый по отношению к левой стороне другие три в правую сторону, но плавали ul li
float:right;
элементы posicionan неряшливым способом.
[Menu3] [Menu2] [Menu1]
Но элементы были бы должны появляться в этом порядке:
[Menu1] [Menu2] [Menu3]
Полный код в выполнении: https://jsfiddle.net / u1eu2dku /
Как я показываю элементы в команде, но в том же рисунке меню?
.menu {
width: 100%;
float: left;
}
.menu ul li {
float: right;
list-style-type: none;
text-align: left;
}
.menu ul li a {
padding: 10px;
}
Она soluciГіn Shaz она мне кажется совершенной, но, если из-за какой-то razГіn ты нуждаешься в совместимости с мореходами, которые не выносили бы flexbox tambiГ©n pudes использовать display:inline-block
и выравнивать в правую сторону с text-align
:
.menu {
width: 100%;
float: left;
text-align:right;
}
.menu ul li {
display:inline-block;
list-style-type: none;
text-align: left;
}
.menu ul li a {
padding: 10px;
}
<div class="menu">
<ul>
<li style="float:left;">logo</li>
<li><a href="">Menu1</a></li>
<li><a href="">Menu2</a></li>
<li><a href="">Menu3</a></li>
</ul>
</div>
Одна opciГіn состоит в том, чтобы делать это с flexbox, оправдывая составные части в конце линии и позволяя первому этих "расти" для того, чтобы он занял оставшуюся часть пространства в левую сторону:
.menu {
width: 100%;
}
.menu ul {
justify-content: flex-end;
display: flex;
}
.menu ul li {
list-style-type: none;
text-align: left;
}
.menu ul li:first-child {
flex: 1;
}
.menu ul li a {
padding: 10px;
}
<div class="menu">
<ul>
<li>logo</li>
<li><a href="">Menu1</a></li>
<li><a href="">Menu2</a></li>
<li><a href="">Menu3</a></li>
</ul>
</div>