2015-01-15 27 views
0

我正在使用bootstrap.css(作为外部样式表)。通过我的应用程序,无论我在哪里使用按钮,我都想要在每个按钮上应用几个css类.btn, .btn-primary如何为html控件指定默认类名称

一种方法是在我的所有应用程序的html文件中的每个<button>声明中添加class="btn btn-primary"。我发现这是单调乏味的,效率低下。单调乏味,因为我必须为每个按钮声明做这件事,效率低下,因为如果我必须申请/删除一个类,我必须为每个按钮声明做。

我猜测会有更聪明的方法来做到这一点。基本上,我想知道如何设置应用程序级别默认类名称(s)要应用于给定的html控件。

+0

我不知道一个纯CSS的方式来做到这一点,但你可以使用一些简单的JavaScript来在'window.onload'上添加该类 – Rhumborl 2015-01-15 15:22:21

+0

如果你想对同一个元素应用CSS规则类型,你不需要'class'。我的意思是,如果每个'button'都有一个'btn'类,为什么不直接将规则设置到'button'标签? – melancia 2015-01-15 15:24:33

+1

为什么不只是一个'按钮'的CSS选择器,而不是使用类? – codebox 2015-01-15 15:25:56

回答

2

没有更聪明的方法,虽然有其他方法。其中之一是使用JavaScript或jQuery的,这里是jQuery的

$(document).ready(function(){ 

    $('button').addClass('btn btn-primary') 
} 

但如果你问我,我不会推荐它的样本。直接将该类添加到html是正确的方式。在将来当你或别人看代码时,除非一切都有详细记录,否则你会困惑于类的来源

0

正如@geekman所建议的那样,将渲染逻辑添加到javascript中并不是一种好方法。所有这些逻辑必须是html和css的一部分。

你可以找到/从任何的编辑取代

<button 

<button class='btn btn-primary' 

你很容易,如果加上类的每一个按钮,你想要做什么。

否则,您还可以通过使用“按钮”元素作为选择器在您的CSS文件中给所有按钮元素的CSS。您将不得不检查样式引导程序是通过萤火虫给按钮,并将该CSS复制到'按钮'选择器。这可能是比JS更好的方式,因为下一个开发人员处理您的代码,并且可以将类添加到任何单个按钮,并且该类将优先于您的按钮样式。

+0

似乎有三种方法来做到这一点1.复制在.btn中为按钮定义的所有CSS属性,bootstrap.css中的.btn-primary类; 2.通过js执行3.使用LESS/SASS和预处理样式,例如'button {.btn; .btn基色; } * * Option(3)似乎是更干净的方法,虽然更重要。* – smc 2015-01-15 15:40:46

+1

当然,sass将是一个干净的方式来做到这一点。但是,对于您来说,迁移到sass并从bootstrap扩展.btn或.btn-primary类不会很容易。我建议你将引导的样式复制到CSS中的按钮标签。现在运行起来要容易得多。 – Aditya 2015-01-15 15:45:38