Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 什么是默认列表样式(CSS)?_Html_Css_Html Lists - Fatal编程技术网

Html 什么是默认列表样式(CSS)?

Html 什么是默认列表样式(CSS)?,html,css,html-lists,Html,Css,Html Lists,在我的网站上,我使用reset.css。它将以下内容添加到列表样式中: ol, ul { list-style: none outside none; } html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd

在我的网站上,我使用reset.css。它将以下内容添加到列表样式中:

ol, ul {
    list-style: none outside none;
}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
    background: none repeat scroll 0 0 transparent;
    border: 0 none;
    font-size: 100%;
    margin: 0;
    outline: 0 none;
    padding: 0;
    vertical-align: baseline;
}
问题是所有列表样式都设置为
NONE
。我只想恢复网站子页面上所有列表的原始列表样式(默认设置)(所有列表位于
.my_container
中)

当我尝试设置时,像
列表样式类型
继承
这样的设置不会仅为该CSS属性继承浏览器的默认样式


是否有任何方法可以在不修改reset.css的情况下继承某些属性的原始浏览器样式?

我曾将此css设置为删除reset:

ul { 
   list-style-type: disc; 
   list-style-position: inside; 
}
ol { 
   list-style-type: decimal; 
   list-style-position: inside; 
}
ul ul, ol ul { 
   list-style-type: circle; 
   list-style-position: inside; 
   margin-left: 15px; 
}
ol ol, ul ol { 
   list-style-type: lower-latin; 
   list-style-position: inside; 
   margin-left: 15px; 
}

编辑:当然,对于特定的类…

您正在重置第二个css块中所有元素的边距。默认裕度为40px-这应该可以解决问题:

.my_container ul {list-style:disc outside none; margin-left:40px;}

你不能。无论何时应用任何样式表为元素指定属性,都无法获得该元素的任何实例的浏览器默认值


reset.css的(有争议的)想法是摆脱浏览器默认设置,这样您就可以从干净的桌面开始自己的样式设计。reset.css的任何版本都不能完全做到这一点,但在一定程度上,使用reset.css的作者应该完全定义渲染。

我认为这正是您想要的:

.my_container ul
{
    list-style: initial;
    margin: initial;
    padding: 0 0 0 40px;
}

.my_container li
{
    display: list-item;
}


未来的答案是:css4可能包含revert关键字,它将属性从用户或用户代理样式表[]还原为其值。在撰写本文时,只有Safari支持此功能–用于更新浏览器支持

在您的情况下,您将使用:

.my_container ol, .my_container ul {
    list-style: revert;
}

另请参阅,了解更多详细信息。

根据文档,大多数浏览器将使用以下默认值显示
  • 元素:

    或标记的默认CSS设置:

    ul, ol { 
        display: block;
        list-style: disc outside none;
        margin: 1em 0;
        padding: 0 0 0 40px;
    }
    ol { 
        list-style-type: decimal;
    }
    
    li { 
        display: list-item;
    }
    
    ul ul, ol ul {
        list-style-type: circle;
        margin-left: 15px; 
    }
    ol ol, ul ol { 
        list-style-type: lower-latin;
        margin-left: 15px; 
    }
    
    标签的默认CSS设置:

    ul, ol { 
        display: block;
        list-style: disc outside none;
        margin: 1em 0;
        padding: 0 0 0 40px;
    }
    ol { 
        list-style-type: decimal;
    }
    
    li { 
        display: list-item;
    }
    
    ul ul, ol ul {
        list-style-type: circle;
        margin-left: 15px; 
    }
    ol ol, ul ol { 
        list-style-type: lower-latin;
        margin-left: 15px; 
    }
    
    同时设置嵌套列表项的样式:

    ul, ol { 
        display: block;
        list-style: disc outside none;
        margin: 1em 0;
        padding: 0 0 0 40px;
    }
    ol { 
        list-style-type: decimal;
    }
    
    li { 
        display: list-item;
    }
    
    ul ul, ol ul {
        list-style-type: circle;
        margin-left: 15px; 
    }
    ol ol, ul ol { 
        list-style-type: lower-latin;
        margin-left: 15px; 
    }
    

    注意:如果我们在类中使用上述样式,结果将是完美的。也可以看到不同的标记。

    RESET.CSS是Web设计中最差的反模式之一,而不是一个完整的重置样式表,考虑一些类似的东西,它为所有元素设置了合理的默认值。这样,您就可以从所有浏览器的基线开始,并从那里开始构建。此外,您不必添加额外的代码来恢复默认设置@OllyHodgson是的,但是我有一些具体的原因来解释为什么我要使用reset.css。我需要尽可能多地清除样式,我想重新编写它——而不是相反:)如果你想删除它们并重写它们,这个问题的重点是什么?据我所知,您有两个选择:1)特别避免重置列表样式,因此保留默认值2)重置它们,并提出自己的列表样式。@BoltClock-只是为了澄清-我想让用户有机会从头开始创建自己的列表(我为每个可能的样式添加了类)-我只是想知道是否有类似“默认”的设置,但因为没有任何默认样式-我只创建一个。它不会“还原原始列表样式(默认)”。它只是设定了一些风格。我同意,但不管怎样,目标只是设定一些风格。这个CSS为列表提供了一个非常基本的样式,仅此而已。列表样式类型没有“默认”选项,我在得到答案后发现了这一点。浏览器只是添加了一些在浏览器之间经常不一致的样式;而且它似乎需要成为列表项才能让子弹再次出现。是的,我认为这个答案也很重要<代码>继承
    从父容器继承样式,并且不会将其设置为默认浏览器值
    initial
    会这样做(我后来发现它的存在),但是你确定
    ul{list style:initial;}
    ol{list style:initial;}
    会产生有效的结果吗?无论应用于哪个元素,它都不会将列表样式设置为其初始值吗?对于这两种类型的列表,
    initial
    值不是
    disc-out-none
    吗?令人惊讶的是,
    initial
    我从未想到过
    initial
    在IE的任何版本中都不受支持。感谢你救了我的命,我想知道为什么我的子菜单中会有填充。这将在任何嵌套列表中添加vertical.margij。如果是这样,那么嵌套列表将添加任何新级别的上下边距。