我正在开发一个Rails项目,现在处于起步阶段。我们想要以Twitter Bootstrap为基础样式,开始时我们会像Bootstrap文档中展示的那样,在HTML代码中直接使用Bootstrap的类名,但是在阅读了以下文章之后:
就变得清楚了为什么这不是使用Bootstrap的正确方式,所以在阅读更多的文章后:
等其他文章中,使用Sass @extend似乎是避免使用Bootstrap类名的正确方式,因此不再像这样做:
<button type="submit" class="btn">Search</button>
我们会这样做:
<button type="submit" class="button">Search</button>
我们的 Sass 代码将如下所示:
.button {
@extend ".btn";
}
除了每次扩展引导程序类以使用不同名称时都会添加一堆额外的选择器之外,这种方法的问题在于,在引导程序使用这样的选择器的情况下:
.form-search .input-append .btn, .form-search .form-input-append .btn {
border-radius: 0 14px 14px 0;
}
按钮不会获得正确的样式,因为Sass不会将同一规则应用于我们的自定义类名,我的意思是,Sass不会这样做:
.form-search .input-append .btn, .form-search .input-append .button,
.form-search .form-input-append .btn, .form-search .form-input-append .button {
border-radius: 0 14px 14px 0;
}
我在想,这是否是避免将Bootstrap的类名嵌入HTML的正确方式?如果是,我该如何解决这个问题(它经常发生)?如果不是,有什么更好的方法可以使用自定义类名但仍从Bootstrap获取样式。
非常感谢您对此的想法。请记住,我只是在学习整体网页设计(CSS、Sass、Less、HTML、JS等)。