css - Foundation 6.4.1 - 如何修复下拉菜单的宽度?

标签 css zurb-foundation

如何固定下拉菜单项的宽度?

.row,
.grid-container {
  border: 1px solid blue;
}

.menu>li>a {
  line-height: 40px;
}

.menu>li>a:hover {
  border-bottom: 1px solid red;
}

.menu ul li a {
  line-height: normal;
  width: 100%;
  text-align: center;
}

.menu ul li:hover {
  background-color: #eee;
}

.menu ul {
  max-width: 200px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/foundation/6.4.1/css/foundation.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/foundation/6.4.1/js/foundation.min.js"></script>

<div class="row">
  <ul class="menu align-center dropdown" data-dropdown-menu>
    <li>
      <a href="#">One</a>
      <ul class="menu vertical">
        <li><a href="#">One One One One One very long title</a></li>
        <li><a href="#">Two</a></li>
        <li><a href="#">Three</a></li>
      </ul>
    </li>
    <li><a href="#">Two</a></li>
    <li><a href="#">Three</a></li>
    <li><a href="#">Four</a></li>
  </ul>
</div>

<script>
  $(document).foundation();
</script>

如您所见,我已将下拉菜单项固定为 200px,但带有长文本的元素在框内运行。如何固定宽度以使文本始终在框内?正确的做法是什么?如果文本很长,则应将文本分成多行。

这可能吗?

最佳答案

尝试添加这个类“ul.vertical li a”

并在a标签中添加title

.row,
.grid-container {
  border: 1px solid blue;
}

.menu>li>a {
  line-height: 40px;
}

.menu>li>a:hover {
  border-bottom: 1px solid red;
}

.menu ul li a {
  line-height: normal;
  width: 100%;
  text-align: center;
}

.menu ul li:hover {
  background-color: #eee;
}
ul.vertical li a {
display: inline-block;
max-width: 100%;
white-space: nowrap;
overflow: hidden!important;
text-overflow: ellipsis;
}
.menu ul {
  max-width: 100px;
}
.dropdown.menu>li.opens-right>.is-dropdown-submenu{
min-width: 100px !important;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/foundation/6.4.1/css/foundation.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/foundation/6.4.1/js/foundation.min.js"></script>

<div class="row">
  <ul class="menu align-center dropdown" data-dropdown-menu>
    <li>
      <a href="#">One</a>
      <ul class="menu vertical">
        <li><a href="#" title="One One One One One very long title<">One One One One One very long title</a></li>
        <li><a href="#">Two</a></li>
        <li><a href="#">Three</a></li>
      </ul>
    </li>
    <li><a href="#">Two</a></li>
    <li><a href="#">Three</a></li>
    <li><a href="#">Four</a></li>
  </ul>
</div>

<script>
  $(document).foundation();
</script>

关于css - Foundation 6.4.1 - 如何修复下拉菜单的宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45269978/

相关文章:

javascript - 图像在 IE 中显示较低

html - 使用背景图片扩展 DIV

javascript - PowerBI Embedded 垂直滚动条不可见

html - 浏览器调整大小时的英雄图片倾斜

node.js - 通过 CDN 使用 Foundation 图标集

html - 如何在CSS中指定文本装饰下划线的宽度

html - 仅在 Safari 中背景视频位置不正确

javascript - 如何让tooltip直到鼠标放在上面才消失

jQuery 函数在模态中不起作用

html - 链接在 iOS 设备上被忽略