OK Я думаю, что это намного проще. Надеюсь, вы не против, что я не использовал тот же html-макет, который вы сделали ... но он делает то же самое. Кроме того, вы должны использовать только неупорядоченные списки <ul></ul>
для этого, и используйте <div></div> <span></span>, etc
для заказа ваших макетов , Во всяком случае, здесь более простой вариант того, что вы хотите сделать: jsfiddle
Обновлено:
К сожалению, я на работе, так что я быстро пытался дать ответ, не занимая слишком много времени, чтобы объяснить это .. . Вероятно, это не полезно. В любом случае, вот информация о том, что я сделал.
В основном вы берете внешний div и назначаете ему класс меню. Дайте родительскому div или меню в нашем случае высоту и ширину. Затем поместите каждую ссылку в свой собственный div. Это будут детские подразделения.
Css для детей дает им процент от ширины родителя и 100% его высоты. Обязательно создайте встроенный блок отображения, чтобы они были в строке и не складывались друг на друга. ОК до сих пор я думаю, что все довольно легко понять из кода css, но вот сложная часть:
Чтобы получить выравнивание по вертикали, вы сдвинете их на 50% от высоты своего родителя. .. сверху: 50%. Затем вам нужно отрегулировать свою высоту. Вы можете сделать это, используя transform: translateY (-50%); который перемещает элемент вверх на 50% от собственной высоты.Это очень короткий, и вы можете прочитать больше из статьи, которую я сначала прочитал на эту тему здесь: Vertically Center Elements
А вот код:
HTML:
<div id="menu">
<div class="child">
<a href="/joomla31/">Somos</a>
</div>
<div class="child">
<a href="/joomla31/index.php/segunda-pagina">Segunda Página</a>
</div>
<div class="child">
<a href="#">Este es un texto largo para el menú</a>
</div>
</div>
CSS:
#menu{
width: 100%;
height: 100px;
display: block;
}
.child{
margin: 1%;
background-color:#3d2f2f;
width: 30%;
height: 100%;
text-align: center;
display: inline-block;
}
a{
background: #ffdb4c;
position: relative;
top: 50%;
transform: translateY(-50%);
}
Можно ли добавить дополнительные наценки? –
вам нужно установить text-align в родительский элемент –