Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.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
CSS从元素中删除所有通用样式_Css_Css Selectors - Fatal编程技术网

CSS从元素中删除所有通用样式

CSS从元素中删除所有通用样式,css,css-selectors,Css,Css Selectors,是否有任何简单的方法可以从我的元素中删除任何应用于“通用”选择器的样式 一般的意思是,部分或p或div或按钮。。。基本上,它的目标不是基于类或ID的元素,而是基于实际的元素本身 问题是我在用户的网站上输出了一些HTML和CSS,但我无法控制它们加载在同一页面上的样式表。问题在于,当用户的样式表或自定义CSS以基本的通用HTML元素为目标时(如部分或按钮或p)。我的代码中有所有针对它们的特定CSS选择器,但如果我没有明确定义属性,有时使用这种“通用”样式的站点会导致我的HTML出现显示问题 例如,

是否有任何简单的方法可以从我的元素中删除任何应用于“通用”选择器的样式

一般的意思是,
部分
p
div
按钮
。。。基本上,它的目标不是基于类或ID的元素,而是基于实际的元素本身

问题是我在用户的网站上输出了一些HTML和CSS,但我无法控制它们加载在同一页面上的样式表。问题在于,当用户的样式表或自定义CSS以基本的通用HTML元素为目标时(如
部分
按钮
p
)。我的代码中有所有针对它们的特定CSS选择器,但如果我没有明确定义属性,有时使用这种“通用”样式的站点会导致我的HTML出现显示问题

例如,我不希望
p
元素上有任何特定的填充,因此我没有为
p
元素上的
padding
设置任何内容。。但是如果用户的样式表是这样的话——它将应用于我的元素。我试图不必在我的每个元素上定义每个属性,只是为了确保用户样式表不应用于我的元素

我在想一些类似于psuedo代码的东西:

#my-main-wrapper > section, p, div, button {
    all: unset;
}
它将使用基本选择器(如
section
p
div
button
)取消设置应用于
#my main wrapper
元素内任何元素的任何样式。。因此,仅应用我定义的使用特定类或ID针对这些元素的样式

#my-main-wrapper section,p,div,button{
margin: 0;
padding: 0;
border:0;
}
如果我正确理解你的问题,这是一个值得尝试的简单解决方案。添加任何您认为可能会弄乱样式表的样式,但根据我的说法,这应该足够了


正如另一位用户提到的
all:initial
也可能是一个很好的解决方案。但在应用该属性之前,请务必阅读,因为很多人最终会误解它。

是的,在这种情况下,我会使用通用CSS重置,如:

#my-main-wrapper > * {
  all: unset;
}

为什么不使用a删除所有浏览器默认样式,然后在其上应用您自己的样式呢?也许
all:initial
您确实想将其应用于所有包含的元素,而不仅仅是直接子体?OP明确规定选择器应应用于直接子体。@DBS,不,这很公平-有点含糊不清。不清楚OP是否意味着它们的伪代码选择器被解读为:
#我的主包装器>部分、#我的主包装器>p、#我的主包装器>div、#我的主包装器>按钮
或as
#我的主包装器>部分、#我的主包装器p、#我的主包装器div、#我的主包装器按钮