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 相关文章推荐
Javascript Select操作大集合
May 26 Javascript
javascript学习笔记(十一) 正则表达式介绍
Jun 20 Javascript
jQuery链使用指南
Jan 20 Javascript
jquery+json实现动态商品内容展示的方法
Jan 14 Javascript
JavaScript中输出信息的方法(信息确认框-提示输入框-文档流输出)
Jun 12 Javascript
JS中用三种方式实现导航菜单中的二级下拉菜单
Oct 31 Javascript
JavaScript之RegExp_动力节点Java学院整理
Jun 29 Javascript
使用bootstraptable插件实现表格记录的查询、分页、排序操作
Aug 06 Javascript
layui加载表格,绑定新增,编辑删除,查看按钮事件的例子
Sep 06 Javascript
layui 图片上传+表单提交+ Spring MVC的实例
Sep 21 Javascript
Layui事件监听的实现(表单和数据表格)
Oct 17 Javascript
基于vue实现微博三方登录流程解析
Nov 04 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中如何调用webservice的实例参考
2013/04/25 PHP
php笔记之:初探PHPcms模块开发介绍
2013/04/26 PHP
解决PhpMyAdmin中导入2M以上大文件限制的方法分享
2014/06/06 PHP
如何打开php的gd2库
2017/02/09 PHP
PHP设计模式之状态模式定义与用法详解
2018/04/02 PHP
List Installed Software Features
2007/06/11 Javascript
Cookie 小记
2010/04/01 Javascript
jQuery EasyUI API 中文文档 - Pagination分页
2011/09/29 Javascript
JavaScript 模拟类机制及私有变量的方法及思路
2013/07/10 Javascript
Javascript排序算法之计数排序的实例
2014/04/05 Javascript
JS实现页面超时后自动跳转到登陆页面
2015/01/19 Javascript
Jquery时间轴特效(三种不同类型)
2015/11/02 Javascript
AngularJS进行性能调优的7个建议
2015/12/28 Javascript
关于Jquery中的bind(),on()绑定事件方式总结
2016/10/26 Javascript
原生JS改变透明度实现轮播效果
2017/03/24 Javascript
node微信开发之获取access_token+自定义菜单
2019/03/17 Javascript
基于javascript的拖拽类封装详解
2019/04/19 Javascript
基于ajax实现上传图片代码示例解析
2020/12/03 Javascript
从零学python系列之数据处理编程实例(二)
2014/05/22 Python
pyspark 读取csv文件创建DataFrame的两种方法
2018/06/07 Python
Flask之flask-session的具体使用
2018/07/26 Python
Python rstrip()方法实例详解
2018/11/11 Python
python将字符串转换成json的方法小结
2019/07/09 Python
python打印n位数“水仙花数”(实例代码)
2019/12/25 Python
详解python破解zip文件密码的方法
2020/01/13 Python
卡西欧B级产品官方网站:Casio Outlet
2018/05/22 全球购物
新闻发布会主持词
2014/03/28 职场文书
北京奥运会主题口号
2014/06/13 职场文书
求职意向书
2014/07/29 职场文书
四风问题民主生活会对照检查材料思想汇报
2014/09/27 职场文书
可怜妈妈观后感
2015/06/09 职场文书
运动会闭幕式通讯稿
2015/07/18 职场文书
2019销售早会主持词
2019/06/27 职场文书
如何利用JavaScript实现二叉搜索树
2021/04/02 Javascript
解决Tkinter中button按钮未按却主动执行command函数的问题
2021/05/23 Python
ICOM R71E和R72E图文对比解说
2022/04/07 无线电