Boostrap栅格系统与自己额外定义的媒体查询的冲突问题


Posted in Javascript onFebruary 19, 2017

html结构如下

<div class="row">
  <div class="col-sm-6 col-xs-12">
    <p class="text-left one">
      1111
    </p>
  </div>
  <div class="col-sm-6 col-xs-12">
    <p class="text-right two">
      2222
    </p>
  </div>
</div>

我想要实现的效果是在屏幕宽度大于768时,1111左对齐,2222右对齐,小于等于768时居中对齐。于是我又额外写了媒体查询

@media (max-width: 768px) {
  .container-fluid .row p{
    color: #fff;
    font-size: 16px;
    text-align: center;
    line-height: 30px;
  }
  .row .text-left{
    margin-top: 20px;
  }
}

最终展示类似下图

Boostrap栅格系统与自己额外定义的媒体查询的冲突问题

Boostrap栅格系统与自己额外定义的媒体查询的冲突问题

看起来一切正常,但是却在临界点768px时出现了问题,如图

Boostrap栅格系统与自己额外定义的媒体查询的冲突问题

打开控制台,会发现右边的两个图标的样式确实使用了text-align:center;,但是为什么展示出来呈现不一样的效果呢

Boostrap栅格系统与自己额外定义的媒体查询的冲突问题

原因在于父级定义的栅格系统,查看.text-right的父级div,会发现它所占的宽度为50%

Boostrap栅格系统与自己额外定义的媒体查询的冲突问题

因此在屏幕宽度为768px时,既有自己定义的样式,也有原来栅格系统的样式,所以导致混乱,根本原因在于没注意栅格系统的实质

/* 超小屏幕(手机,小于 768px) */
/* 没有任何媒体查询相关的代码,因为这在 Bootstrap 中是默认的(还记得 Bootstrap 是移动设备优先的吗?) */
/* 小屏幕(平板,大于等于 768px) */
@media (min-width: @screen-sm-min) { ... }
/* 中等屏幕(桌面显示器,大于等于 992px) */
@media (min-width: @screen-md-min) { ... }
/* 大屏幕(大桌面显示器,大于等于 1200px) */
@media (min-width: @screen-lg-min) { ... }

栅格系统是用min-width定义的,为大于等于,而我们额外定义的媒体查询用的是max-width,为小于等于,刚好有一个768px的重合,导致最终样式混乱。

解决办法:

去除交集,自己定义媒体查询时,定义max-width:767px

以上所述是小编给大家介绍的Boostrap栅格系统与自己额外定义的媒体查询的冲突问题,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Javascript 相关文章推荐
使用JS操作页面表格,元素的一些技巧
Feb 02 Javascript
js获取当月最后一天实例代码
Nov 19 Javascript
js 异步操作回调函数如何控制执行顺序
Dec 24 Javascript
关于javaScript注册click事件传递参数的不成功问题
Jul 18 Javascript
AngularJs定制样式插入到ueditor中的问题小结
Aug 01 Javascript
如何解决IONIC页面底部被遮住无法向上滚动问题
Sep 06 Javascript
angularjs利用directive实现移动端自定义软键盘的示例
Sep 20 Javascript
vue中如何创建多个ueditor实例教程
Nov 14 Javascript
利用babel将es6语法转es5的简单示例
Dec 01 Javascript
vue实现简单的星级评分组件源码
Nov 16 Javascript
微信小程序自定义联系人弹窗
May 26 Javascript
Ajax是什么?Ajax高级用法之Axios技术
Apr 21 Javascript
JavaScript中无法通过div.style.left获取值的解决方法
Feb 19 #Javascript
JS获取浮动(float)元素的style.left值为空的快速解决办法
Feb 19 #Javascript
Angular 输入框实现自定义验证功能
Feb 19 #Javascript
js实现九宫格的随机颜色跳转
Feb 19 #Javascript
原生JS实现垂直手风琴效果
Feb 19 #Javascript
js鼠标移动时禁止选中文字
Feb 19 #Javascript
canvas雪花效果核心代码分享
Feb 19 #Javascript
You might like
一个简单的PHP&amp;MYSQL留言板源码
2020/07/19 PHP
PHP计划任务之关闭浏览器后仍然继续执行的函数
2010/07/22 PHP
使用PHP+Redis实现延迟任务,实现自动取消订单功能
2019/11/21 PHP
php计数排序算法的实现代码(附四个实例代码)
2020/03/31 PHP
js post方式传递提交的实现代码
2010/05/31 Javascript
深入理解JavaScript定时机制
2010/10/29 Javascript
jQuery中.live()方法的用法深入解析
2013/12/30 Javascript
js如何判断用户是否是用微信浏览器
2014/06/05 Javascript
JavaScript弹出对话框的三种方式
2016/03/23 Javascript
避免jQuery名字冲突 noConflict()方法
2016/07/30 Javascript
js仿新浪微博消息发布功能
2017/02/17 Javascript
微信小程序车牌号码模拟键盘输入功能的实现代码
2018/11/11 Javascript
JavaScript一元正号运算符示例代码
2019/06/30 Javascript
layui使用templet格式化表格数据的方法
2019/09/16 Javascript
layui点击左侧导航栏,实现不刷新整个页面,只刷新局部的方法
2019/09/25 Javascript
NUXT SSR初级入门笔记(小结)
2019/12/16 Javascript
windows如何把已安装的nodejs高版本降级为低版本(图文教程)
2020/12/14 NodeJs
Python实现删除当前目录下除当前脚本以外的文件和文件夹实例
2015/07/27 Python
Python脚本暴力破解栅栏密码
2015/10/19 Python
不知道这5种下划线的含义,你就不算真的会Python!
2018/10/09 Python
python 将大文件切分为多个小文件的实例
2019/01/14 Python
在Pycharm中自动添加时间日期作者等信息的方法
2019/01/16 Python
python 实现在一张图中绘制一个小的子图方法
2019/07/07 Python
python输出带颜色字体实例方法
2019/09/01 Python
python如何进行矩阵运算
2020/06/05 Python
canvas像素画板的实现代码
2018/11/21 HTML / CSS
海信商城:海信电视、科龙空调、容声冰箱官方专卖
2017/02/07 全球购物
美国宠物美容和宠物用品购物网站:Cherrybrook
2018/12/07 全球购物
意大利奢侈品牌在线精品店:Jole.it
2020/11/23 全球购物
Java程序员综合测试题
2014/04/25 面试题
深圳茁壮笔试题
2015/05/28 面试题
志愿者活动总结
2014/04/28 职场文书
销售代理协议书
2014/09/30 职场文书
审计局班子四风对照检查材料思想汇报
2014/10/07 职场文书
90行Python代码开发个人云盘应用
2021/04/20 Python
JavaScript实现队列结构过程
2021/12/06 Javascript