【问题标题】:Reset css for a specific div为特定的 div 重置 css
【发布时间】:2013-06-11 21:49:34
【问题描述】:

我正在使用 Twitter Bootstrap 作为我项目的框架。 我还有一个 div#widget,其中包含名称和电子邮件表单字段以及一个提交按钮 我想只为该 div 重置所有 CSS 并使用我的自定义类。 我试过了:

div#widget * {
   background-color: #FFF;
   font-size: 12px;
   ...
}

该代码的问题是我需要指定每个 css 属性

我正在寻找一个神奇的解决方案,例如

div#widget * {
   // reset to factory defaults here
}

【问题讨论】:

  • no such thing tmk... 请注意,与大多数其他 html 元素不同,输入字段不会从父级继承样式(如字体大小)。您必须将它们全部重置,一个一个我害怕......
  • 不知道能不能这样,但是你可以尝试用这个参考来模拟HTML文档的默认css格式:Default style sheet for HTML 4

标签: css widget reset


【解决方案1】:

你可以反过来做。

使用 :not() 选择器。

div:not(#widget) element { 
   /*Rules here will apply to each element wich are not inside div#widget */
}

【讨论】:

  • (2013. note:) 仍然不兼容 xBrowser。
  • 我需要完全相反:)
  • caniuse.com/css-sel3 使用 selectivizir ,使这个选择器可用。 @handsome:我试图告诉你做你正在做的相反的方式。与您相反的方式,无需重置任何内容,因为您首先不会为#widget childs 声明任何内容。这不是一种更有效的方法吗?:not(#widget) exclude #widget from getting style => no style ? => 无需重置!
  • 这个问题是:如果我给你我的小部件的链接,你将能够将它添加到你的页面并使用 css 修改它!
  • 嗨,不是我的意图:)。您可以过滤 http 请求来避免这种情况。你有信息,你用它做什么:)
【解决方案2】:

恐怕唯一的办法就是研究一个元素默认值并痛苦地重置所需的样式。

【讨论】:

  • 或使用 :not() 伪选择器更新选择器以从规则中排除一个
猜你喜欢
  • 2013-04-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-14
  • 1970-01-01
  • 2020-05-24
  • 1970-01-01
  • 2016-09-18
相关资源
最近更新 更多