微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何设置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.jb51.cc/css/216461.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。