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 写类方式之五
Jul 05 Javascript
基于jquery的仿百度的鼠标移入图片抖动效果
Sep 17 Javascript
jquery map方法使用示例
Apr 23 Javascript
Javascript的严格模式strict mode详细介绍
Jun 06 Javascript
Javascript中获取浏览器类型和操作系统版本等客户端信息常用代码
Jun 28 Javascript
Bootstrap风格的WPF样式
Dec 07 Javascript
jQuery实用密码强度检测
Mar 02 Javascript
使用AngularJS2中的指令实现按钮的切换效果
Mar 27 Javascript
JSON在Javascript中的使用(eval和JSON.parse的区别)详细解析
Sep 05 Javascript
从setTimeout看js函数执行过程
Dec 19 Javascript
Node错误处理笔记之挖坑系列教程
Jun 05 Javascript
Vue自定义弹窗指令的实现代码
Aug 13 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
CodeIgniter钩子用法实例详解
2016/01/20 PHP
php远程下载类分享
2016/04/13 PHP
CI框架整合smarty步骤详解
2016/05/19 PHP
csdn 批量接受好友邀请
2009/02/19 Javascript
web前端开发也需要日志
2010/12/09 Javascript
jQuery Tab插件 用于在Tab中显示iframe,附源码和详细说明
2011/06/27 Javascript
详解数组Array.sort()排序的方法
2020/05/09 Javascript
详解使用JS如何制作简单的ASCII图与单极图
2017/03/31 Javascript
微信小程序之网络请求简单封装实例详解
2017/06/28 Javascript
Angular实现的自定义模糊查询、排序及三角箭头标注功能示例
2017/12/28 Javascript
解决VUEX兼容IE上的报错问题
2018/03/01 Javascript
深入理解Node module模块
2018/03/26 Javascript
详解微信小程序缓存--缓存时效性
2019/05/02 Javascript
vue实现登录页面的验证码以及验证过程解析(面向新手)
2019/08/02 Javascript
vue 强制组件重新渲染(重置)的两种方案
2019/10/29 Javascript
微信小程序缓存支持二次开发封装实现解析
2019/12/16 Javascript
vue页面跳转实现页面缓存操作
2020/07/22 Javascript
vue-quill-editor插入图片路径太长问题解决方法
2021/01/08 Vue.js
Cython 三分钟入门教程
2009/09/17 Python
Python中使用Boolean操作符做真值测试实例
2015/01/30 Python
Python使用MYSQLDB实现从数据库中导出XML文件的方法
2015/05/11 Python
python网络编程之数据传输UDP实例分析
2015/05/20 Python
使用Python+Splinter自动刷新抢12306火车票
2018/01/03 Python
Python 2/3下处理cjk编码的zip文件的方法
2019/04/26 Python
Django中reverse反转并且传递参数的方法
2019/08/06 Python
Python使用Pyqt5实现简易浏览器(最新版本测试过)
2020/04/27 Python
项目副经理岗位职责
2013/12/30 职场文书
小学教师节活动方案
2014/01/31 职场文书
应用数学专业求职信
2014/03/14 职场文书
献爱心活动总结
2014/05/07 职场文书
学校党的群众路线教育实践活动总结报告
2014/07/03 职场文书
交通事故和解协议书
2015/01/27 职场文书
普通员工辞职信范文
2015/05/12 职场文书
如何搭建 MySQL 高可用高性能集群
2021/06/21 MySQL
《Estab Life》4月6日播出 正式PV、主视觉图公开
2022/03/20 日漫
python中urllib包的网络请求教程
2022/04/19 Python