【问题标题】:Why are bullets still showing after list-style:none;为什么列表样式后仍显示项目符号:无;
【发布时间】:2016-02-04 00:50:30
【问题描述】:

我不想为我在此页面上列出的视频显示项目符号:http://63.246.25.145/surety-bonds/contract-bonds/performance_bond.htm

但是,即使在修改 master.css 文件以确保我的 list-style 设置为 none 之后,项目符号仍然显示。

#page_bonds #videos {
    padding-top: 20px;
    border-top: 1px dotted #b3b3b3;
    list-style: none;  /*added for video show/hide*/
}

【问题讨论】:

标签: css


【解决方案1】:

好问题;即使使用 list-style:none; 项目符号在 IE 中的显示方式也很奇怪;

这是删除项目符号的代码:

/* media query only applies style to IE10 and IE11 */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    /* removes bullets in list items for IE11*/ 
    /* You may need the next line: #page_bonds #videos li */
    li {
        list-style-position: outside;
        overflow: hidden;
    }
}

【讨论】:

    【解决方案2】:

    您的<li> 元素从这里继承:

    ul {
        list-style: disc outside none;
    }
    

    你需要添加

    #page_bonds #videos li { list-style: none; }

    【讨论】:

    • 这里不需要添加“重要”属性。只需为#videos id 的 li 或 ul 元素指定样式。
    • 看来是下面做的! '#page_bonds ul { 列表样式:无; }'
    • 当然,如果你给父级设置样式,样式会传播给子级。添加 #page_bonds #videos ul { list-style: none; }
    【解决方案3】:

    使用级联样式表,元素的继承顺序不仅仅是包含顺序的简单问题 - 请参阅 - Cascading order and Inheritance 的详细说明。

    在您的情况下,您的列表继承了 master.css 第 639 行的值:

    ul {
        list-style: disc outside none;
        margin-left: 20px;
    }
    

    要么删除此引用,要么使用 !important 或添加更专业的 css 标记。

    【讨论】:

    • 我在我的 css 文件的第 2795 行添加了 !important 到更专业的 css 标签,但没有运气
    【解决方案4】:

    您发布的 CSS 是指包含感兴趣的 uldiv 标签,而不是 ul 本身。这使得它很容易被其他地方的 CSS 覆盖,这些 CSS 设置了所有 ul 标签的样式并给它们 list-style-type:disc

    做什么:

    您可以提供要影响其自己的idul 并将其作为目标,或者您可以重新指定您发布的CSS 块以引用#page_bonds #videos ul

    工作的一般原则:

    您发布的代码通过特定的ids 引用特定元素,但没有专门引用您要更改的元素。因为在你的 CSS 中的其他地方有一个明确的声明,它给出了所有 ul 元素 list-style-type:disc。现在对于您关心的ul,至少有两个不同的说明。

    CSS 的工作原则是尊重最具体地涉及到感兴趣的项目的指令。也许有点不直观,在这种情况下,CSS 选择了一个看起来更通用的 (ul),而不是看起来更具体的一个 (#page_bonds #videos)。但实际上ul 更具体基于特定类型元素的指令应该胜过其包含div 的样式的逻辑。

    记住:仅仅因为你在 CSS 中引用了一个id,并不意味着你实际上是在尽可能具体地声明。 p>

    【讨论】:

    • 我在第 2795 行添加了以下内容,但没有运气 [code] #page_bonds #videos ul { /*为视频显示/隐藏添加*/ list-style: none !important; }[/code]
    • 与其指定列表样式,不如尝试list-style-type:none。这行得通吗?
    【解决方案5】:

    在您页面的源代码中,我可以看到您的列表样式已被此样式表 (63.246.25.145/styles/master.1361894679.css) 覆盖

    您可以通过更改样式以更准确地指定相关列表来克服此问题

    #videos ul li { list-style: none !important; }
    

    或者您可以编辑链接到页面的 CSS 并更改级联规则以允许视频没有列表样式。

    [1]:

    【讨论】:

      【解决方案6】:

      CSS 元素将它们的值传递给子元素。要覆盖它,请使用 !important。

      试试:

      list-style: none !important;
      

      了解 !important here.

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-06-06
        • 2019-12-07
        • 2015-07-10
        • 2022-01-19
        • 1970-01-01
        • 2017-10-04
        • 1970-01-01
        相关资源
        最近更新 更多