删除/重置元素上继承的CSS

10 浏览
0 Comments

删除/重置元素上继承的CSS

我知道这个问题之前已经被问过了,但在将其标记为重复之前,我想告诉你我的情况与我在网上找到的有些不同。

我正在构建一个嵌入式脚本,人们可以将其放在他们的网站上。这个脚本创建了一个具有特定宽度/高度和一些信息的div。

我的问题是,一些网站为div声明了样式,而我的div也会继承这些样式。

例如:

div{
    background-color:red;
}

所以,如果我不给我的div设置任何背景颜色,它会显示红色,即使我不想要这样。

我遇到的唯一解决方案是覆盖尽可能多的CSS属性,这样我的div就会按照我想要的方式显示。

这种解决方案的问题是要覆盖的CSS属性太多了,而且我希望我的脚本尽可能轻量。

所以我的问题是,你是否知道另一个解决我的问题的方法。

可以是CSS / JavaScript / jQuery。

谢谢

0
0 Comments

问题出现的原因是:在某个元素中继承了一些CSS属性,但是想要将这些继承的属性重置为默认值。

解决方法是:通过覆盖CSS属性并使用auto值来实现重置。具体来说,可以在子元素中定义相同的属性,并将其值设置为auto,这样就能有效地重置该属性。需要注意的是,auto值并不适用于所有属性,比如颜色属性。这种方法并不是取消继承的值,而是显式地将其返回到默认值。

0
0 Comments

当在网页开发中,需要从一个元素中移除或重置继承的CSS样式时,可能会遇到以下问题:当尝试移除或重置继承的样式时,可能会导致整个元素的外观发生完全改变。为了解决这个问题,可以采取以下方法:

1.只设置相关/重要的CSS属性。只更改可能导致div外观完全改变的属性。例如:

background: #FFF;
border: none;
color: #000;
display: block;
font: initial;
height: auto;
letter-spacing: normal;
line-height: normal;
margin: 0;
padding: 0;
text-transform: none;
visibility: visible;
width: auto;
word-spacing: normal;
z-index: auto;

通过仅更改可能导致元素外观完全改变的属性,可以避免其他继承样式的影响。

2.选择一个非常具体的选择器,例如`div#donttouchme`或`

`。通过使用特定的选择器,可以确保样式只应用于特定的元素,而不会影响其他元素。

此外,还可以在声明的每个分号之前添加`!important`。这样做可以强制应用指定的样式,即使存在其他继承样式也会被覆盖。这对于防止客户故意破坏布局时非常有用。

通过采用这些方法,可以有效地移除或重置元素继承的CSS样式,确保元素外观的一致性和自定义。

0
0 Comments

问题出现的原因:重置特定元素的样式不可能直接实现,你必须覆盖掉所有不需要的样式。如果你使用CSS直接覆盖样式或者使用JQuery应用样式(取决于哪种对你来说更容易,但我不建议使用JavaScript/JQuery,因为这是完全不必要的)。

解决方法:如果你的div是一种可以包含到其他网站中的“小部件”,你可以尝试将其包装到一个iframe中。这将“重置”样式,因为iframe的内容是另一个文档,但这可能会影响到你的小部件的工作(甚至完全破坏它),所以在你的情况下可能不可行。

2019年更新:重置特定元素的样式不可能直接实现,但是可以使用all: unset来实现。

0