Подтвердить что ты не робот

Как установить ширину css, равную длине самого длинного текста

У меня есть довольно сложная задача.

У меня есть это меню здесь... http://jsfiddle.net/K2Zzh/6/

Если вы наведите указатель мыши на "лечение", ширина раскрывающегося меню будет установлена ​​на уровне 150 пикселей, что прекрасно, однако, если вы наведите курсор мыши на "aftercare", вы увидите, что эта ширина слишком широкая. Я попробовал min-width, auto, inline-block, но пока не повезло.

Вместо того, чтобы создавать отдельный класс для каждого раскрывающегося списка, существует ли разумный способ установки ширины только в размере самого длинного текста в меню?

Код css, который я использовал для выпадающего списка...

.dropdown ul {
  position: absolute;
  top: 43px;
  z-index: 100;
  border-left: 1px solid #f6634c;
  border-bottom: 1px solid #f6634c;
  border-right: 1px solid #f6634c;
}
.dropdown ul li a {
  background-color: #fff;
  width: 150px;
  text-align: left;
}​

Спасибо заранее.

Мой HTML-код...

<ul class="mainNav">
  <li><a href="">Home</a></li>
  <li class="dropdown">
    <a href="">Treatments</a>
    <ul>
      <li><a href="">Body Treatments</a></li>
      <li><a href="">Make Up</a></li>
      <li><a href="">Skincare</a></li>
      <li><a href="">Hand & Feet Treats</a></li>
      <li><a href="">Hair Removal</a></li>
      <li><a href="">Alternative Therapies</a></li>
      <li><a href="">Eye Enhancements</a></li>
    </ul>
  </li>
  <li><a href="">Gallery</a></li>
  <li class="dropdown">
    <a href="">Aftercare</a>
    <ul>
      <li><a href="">Body</a></li>
      <li><a href="">Make up</a></li>
      <li><a href="">Skin</a></li>
      <li><a href="">Hand</a></li>
    </ul>
  </li>
  <li><a href="">Contact</a></li>
</ul>
4b9b3361

Ответ 1

первый шаг: удалить фиксированную ширину с .dropdown ul li a

второй шаг: добавьте css li li {width:100%;}

третий шаг: добавьте .mainNav li a {white-space:nowrap;}

Готово: http://jsfiddle.net/K2Zzh/10/

Ответ 3

Поместите ширину в "li" вместо "a", и вы также можете использовать прописку

.dropdown ul li {
    width: auto;
    padding:5px;
    display:block;
}​

Я думаю, что он должен работать