【问题标题】:Problems with styling the dropdown-menu in Wordpress在 Wordpress 中设置下拉菜单样式的问题
【发布时间】:2016-10-05 18:27:36
【问题描述】:

在 Wordpress 中,我尝试设置.primary-menu 中使用的下拉菜单的样式。不幸的是,事情并没有真正按计划进行。

我从 Chrome 中的检查器中复制了 HTML,并删除了诸如 href 和 id 之类的杂乱无章的内容,并尝试在 jsFiddle 中对其进行调试:https://jsfiddle.net/1cL8fq8b/1/

当悬停在结果选项卡中的最后一个 item 上时,.sub-item 似乎占据了其父级的宽度。我给.sub-menu 一个绝对位置,让它独立。我仍然无法让.sub-item 拥有它自己的宽度。 Here's a screenshot for a better view

如何使子项具有自己的宽度,而不依赖于其父项的宽度?

【问题讨论】:

    标签: html css wordpress dropdown


    【解决方案1】:

    您可以添加否定的margin-left 样式以将下拉菜单扩展到左侧。

    .sub-menu {
            position: absolute;
            right: 0;
            display: none;
            margin-left:-100px;
    }
    

    看到这个:https://jsfiddle.net/jokbd6L5/

    或者为您的下拉菜单定义一个自定义宽度:

    .sub-menu {
            position: absolute;
            right: 0;
            display: none;
            width:100px;
    }
    

    看到这个:https://jsfiddle.net/hjoctv5x/

    由于它的位置是绝对的,我认为 CSS 中没有办法让它根据其内容的宽度(可变宽度)进行扩展。但是您可以编写一些 javascript 来计算每个下拉菜单的最大内容宽度并相应地设置下拉菜单宽度。

    【讨论】:

      【解决方案2】:

      这是因为在悬停时其display 设置为block。改为inline-block

      【讨论】:

      • 尝试设置它的宽度
      【解决方案3】:

      首先..阅读此http://learnlayout.com/position.html

      absolute 是最棘手的位置值。 absolute 的行为类似于 fixed,除了相对于最近的定位祖先而不是相对于视口。如果一个绝对定位元素没有定位的祖先,它使用文档正文,并且仍然随着页面滚动而移动。请记住,“定位”元素的位置是除静态之外的任何内容。

      所以基本上绝对定位只是把它带出文档流

      还有..这段代码..

      &:hover .sub-menu
      

      仅针对子菜单。尝试定位子菜单的 li 给它自己的宽度。子菜单 ul(这是您的定位与 li 的宽度无关的内容,除非它们的大小是基于百分比。

      【讨论】:

      • 我认为该选择没有任何问题。我想要做的就是在将鼠标悬停在其父级上时简单地显示整个 .sub-menu。为什么我要让所有列表项出现而不是只显示整个子菜单?你明白我的问题吗?
      • 此外,我给了 .menu-item 一个相对位置,这应该导致绝对定位的元素依赖于该元素。但是,它没有。
      • 嗯.. 让我这么说。您的选择有效。我说的是你的造型不够。我给你的选择属性 width:100px;轮廓:1px 纯红色;它显然需要宽度。您遇到的问题是您的列表项 (li) 不会自动填写 UL。如果您在所有元素上加上轮廓,则可以清楚地说明这一点。我的建议是您的定位仅针对您的 ul,但您还需要设置 li 元素的样式
      • 也..您的定位也按预期工作。完整阅读我链接的文章。您将看到定位按预期工作。如果您的父元素 (.menu-item) 不是相对的,那么绝对定位的元素将自动默认为文档正文,完全将其从文档流中移除。
      • 如果您从 UL 中删除列表样式 (list-style:none;) 并将列表项的位置设置为块或宽度 100%,它将按预期填充以解决您的问题。
      猜你喜欢
      • 2019-01-24
      • 1970-01-01
      • 1970-01-01
      • 2015-03-30
      • 1970-01-01
      • 2016-06-23
      • 2021-11-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多