【问题标题】:CSS padding keeps inheritingCSS padding 不断继承
【发布时间】:2013-04-02 18:32:29
【问题描述】:

我正在制作一个下拉菜单,但是第一个 ul 中的所有样式都被添加到第一个 ul 下每个 ul 的样式中。

我尝试使用 !important 覆盖样式,并将 css 移动到不同的级别。 有人知道这里发生了什么吗?

这张图片可能是最好的解释:http://screencast.com/t/UrkRbjjaYctp

谢谢。

【问题讨论】:

  • 第二个 UL 有 padding-left 40px 并且可能还有另外 37px 的填充,因为它嵌套在第一个 ul 中。这有什么问题? :)
  • 换句话说 - 填充是相对的而不是绝对的。
  • 作为 SO 的新手,请记住接受您认为有用的答案并投票赞成其他答案,尤其是当人们在分析您的问题时表现出努力和额外的洞察力时。祝你好运!

标签: css overriding padding inheritance


【解决方案1】:
#menuwrapper > ul{
padding-left:37px;
}
#menuwrapper ul ul {
padding-left:40px;
}

这应该可以解决您的问题

【讨论】:

  • 非常感谢,成功了!我对整个嵌套的东西一无所知,所以我没有考虑这个。再次感谢:)
【解决方案2】:

这是预期的行为。填充是相对添加的。

如果您不希望嵌套的 ul 被填充 37px 您必须从父 ul 中删除填充(或使用一些技巧作为负边距,例如 margin-left: -37px)。

如果您从父级移除填充,您可能需要为其每个子级添加一些边距以保留布局。我建议重新考虑 HTML 结构。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-27
    相关资源
    最近更新 更多