css - 使用 less 和 Bootstrap 的媒体查询

标签 css twitter-bootstrap less

我才刚刚开始使用 less。为了让 Bootstrap 在标签上的众多类变得不那么丑陋,我尝试用 less 编写一些简单的包装器。

我的全部代码如下。

// Import boostrap.
@import "./less/bootstrap.less";

// General classes for content.
focus {
    .span12;
}

content {
    .span8;
}

side {
    .span4;
}

这个 less 文件的目的是提供漂亮的包装器来做一件事情,比如 Bootstrap 的 .span12 类。我会及时将其扩展到各种按钮。

无论哪种方式,我在使用 lessc style.less 编译 less 文件时遇到了问题。

它给出的错误是:

NameError: .span12 is undefined in /srv/http/www/style.less on line 6, column 5:
5 focus {
6     .span12;
7 }

我找到了一些关于 .makeColumn(i) 类的文档,但问题是 Bootstrap 已经有了非常好的媒体查询,我想避免自己写。

有没有办法包装已经有媒体查询的类,或者我是否需要吸收它并为我的包装器编写自己的类?

最佳答案

您将在这种方法中遇到一些主要问题。

首先,Bootstrap 动态生成 .spanX 系列类存在问题,因此它们不能立即作为 mixin 访问,as I note in this answer .

其次,Bootstrap的一些span代码并不是通过.spanX系列设置的,而是通过[class*="span"的一个属性选择器完成的"](see, as of this writing, line 602 of the mixins.less file;它们也被广泛使用 in the responsive files for the @media rules)。此选择器代码不会被代码的 .span12 包含所拾取,如果您没有将 .span12 放入代码中,那么您的代码将不会具有这些属性应用。所以你需要解决这个问题。

可能还有其他问题不是很明显,但重点是,如果您想将 Bootstrap 用于网格目的(尤其是响应式),最好按设计使用它。如果你不这样做,那么最好去复制 Bootstrap 代码并根据你的意愿修改它来制作你自己的简化网格代码(如果你的意图是在你的 html 中使用更少的整体类)。

关于css - 使用 less 和 Bootstrap 的媒体查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17196668/

相关文章:

html - 无法让 div 覆盖另一个包含 Canvas 的 div

html - 如何覆盖 Bootstrap 表 td 样式?

html - 如何在不同的垂直线上填充框,只使用 `nth-child` 选择器?

php - 使用空格时图像 alt 和标题变得困惑

html - Bootstrap 响应式产品网格

html - 为什么 `transform` 会中断 `position: fixed` ?

google-chrome - 为 Firefox 使用 lesscss 和浏览器 hack

css - 隐式声明的 css 类的问题更少

html - 自定义 Bootstrap 按钮颜色背景错误的点击

html - 绝对定位偏离几个像素