标签样式代替类样式

问题描述:

我正在开发一个应用程序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。

为什么会发生这种情况?

+0

你的问题有点不清楚。也许一些HTML标记可以澄清?究竟发生了什么,你为什么不期望它,以及你期望的是什么? – Jeroen

+0

如果你想使用bootstarp,你应该在你的样式表中去除'input [type =“submit”],输入[type =“button”],按钮'。然后根据您的需要一次改变您的自定义样式;否则,它将很难调试。 – Win

+0

@Jeroen我更新了问题。 – coredump

这是由于特殊性。 The rules are

  • 计数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 

第一个的值,所以它会在第二个被应用,而不管顺序。

+0

是'type = “按钮”指的是这里的一个班级?此外,我试图把ID选择器放在按钮上,同样的事情发生 – coredump