У меня есть выпадающее меню, использующее только CSS. Я хочу, чтобы у drop down была автоматическая ширина, но она принимает ширину его родителя (как и ожидалось).Dropdown navigation automatic width
Каков наилучший способ получить автоматическую ширину? (т. е. игнорировать ширину его родителей), не определяя ширину набора.
Здесь на jsfiddle
nav{ background: #000 ; clear: both ; height: 40px ; padding: 0 10px ; }
nav ul{ list-style: none ; }
nav li{ float: left ; position: relative ; }
nav a{ display: block ; float: left ; color: #fff ; text-decoration: none ; padding-right: 30px ; font-size: 120% ; line-height: 40px ; }
nav div{ display: none ; position: absolute ; background: red ; left: 0 ; top: 40px ; }
nav li:hover div{display: block ; }
<nav>
<ul>
<li><a href="#">Home</a>
<div>
<p>example of width not working</p>
</div>
</li>
<li><a href="#">next</a>
<div>example</div>
</li>
<li><a href="#">again</a>
<div>example</div>
</li>
</ul>
</nav>
Если это не представляется возможным с помощью CSS, решение Javascript/Jquery будет достаточно.
спасибо, причина для div заключалась в том, что в раскрывающемся списке содержится несколько dl, еще лучше использовать ul> li> dl? – mononym
Я бы вообще не использовал 'dl', я бы использовал' ul> li> ul> li' – jeffreydev