我可以用
替换此代码 <div class="row">
<div class="span10">...</div>
<div class="span2">...</div>
</div>
有了它,使它更具语义性
<div class="article">
<div class="main-section">...</div>
<div class="aside">...</div>
</div>
<!-- Less stylesheet -->
.article {
.makeRow();
.main-section {
.makeColumn(10);
}
.aside {
.makeColumn(2);
}
}
我怎么能用流体网格做到这一点:
<div class="row-fluid">
<div class="span10">...</div>
<div class="span2">...</div>
</div>
<!-- Less stylesheet -->
.article {
???
.main-section {
.makeColumn(10);
}
.aside {
.makeColumn(2);
}
}
我试过了:
.article { #grid > .fluid(@fluidGridColumnWidth768, @fluidGridGutterWidth768);}
以及来自某些related stackoverflow posts的一些变体,但它没有响应。
答案 0 :(得分:3)
这对我有用..如果它可以帮助其他人发布。
用于语义流体网格的Mixins:
.makeFluidRow(){
width: 100%;
.clearfix();
}
.makeFluidCol(@span:1,@offset:0){
float: left;
#grid > .fluid .span(@span);
#grid > .fluid .offset(@offset);
&:first-child {
margin-left: 0;
.offsetFirstChild(@offset);
}
}
使用它们就像非流体混合物一样:
.article {
.makeFluidRow();
.main-section {
.makeFluidCol(10); //Spans 10 cols
}
.aside {
.makeFluidCol(1,1); //offset by one, spans 1
}
}
答案 1 :(得分:1)
好的,我想我已经明白了。我正在更新问题,以添加流体布局的偏移,因为这是我遇到最麻烦的地方。
<div class="article">
<div class="main-section">...</div>
<div class="aside">...</div>
</div>
<!-- Less stylesheet -->
.article {
.main-section {
#grid > .fluid > .offset(2);
#grid > .fluid > .span(8);
}
.aside {
#grid > .fluid > .span(2);
}
}
答案 2 :(得分:1)
我发现你的问题正在寻找一种方法来使用.makeColumn()来响应网格(1200px,768px等)。与Bootstrap 2一起使用的.makeColumn()mixin仅占940px网格。
要修复它,我只是将.makeColumn()mixin扩展到一个LESS文件中,该文件在Boostrap文件之后加载。
// Improve .makeColumn to work with 1200px responsive grid
.makeColumn(@columns: 1, @offset: 0) {
@media (min-width: 1200px) {
margin-left: (@gridColumnWidth1200 * @offset) + (@gridGutterWidth1200 * (@offset - 1)) + (@gridGutterWidth1200 * 2);
width: (@gridColumnWidth1200 * @columns) + (@gridGutterWidth1200 * (@columns - 1));
}
}