css - 如何阅读这个 LESS css?

标签 css responsive-design less css-frameworks

我正在尝试找出 Joni Korpi 的 Frameless CSS 无框架网格 (http://framelessgrid.com/),但我很难阅读他拥有的 .less 文件。我对 LESS 使用变量有一个基本的了解,所以我知道 column = 48 和 gutter = 24,仅此而已。

1cols = 1 * (48 + 24) - 24)/12 吗?

我不明白的是 @1col: @1cols;.width (@cols:1) { 宽度:(@cols * (@column + @gutter) - @gutter)/@em; }

有人可以帮忙吗?

https://github.com/jonikorpi/Frameless/blob/master/frameless.less

@font-size: 16;         // Your base font-size in pixels
@em: @font-size*1em;    // Shorthand for outputting ems, e.g. "12/@em"

@column: 48;    // The column-width of your grid in pixels
@gutter: 24;    // The gutter-width of your grid in pixels


//
// Column-widths in variables, in ems
//

 @1cols: ( 1 * (@column + @gutter) - @gutter) / @em; @1col: @1cols;
 @2cols: ( 2 * (@column + @gutter) - @gutter) / @em;
 @3cols: ( 3 * (@column + @gutter) - @gutter) / @em;
 @4cols: ( 4 * (@column + @gutter) - @gutter) / @em;
 @5cols: ( 5 * (@column + @gutter) - @gutter) / @em;
 @6cols: ( 6 * (@column + @gutter) - @gutter) / @em;
 @7cols: ( 7 * (@column + @gutter) - @gutter) / @em;
 @8cols: ( 8 * (@column + @gutter) - @gutter) / @em;
 @9cols: ( 9 * (@column + @gutter) - @gutter) / @em;
@10cols: (10 * (@column + @gutter) - @gutter) / @em;
@11cols: (11 * (@column + @gutter) - @gutter) / @em;
@12cols: (12 * (@column + @gutter) - @gutter) / @em;
@13cols: (13 * (@column + @gutter) - @gutter) / @em;
@14cols: (14 * (@column + @gutter) - @gutter) / @em;
@15cols: (15 * (@column + @gutter) - @gutter) / @em;
@16cols: (16 * (@column + @gutter) - @gutter) / @em;


//
// Column-widths in a function, in ems
//

.width (@cols:1) {
width: (@cols * (@column + @gutter) - @gutter) / @em;
}

最佳答案

@1cols 等只是变量名。 less 中的变量名允许以数字开头。

@1col: @1cols;

这只是在说变量@1col 等于之前设置的变量@1cols。据推测,“1col”是因为 1 是单数,但其他的是复数,所以它只是让您可以选择使用 @1col@1cols 它们都是相同的值。

@1cols: ( 1 * (@column + @gutter) - @gutter) / @em;

那只是数学。如果您想要一个 3 列宽的部分,则为(列宽 + 间距宽度)的 3 倍减去一个间距。

.width (@cols:1) {
width: (@cols * (@column + @gutter) - @gutter) / @em;
}

这是一个 mixin 函数,它采用可变数量的列,默认参数为 1。您可以像这样使用它:

.my-class{
   .width(3);
}
/* these two are identical */
.my-class{
   width: @3cols;
}

第一种方法的好处是您可以将 3 替换为变量,以便您可以在其他地方使用它。

关于css - 如何阅读这个 LESS css?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8889191/

相关文章:

html - Dreamweaver:背景图像设置在高度:自动将不显示任何内容

javascript - 编译后的less.js编译文件在哪里?

css - 仅将图像调整到一定大小

html - CSS float 的问题

javafx.scene.text.Text 的 CSS

git:显示默认/配置的寻呼机命令

css - 嵌套 LESS 到 css 类

javascript - HTML-CSS : Custom menu does not scroll horizontally

css - 使用 CSS 选择一系列列表项

html - 实现具有动态宽度、静态高度和 DPR 意识的响应式图像