bootstrap 当嵌套列时 有时会出现很奇异的row 的width不对问题
出现的情况时

 <div class="row" >  <!--row a-->
<div class="col-xs-12 col-lg-6 col-lg-offset-3">
<div class="row"> <!-- row b-->
<div class="col-xs-12">
...
</div>
</div> <!--row b-->
</div>
</div> <!-- row a -->

此时rowb的宽度计算会出现bug 在手机屏幕上将溢出
解决方案很简单 对row a设置样式overflow:hidden;(事先声明,这种解决方式有细微缺陷,但是基本不影响,而且简单实用)
此时对rowb 的设置width:100%; (在浏览器f12的盒子模型里可以看到width确实是对的(与父元素的width保持一致),但给它一个边框会发现视觉上真实的宽度是明显不够的(和父元素的width不等,非常诡异))
或者给rowb加一个父级元素container都是错误的做法,(此时手机屏幕上的不再溢出,在大屏幕上将会溢出)

为什么会有这个问题,可以去f12看row和col的盒子模型,因为bootstrap的col 默认有gutter(即col有左右的padding分别15px)
如果觉得这种默认不好,我们可以自己制定规则覆盖默认
定义样式如下

 .row.no_gutter [class^="col-"],.row.no_gutter [class*="col-"]{
padding-right:0px;
padding-left:0px;
}

然后需要嵌套列时,只需要将此嵌套的行加一个样式类就ok了,like this:

 <div class="row" >  <!--row a-->
<div class="col-xs-12 col-lg-6 col-lg-offset-3">
<div class="row no_gutter"> <!-- row b-->
<div class="col-xs-12">
...
</div>
</div> < !-- row b is end -->
</div>
</div> <!-- row a is end -->

或者也可以去改bootstrap源码,对于专业的前端工程师来说,
毫无疑问本地是有一套比如npm-bower-grunt的编译环境的,
此时 运行  bower install bootstrap 
然后在项目下 运行  npm install

然后在其less文件夹下找variables.less文件 更改  @grid-gutter-width:30px; 的值即可(想再详细具体一点,精确到每个不同分辨率的设备的gutter请参照http://v3.bootcss.com/css/ (侧边栏less mixin和变量栏))

然后 运行 grunt dist 就能在dist文件夹下取编译后的版本了.

tips 前端 bootstrap 嵌套行 嵌套列 溢出 宽度不正确 栅格化系统计算的更多相关文章

  1. GridView 显示行号 设置行号列的宽度

    /// <summary> /// GridView 显示行号 设置行号列的宽度 /// </summary> /// <param name="gv" ...

  2. Easyui Datagrid 修改显示行号列宽度

    EasyUI中Datagrid的第一列显示行号,可是如果数据量大的的时候,显示行号的那一列数据会显示不完全的. 可以通过修改Datagrid的样式来解决这个问题,在样式中加入下面这个样式,就可以自己修 ...

  3. (转)思考:矩阵及变换,以及矩阵在DirectX和OpenGL中的运用问题:左乘/右乘,行优先/列优先,...

    转自:http://www.cnblogs.com/soroman/archive/2008/03/21/1115571.html 思考:矩阵及变换,以及矩阵在DirectX和OpenGL中的运用1. ...

  4. hive中array嵌套map以及行转列的使用

    1. 数据源信息 {"student": {"name":"king","age":11,"sex" ...

  5. Java 操作Word表格——创建嵌套表格、添加/复制表格行或列、设置表格是否禁止跨页断行

    本文将对如何在Java程序中操作Word表格作进一步介绍.操作要点包括 如何在Word中创建嵌套表格. 对已有表格添加行或者列 复制已有表格中的指定行或者列 对跨页的表格可设置是否禁止跨页断行 创建表 ...

  6. Bootstrap3基础 栅格系统 列中有行,行中有列

      内容 参数   OS   Windows 10 x64   browser   Firefox 65.0.2   framework     Bootstrap 3.3.7   editor    ...

  7. [Js/Jquery]table行转列

    摘要 在使用ews调用exhange的收件箱的并在h5页面显示邮件详情的时候,因为返回的每封邮件的内容都是htmlbody,没有textbody.每封邮件又没什么规律,用正则表达式来匹配内容并不合适, ...

  8. table行转列

    table行转列 摘要 在使用ews调用exhange的收件箱的并在h5页面显示邮件详情的时候,因为返回的每封邮件的内容都是htmlbody,没有textbody.每封邮件又没什么规律,用正则表达式来 ...

  9. SQL进阶-行转列&列转行

    一.行转列 1.建表 CREATE TABLE score( student_id ) NOT NULL COMMENT '学生编号' DEFAULT '', student_name ) NOT N ...

随机推荐

  1. BETA-3

    前言 我们居然又冲刺了·三 团队代码管理github 站立会议 队名:PMS 530雨勤(组长) 过去两天完成了哪些任务 一堆deadline截至前的两天,为了图形学和编译原理毅然决然地放弃冲刺 接下 ...

  2. 5G时代

    电信语音承载在CDMA2G网络--所以2G基本没有网络 网络走fdd4g 如果5G时代来临,4g网络可能就会像3G一样的慢

  3. 通过分析java heap dump解决生产问题

    最近在生产环境遇到一个问题,正常情况下,ECS CPU始终保持在10%以下,内存也只占用40%左右,但是连续2天出现了CPU占用100%的情况,然后系统卡住.看阿里云的ECS监控,能看到CPU飙到了1 ...

  4. vSphere Client 连接ESXi 或者是vCenter 时虚拟机提示VMRC异常的解决办法

    1. 自己的vSphere 连接vCenter 向管理虚拟机 结果发现总是有异常. 提示如图示 VMRC控制台的连接已经断开 2. 花了比较长的时间也没搞定. 后来百度发现 关闭一个进程 然后重新登录 ...

  5. AJAX 跨域问题 php

    原生ajax请求方式: var xhr = new XMLHttpRequest(); xhr.open("POST", "http://xxxx.com/demo/b/ ...

  6. C语言版kafka消费者代码运行时异常kafka receive failed disconnected

    https://github.com/edenhill/librdkafka/wiki/Broker-version-compatibility如果使用了broker版本是0.8的话, 在运行例程时需 ...

  7. three.js:Failed to execute 'texImage2D' on 'WebGLRenderingContext解决方案

    three.js加载图片时,出现Failed to execute 'texImage2D' on 'WebGLRenderingContext .Tainted canvases may not b ...

  8. sourcetree git合并问题

    在使用sourcetree做多功能合并(合并不提交)的时候,有时按钮是灰色的,直接点击右上角命令行模式 git merge <branch1> --no-commit 转载请注明博客出处: ...

  9. 【2018CCPC秦皇岛】

    递推式的线段树可以用矩阵维护.

  10. PPT高手博客

    让PPT设计NEW一NEW——Lonely Fish http://lonelyfish1920.blog.163.com/ http://blog.sina.com.cn/s/blog_698717 ...