首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >修复嵌套列上的引导填充

修复嵌套列上的引导填充
EN

Stack Overflow用户
提问于 2014-03-31 03:23:07
回答 3查看 19.8K关注 0票数 19

Bootstrap 3在列上应用了15px左右的填充。

这给我带来了麻烦,因为我的布局有很多嵌套列:

代码语言:javascript
运行
复制
<div class="col-md-6"></div>
<div class="col-md-6"></div>
<div class="col-md-12">
    <div class="col-md-6">
        <div class="col-md-12"></div>
        <div class="col-md-12"></div>
    </div>
    <div class="col-md-6"></div>
</div>

See Fiddle

我不需要删除填充,因为我需要元素之间的分隔。

从视觉上讲,我想要的结果是:http://jsfiddle.net/Aeup8/8/

我的第一种方法是设置:

代码语言:javascript
运行
复制
[class^='col-'] {
    padding:0;
}
[class^='col-'] + [class^='col-'] {
    padding-left: 15px;
}

但是,这不会修复换行到第二行的列。

See Fiddle

我的第二种方法是使用JavaScript:

代码语言:javascript
运行
复制
(function($) {
    var $els = $('[class^="col-"');
    //console.log($els);
    var cols = {};
    $els.each(function(i, col) {
        var classes = $(col).attr('class').split(' ');

        classes.forEach(function(str) {
            var match = str.match(/col-(\w+)-(\d+)/);
            if ( match ) {
                //console.log($els.eq(i));
                cols[match[1]] = cols[match[1]] || {};
                var current = cols[match[1]];

                if ( match[2] == 12 ) {
                    current.ids = [];
                    current.sum = 0;

                    $els.eq(i).css({ padding: 0 });
                    return
                }

                current.ids = current.ids || [];
                current.sum = current.sum || 0;
                current.sum += ( +match[2] );
                current.ids.push(i);
                if (current.sum == 12) {
                    //console.log(current);
                    current.ids.forEach(function(id) {
                        $els.eq(id).css({ 'padding': 0, 'padding-right': '15px' });
                        if (id == i) $els.eq(id).css({ 'padding': 0, 'padding-left': '15px' });
                    });
                    current.ids = [];
                    current.sum = 0;
                }
            }
        });
    });
})(jQuery);

See Fiddle

但它也有问题:

  • 它没有按期望的顺序遍历DOM,所以它不能很好地处理嵌套的DOM。
  • 我甚至不想解决这个问题,因为这似乎是一个非常糟糕的解决方案(每次更改视口大小时都会发生这种情况)

我做什么好?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22748673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档