我正在开发一个刚刚开始的 Rails 项目。我们想使用 twitter bootstrap 作为我们样式的基础,一开始我们会直接在 HTML 代码中使用 bootstrap 的类名,就像在 bootstrap 的文档中显示的那样,但是在阅读了以下帖子之后:
很清楚为什么这不是使用引导程序的正确原因,所以在阅读了更多内容之后:
除此之外,似乎使用 sass @extend 是避免使用引导程序的类名的正确方法,所以不要这样做:
<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;
}
所以我想知道,这是避免将引导程序的类名嵌入到 HTML 中的正确方法,如果是这样,我应该如何处理这个问题(它经常发生)?如果不是,那么使用自定义类名但仍然从引导程序中获取样式的更好方法是什么。
我非常感谢您对此的想法。请记住,我只是在学习整体网页设计(css、sass、less、html、js 等)。