如何设置CSS长度等于最长文本的长度

前端之家收集整理的这篇文章主要介绍了如何设置CSS长度等于最长文本的长度前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有相当具有挑战性的任务.

我在这里有这个菜单http://jsfiddle.net/K2Zzh/6/

如果您将鼠标悬停在“治疗”上,则下拉菜单的宽度设置为150像素,这是很好的,但是如果您将鼠标悬停在“aftercare”上,您可以看到该宽度太宽.我尝试了最小宽度,自动,内嵌块,但迄今没有运气.

而不是为每个下拉列表创建一个单独的类,是否有一个聪明的方式来设置宽度只能与每个菜单最长的文本一样大?

我使用的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>

解决方法

第一步:从.dropdown ul li a中删除固定宽度

第二步:添加css li li {width:100%;}

第三步:添加.mainNav li a {white-space:nowrap;}

已经准备好了:http://jsfiddle.net/K2Zzh/10/

原文链接:https://www.f2er.com/css/216461.html

猜你在找的CSS相关文章