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

问题描述 投票:1回答:2

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

一般而言,我的意思是sectionpdivbutton ...基本上不是基于类或ID而是基于实际元素本身作为目标的元素。

问题是我在用户的网站上输出了一些HTML和CSS,但是我无法控制它们加载在同一页面上的样式表。问题是当用户的样式表或自定义CSS定位基本的通用HTML元素(例如sectionbuttonp)时。我的代码具有针对它们的所有特定CSS选择器,但是有时,如果我未明确定义属性,则具有这种“通用”样式的网站会导致HTML显示问题。

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

正在根据此伪代码进行思考:

#my-main-wrapper > section, p, div, button {
    all: unset;
}

[它将使用基本选择器,例如#my-main-wrappersectionpdiv取消设置应用于button元素内任何元素的样式,因此仅定义了我定义的样式定位使用特定类或ID的那些元素。

css css-selectors
2个回答
0
投票
#my-main-wrapper section,p,div,button{
margin: 0;
padding: 0;
border:0;
}

如果我正确理解了您的问题,这是一个值得尝试的简单解决方案。添加更多您认为可能会与样式表混淆的样式,但是根据我的说法,这应该足够了。

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


0
投票

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

#my-main-wrapper > * {
  all: unset;
}
© www.soinside.com 2019 - 2024. All rights reserved.