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 相关文章推荐
利用CSS、JavaScript及Ajax实现高效的图片预加载
Oct 16 Javascript
js showModalDialog弹出窗口实例详解
Jan 07 Javascript
jQuery实现带动画效果的多级下拉菜单代码
Sep 08 Javascript
工作中比较实用的JavaScript验证和数据处理的干货(经典)
Aug 03 Javascript
Vue.js中用webpack合并打包多个组件并实现按需加载
Feb 17 Javascript
详谈jQuery unbind 删除绑定事件 / 移除标签方法
Mar 02 Javascript
JS+CSS实现下拉刷新/上拉加载插件
Mar 31 Javascript
小程序实现发表评论功能
Jul 06 Javascript
vue 项目打包时样式及背景图片路径找不到的解决方式
Nov 12 Javascript
vue项目中使用particles实现粒子背景效果及遇到的坑(按钮没有点击响应)
Feb 11 Javascript
JS co 函数库的含义和用法实例总结
Apr 08 Javascript
vue 全局封装loading加载教程(全局监听)
Nov 05 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动态创建Web站点的方法
2011/08/14 PHP
PHP中的生成XML文件的4种方法分享
2012/10/06 PHP
php截取中文字符串函数实例
2015/02/23 PHP
Yii2.0建立公共方法简单示例
2019/01/29 PHP
WEB高性能开发之疯狂的HTML压缩
2010/06/19 Javascript
jquery下onpropertychange事件的绑定方法
2010/08/01 Javascript
Script的加载方法小结
2011/01/12 Javascript
firefox下input type="file"的size是多大
2011/10/24 Javascript
基于JavaScript实现单选框下拉菜单添加文件效果
2016/06/26 Javascript
jQuery validate 验证radio实例
2017/03/01 Javascript
Angular学习教程之RouterLink花式跳转
2018/05/03 Javascript
基于React+Redux的SSR实现方法
2018/07/03 Javascript
Mpvue中使用Vant Weapp组件库的方法步骤
2019/05/16 Javascript
JS实现查找数组中对象的属性值是否存在示例
2019/05/24 Javascript
nodejs文件夹深层复制功能
2019/09/03 NodeJs
Vue中避免滥用this去读取data中数据
2021/03/02 Vue.js
[01:50]《我与DAC》之玩家:iG夺冠时的那面红旗
2018/03/29 DOTA
跟老齐学Python之从格式化表达式到方法
2014/09/28 Python
Python、Javascript中的闭包比较
2015/02/04 Python
Python开发微信公众平台的方法详解【基于weixin-knife】
2017/07/08 Python
python web.py开发httpserver解决跨域问题实例解析
2018/02/12 Python
详解python中的模块及包导入
2019/08/30 Python
基于Django OneToOneField和ForeignKey的区别详解
2020/03/30 Python
python中get和post有什么区别
2020/06/19 Python
基于K.image_data_format() == 'channels_first' 的理解
2020/06/29 Python
解决Firefox下不支持outerHTML问题代码分享
2014/06/04 HTML / CSS
AmazeUI 评论列表的实现示例
2020/08/13 HTML / CSS
加拿大最大的五金、家居装修和园艺产品商店:RONA
2017/01/27 全球购物
联想台湾官网:Lenovo TW
2018/05/09 全球购物
Farfetch巴西官网:奢侈品牌时尚购物平台
2020/10/19 全球购物
Tuckernuck官网:经典的美国品质服装、鞋子和配饰
2021/01/11 全球购物
.NET remoting的两种通道是什么
2016/05/31 面试题
母亲节演讲稿范文
2014/01/02 职场文书
交通事故协议书范文
2014/04/16 职场文书
拾金不昧表扬稿大全
2015/05/05 职场文书
Windows server 2012 配置Telnet以及用法详解
2022/04/28 Servers