jig*_*101 6 css less twitter-bootstrap
使用Twitter的引导标准940px流体网格响应格,我试图让多个.spanDIV在一个 .row.
我想在.span随页面增长的每条内部线上显示最多3个.因此,随着更多的.span被添加,他们只是被添加到.row.
<div class="navbar navbar-fixed-top">
<div class="navbar-inner">
<div class="container-fluid">
<div class="span4">1</span>
<div class="span4">2</span>
<div class="span4">3</span>
<div class="span4">4</span> <!-- wrap to a new line-->
<div class="span4">5</span>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我面临的问题是包裹到新行的span4具有继承的左边距.虽然我可以在现代浏览器中使用nth-child()解决这个问题,但它显然仍会影响IE.
我有什么想法可以达到这个目的吗?
我决定使用nth-child选择器删除某些.span的边距.所以我的最终解决方案看起来像这样
一列跨度为320px至979px
两列跨度为980px至1409px
1409px及以上的三列跨度
@media (min-width: 320px) and (max-width:979px) {
/* one column */
.row-fluid .span4 {width:100%}
.row-fluid .span4 {margin-left:0;}
}
@media (min-width: 980px) and (max-width:1409px) {
/* two columns, remove margin off every third span */
.row-fluid .span4 {width:48.717948718%;}
.row-fluid .span4:nth-child(2n+3) {margin-left:0;}
}
@media (min-width: 1410px) {
/* three columns, .span4's natural width. remove margin off every 4th span */
.main .span4:nth-child(3n+4) {margin-left:0;}
}
Run Code Online (Sandbox Code Playgroud)
对于IE7和8,我在css中将每个跨度的宽度设置为48.717948718%(因此每行两个) - 通过使用html5 bolierplate .oldie html类专门针对这些版本.然后我在https://gist.github.com/1333330上使用了Modernizr和nthchild的自定义测试,如果浏览器不支持第n个子选择器,则删除每个偶数范围的边距.
if (!Modernizr.nthchildn) {
$('.span4:even').addClass('margless');
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19702 次 |
| 最近记录: |