BootStrap.css 在手机端滑动时右侧出现空白的原因及解决办法


Posted in Javascript onJune 07, 2016

最近的一个项目 前台使用了 bootstrap.css + angularjs, 后台只处理数据(用的php,处理结果直接 json_encode($arr),非常爽)。一直在Chrome的仿真机测试非常完美, 没有进行真机测试。完成后,到手机测试时傻了,左右滑动页面时,竟然出现了一个 空白的竖条(如下图所示)。判断是margin-right 设置的长度所致,检查css,并没有相关代码。看来问题出现在了 bootstrap 。虽然不影响 程序的使用,但是感觉非常别扭,一定要修复它。

BootStrap.css 在手机端滑动时右侧出现空白的原因及解决办法BootStrap.css 在手机端滑动时右侧出现空白的原因及解决办法

检查页面,发现用栅格系统的页面才会出现此问题。检查.row相关的css,发现它的margin定义如下:

.row{
margin-left:-15px;
margin-right:-15px;
}

BootStrap.css 在手机端滑动时右侧出现空白的原因及解决办法 

.row 一般作为 container的下级元素、作为 .col-xx-xx的上级元素。顺便查看下 .container 和 con-xx-xx的css:

.container{
padding-left:15px;
padding-right:15px;
}
.col-xx-xx{
padding-left:15px;
padding-right:15px;
}

BootStrap.css 在手机端滑动时右侧出现空白的原因及解决办法

BootStrap.css 在手机端滑动时右侧出现空白的原因及解决办法

.container 的所有元素 内边距 都有 15px 的距离,显得非常美观,.col-xx-xx 也设置了内边距 15px。这样就无法和 .contariner 的元素对齐了(.col-xx-xx相对于 .container的距离为30px),所以第一个栅格元素元素和最后一个栅格元素 需要分别设置为 {padding-left:0px;} 、{padding-right:0px;}。这样解决了对齐的问题,但是设置之后,虽然每个栅格的宽度一致,显示的内容的宽度又有了 15px 的差距。于是 FB 的天才们巧妙的 采用了 负数的外边框的 解决方案,不仅代码实现简单,还没有 每个 栅格 显示的内容的宽度不一致的问题。

虽然 负数的外边框 这种解决方案好,但是在小屏幕(移动端)会产生空白边框的问题(本文要解决的痛点)。定制bootstrap解决这个问题,但是太麻烦,最简单的方法就是复写相关的css。

/* 需要在 bootstrap.css 之后调用 */
/* Fuck 15px for iPhone Start */
.row{margin:0;}
.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{padding:0;}
/* Fuck 15px for iPhone Over */

成功解决,因为 栅格 没有了 padding,每个栅栏的 宽度一致,显示的内容的宽度也一致,和 contrainer 的元素也能对齐(注意:这个后果也很严重,就是每个栅格之间的内容都连在一起了,在内部的栅格重新定义内边距和内容居中即可解决)。

BootStrap.css 在手机端滑动时右侧出现空白的原因及解决办法 

以上所述是小编给大家介绍的BootStrap.css 在手机端滑动时右侧出现空白的原因及解决办法,希望对大家有所帮助!

Javascript 相关文章推荐
总结AJAX相关JS代码片段和浏览器模型
Aug 15 Javascript
JQuery 解析多维的Json数据格式
Nov 02 Javascript
基于jquery的多彩百分比 动态进度条 投票效果显示效果实现代码
Aug 28 Javascript
如何使用jQuery来处理图片坏链具体实现步骤
May 02 Javascript
JavaScript利用构造函数和原型的方式模拟C#类的功能
Mar 06 Javascript
jQuery元素选择器用法实例
Dec 23 Javascript
IOS中safari下的select下拉菜单文字过长不换行的解决方法
Sep 26 Javascript
js转换对象为xml
Feb 17 Javascript
利用Vue.js框架实现火车票查询系统(附源码)
Feb 27 Javascript
JS实现在文本指定位置插入内容的简单示例
Dec 22 Javascript
在angularJs中进行数据遍历的2种方法
Oct 08 Javascript
vue项目中使用AES实现密码加密解密(ECB和CBC两种模式)
Aug 12 Javascript
DOM操作和jQuery实现选项移动操作的简单实例
Jun 07 #Javascript
Knockoutjs 学习系列(二)花式捆绑
Jun 07 #Javascript
Knockoutjs 学习系列(一)ko初体验
Jun 07 #Javascript
【经典源码收藏】jQuery实用代码片段(筛选,搜索,样式,清除默认值,多选等)
Jun 07 #Javascript
Javascript之Number对象介绍
Jun 07 #Javascript
Javascript之Math对象详解
Jun 07 #Javascript
分享jQuery网页元素拖拽插件
Dec 01 #Javascript
You might like
PHP Warning: PHP Startup: Unable to load dynamic library \ D:/php5/ext/php_mysqli.dll\
2012/06/17 PHP
php除数取整示例
2014/04/24 PHP
Laravel 创建指定表 migrate的例子
2019/10/09 PHP
php进程(线程)通信基础之System V共享内存简单实例分析
2019/11/09 PHP
从零开始学习jQuery (十一) 实战表单验证与自动完成提示插件
2011/02/23 Javascript
JavaScript调用堆栈及setTimeout使用方法深入剖析
2013/02/16 Javascript
控制input输入框中提示信息的显示和隐藏的方法
2014/02/12 Javascript
js实现支持手机滑动切换的轮播图片效果实例
2015/04/29 Javascript
如何防止JavaScript自动插入分号
2015/11/05 Javascript
jquery表单验证插件formValidator使用方法
2016/04/01 Javascript
jquery遍历json对象集合详解
2016/05/18 Javascript
angularjs使用gulp-uglify压缩后执行报错的解决方法
2018/03/07 Javascript
vue.js表单验证插件(vee-validate)的使用教程详解
2019/05/23 Javascript
发布订阅模式在vue中的实际运用实例详解
2019/06/09 Javascript
微信小程序 this.triggerEvent()的具体使用
2019/12/10 Javascript
JavaScript享元模式原理与用法实例详解
2020/03/09 Javascript
JavaScript实现多文件下载方法解析
2020/08/07 Javascript
vue通过接口直接下载java生成好的Excel表格案例
2020/10/26 Javascript
[52:10]LGD vs Optic Supermajor小组赛D组胜者组决赛 BO3 第二场 6.3
2018/06/04 DOTA
python和pyqt实现360的CLable控件
2014/02/21 Python
Python with语句上下文管理器两种实现方法分析
2018/02/09 Python
django初始化数据库的实例
2018/05/27 Python
Python操作MySQL数据库的方法
2018/06/20 Python
Python图片转换成矩阵,矩阵数据转换成图片的实例
2018/07/02 Python
用python一行代码得到数组中某个元素的个数方法
2019/01/28 Python
python使用梯度下降算法实现一个多线性回归
2020/03/24 Python
对python中各个response的使用说明
2020/03/28 Python
通过Python扫描代码关键字并进行预警的实现方法
2020/05/24 Python
python实现自动清理重复文件
2020/08/24 Python
以设计师精品品质提供快速时尚:PopJulia
2018/01/09 全球购物
linux面试题参考答案(10)
2016/10/26 面试题
公务员综合考察材料
2014/02/01 职场文书
大学生个人先进事迹材料范文
2014/05/03 职场文书
烛光里的微笑观后感
2015/06/17 职场文书
Redis高级数据类型Hyperloglog、Bitmap的使用
2021/05/24 Redis
Spring Boot DevTools 全局配置学习指南
2022/03/31 Java/Android