Извините, я не могу разместить этот код где-либо в данный момент, но, надеюсь, скриншоты помогут. Я пытаюсь точно расположить подменю ul под li переменной ширины, например:
Вот урезанная версия моего макета:
<div class="nav">
<ul class="menu">
<li>
<a href="">Home</a>
</li>
<li>
<a href="">Kids</a>
<ul class="sub-menu">
<li><a href="">Sub-item 1</a></li>
<li><a href="">Sub-item 2</a></li>
</ul>
</li>
<li>
<a href="">Students</a>
</li>
<li>
<a href="">Adults</a>
<ul class="sub-menu">
<li><a href="">Sub-item 1</a></li>
<li><a href="">Sub-item 2</a></li>
</ul
</li>
</ul>
</div>
У меня есть стрелка в подменю, работающая и выровненная по центру подменю ul, но само подменю не выравнивается правильно с его родительским li, как вы можете видеть здесь. Показанные подменю предназначены для li для детей и li для взрослых, как указано выше:
Это соответствующий код, я полагаю. Любая помощь приветствуется!
.menu li {
display:inline-block;
list-style-type: none;
position: relative;
}
.menu li a {
background:url("_/images/nav-cross-home.png") 50% 5px no-repeat;
display:inline-block;
padding:30px 5px 2px;
text-transform: uppercase;
text-decoration: none;
color:#000;
font-family:proxima-nova, Arial, Helvetica, sans-serif;
font-weight:700;
font-size:.9em;
margin: 0 auto 10px;
}
.nav ul ul {
display: block;
position: absolute;
margin: 10px 0px 0px -15px;
top: 3.333em;
left: -125%;
width: 170px;
z-index: 99999;
border:2px solid #929292;
}
.nav ul.menu ul.sub-menu a {
background: #fff !important;
border-bottom: 1px solid #e5e5e5;
color: #444;
font-size: .9em;
text-transform: none;
height: auto;
line-height: 1.4em;
padding: 10px 10px;
width: 150px;
margin-bottom:0px;
}