【问题标题】:Style for tag is used instead of class style使用标签样式而不是类样式
【发布时间】:2013-08-16 21:29:09
【问题描述】:

我正在使用ASP.NET Web Forms 和 我想使用bootstrap.css 来表示风格。 问题是,对于按钮的一些属性 从定义的默认 Style.css 中使用 标签,而引导程序是为诸如“btn btn-primary”之类的类定义的。 这是 HTML 标记

<asp:Button ID="Button1" type="button" CssClass="btn btn-primary" runat="server"Text="View data" OnClick="Button1_Click" />

对于默认的 Style.css
input[type="submit"], input[type="button"], button {
background-color: #d3dce0;
border: 1px solid #787878;
cursor: pointer;
font-size: 1.2em;
font-weight: 600;
padding: 7px;
margin-right: 8px;
width: auto;
}

还有引导
.btn-primary {
color: #ffffff;
background-color: #428bca;
border-color: #357ebd;
}

我注意到的主要事情是使用的背景颜色不是来自引导程序 但要形成 Style.css。

为什么会这样?

【问题讨论】:

  • 你的问题有点不清楚。也许一些 html 标记可以澄清?究竟发生了什么,为什么你没有预料到,你希望做什么
  • 如果你想使用 bootstarp,你应该在你的样式表中去掉input[type="submit"], input[type="button"], button。然后根据您的需要一次一点更改您的自定义样式;否则,真的很难调试。
  • @Jeroen 我更新了问题。
  • @Win 这是一个选项。但我很感兴趣为什么标签优先于类。
  • 看起来您已经回答了自己的问题 - 为什么会发生这种情况? 我注意到的主要事情是背景颜色used 不是来自引导程序,而是来自 Style.css。

标签: asp.net css twitter-bootstrap


【解决方案1】:

这是由于特殊性。 The rules are:

  • 如果声明来自是'style'属性而不是带有选择器的规则,则计数1,否则为0(= a)(在HTML中,元素的“style”属性的值是样式表规则。这些规则具有没有选择器,因此 a=1、b=0、c=0 和 d=0。)
  • 统计选择器中 ID 属性的数量 (= b)
  • 统计选择器中其他属性和伪类的数量 (= c)
  • 计算选择器中元素名称和伪元素的数量 (= d)

连接四个数字 a-b-c-d(在具有大基数的数字系统中)给出了特异性。

这意味着:

input[type="button"]   has specificty   0,0,1,1
.btn-primary           has specificty   0,0,1,0

第一个更大,因此它将应用于第二个,无论顺序如何。

【讨论】:

  • type="button" 在这里指的是一个类吗?我也尝试在按钮的 ID 上放置一个选择器,同样的事情发生了
猜你喜欢
  • 2019-12-15
  • 2018-11-09
  • 2012-04-21
  • 1970-01-01
  • 1970-01-01
  • 2014-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多