是否有任何简单的方法可以从元素中删除任何样式,并将其应用于“通用”选择器?
一般而言,我的意思是section
或p
或div
或button
...基本上不是基于类或ID而是基于实际元素本身作为目标的元素。
问题是我在用户的网站上输出了一些HTML和CSS,但是我无法控制它们加载在同一页面上的样式表。问题是当用户的样式表或自定义CSS定位基本的通用HTML元素(例如section
或button
或p
)时。我的代码具有针对它们的所有特定CSS选择器,但是有时,如果我未明确定义属性,则具有这种“通用”样式的网站会导致HTML显示问题。
例如,我不希望在p
元素上进行任何特定的填充-因此,我在padding
元素上没有为p
设置任何内容..但是,如果用户的样式表可以-应用于我的元素。我试图不必定义我的每个元素上的每个属性,只是为了确保用户样式表不应用于我的元素。
正在根据此伪代码进行思考:
#my-main-wrapper > section, p, div, button {
all: unset;
}
[它将使用基本选择器,例如#my-main-wrapper
或section
或p
或div
取消设置应用于button
元素内任何元素的样式,因此仅定义了我定义的样式定位使用特定类或ID的那些元素。
#my-main-wrapper section,p,div,button{
margin: 0;
padding: 0;
border:0;
}
如果我正确理解了您的问题,这是一个值得尝试的简单解决方案。添加更多您认为可能会与样式表混淆的样式,但是根据我的说法,这应该足够了。
[正如另一个用户提到的all: intial
可能也是一个很好的解决方案。但是在应用该属性之前,请务必先阅读this,因为许多人最终会误解它。
是的,在这种情况下,我将使用通用的CSS重置,例如:
#my-main-wrapper > * {
all: unset;
}