当前位置: 首页 > 面试题库 >

将CSS显示属性重置为默认值

梁泰
2023-03-14
问题内容

是否可以使用默认值覆盖display属性?例如,如果我以一种样式将其设置为none,而我想以其默认值以其他方式覆盖它。

还是找出该元素的默认值然后将其设置为默认值的唯一方法?不想知道元素通常是block,inline还是任何一个…


问题答案:

浏览器的默认样式在其用户代理样式表中定义,您可以在此处找到其来源。不幸的是,级联和继承级别3规范似乎并未提出一种将样式属性重置为其浏览器默认值的方法。但是,有计划在级联和继承级别4中为此重新引入一个关键字-
工作组尚未确定该关键字的名称(该链接当前显示revert,但不是最终的)。有关浏览器支持的信息revert可在caniuse.com上找到。

尽管3级规范确实引入了initial关键字,但将属性设置为 初始值 会将其重置 为CSS定义的 默认值, 而不是浏览器 定义的默认值。的初始值display就是inline;
这是在这里指定的。该initial关键字指的是价值,而不是浏览器的默认。规范本身在all属性下进行了注释:

例如,如果作者all: initial在元素上指定,它将阻止所有继承并重置所有属性,就像级联的作者,用户或用户代理级别中没有规则一样。

这对于不希望继承外部页面样式的页面中包含的“窗口小部件”的根元素很有用。但是请注意,应用于该元素的任何“默认”样式(例如,display: block来自UA样式表上的块元素,例如<div>)也将被吹走。

因此,我想现在使用纯CSS的唯一方法是查找浏览器默认值并将其手动设置为:

div.foo { display: inline-block; }
div.foo.bar { display: block; }

(上述方法的替代方法是div.foo:not(.bar) { display: inline-block; },但其中涉及修改原始选择器,而不是覆盖。)



 类似资料:
  • 问题内容: 在php生成的页面上,有几个像这样的元素: 因此,有一个默认样式,我将应用一些额外的样式来覆盖CSS中定义的样式。 有没有办法从javascript中删除这些添加的样式?看来obj.style.color =“ default”和obj.style.color =“ auto”无效。如何从javascript将颜色重置为CSS默认值? 问题答案: 如果回忆有用,应该可以工作……我不知道

  • 我在spring-boot项目中有一个properties类。 现在,我想将的application.properties文件中的其他属性设置默认值。与下面的示例使用@value所做的类似

  • 问题内容: 例如,如果component是一个复选框,则必须将其设置为false,或者是textfield,则必须清除文本。我正在尝试编写一种方法来重置中的所有组件。它必须像HTML表单中的reset函数一样工作。 如何将a重设为默认值? 问题答案: 一种可能的解决方法是创建自定义重置功能。重新初始化面板(您的表单)。 例如 创建一个自定义类来存储表单字段及其侦听器。 重新初始化面板组件将导致按@

  • 问题内容: 显示属性和可见性属性之间有何区别? 问题答案: 该属性仅告诉浏览器是否显示元素。它是可见的(-您可以看到)或不可见的(-您看不到)。 该属性告诉浏览器 如何 绘制和显示元素(如果有的话)-是将其显示为元素(即,与文本和其他内联元素一起流动)还是-level元素(即,具有height和width属性,你可以设置,它的浮动等),或(即它的作用就像一个黑匣子,但奠定了直列代替)和其他一些人(

  • 在使用Jackson反序列化Json时,当Json文件中缺少属性时,是否有方法指定默认值

  • 我正在使用带有json body的url https://myWebsite.com/users进行PUT调用以更新用户 由于我没有在json body中传递“状态”属性,因此默认情况下将其设置为false,因为false是布尔数据类型的默认值。 但是,如果在进行API调用时未在json中传递属性,我需要将其设置为true作为默认值。 我尝试使用OnDeserializing属性,如下所示: 但它