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输入框邮箱自动提示功能代码实现
Dec 10 Javascript
node.js中使用socket.io制作命名空间
Dec 15 Javascript
JS动态日期时间的获取方法
Sep 28 Javascript
jQuery+ajax实现文章点赞功能的方法
Dec 31 Javascript
浅谈JavaScript中小数和大整数的精度丢失
May 31 Javascript
bootstrap table复杂操作代码
Nov 01 Javascript
Bootstrap3 datetimepicker控件使用实例
Dec 13 Javascript
react-redux中connect的装饰器用法@connect详解
Jan 13 Javascript
微信小程序实现发红包功能
Jul 11 Javascript
vue监听对象及对象属性问题
Aug 20 Javascript
ES6基础之解构赋值(destructuring assignment)
Feb 21 Javascript
使用element-ui的el-menu导航选中后刷新页面保持当前选中状态
Jul 19 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
将文件夹压缩成zip文件的php代码
2009/12/14 PHP
php 读取文件头判断文件类型的实现代码
2013/08/05 PHP
php float不四舍五入截取浮点型字符串方法总结
2013/10/28 PHP
PHP统计数值数组中出现频率最多的10个数字的方法
2015/04/20 PHP
微信支付开发维权通知实例
2016/07/12 PHP
PHP反射API示例分享
2016/10/08 PHP
总结的一些PHP开发中的tips(必看篇)
2017/03/24 PHP
查询绑定数据岛的表格中的文本并修改显示方式的js代码
2009/12/15 Javascript
从零开始学习jQuery (八) 插播:jQuery实施方案
2011/02/23 Javascript
jQuery$命名冲突怎么办如何解决
2014/01/16 Javascript
使用jquery.qrcode生成彩色二维码实例
2014/08/08 Javascript
.NET微信公众号开发之创建自定义菜单
2015/07/16 Javascript
基于JS实现横线提示输入验证码随验证码输入消失(js验证码的实现)
2016/10/27 Javascript
EditPlus 正则表达式 实战(3)
2016/12/15 Javascript
使用vue.js2.0 + ElementUI开发后台管理系统详细教程(二)
2017/01/21 Javascript
javaScript嗅探执行神器-sniffer.js
2017/02/14 Javascript
javascript实现日期三级联动下拉框选择菜单
2020/12/03 Javascript
原生JS实现Ajax跨域请求flask响应内容
2017/10/24 Javascript
AngularJS实现的生成随机数与猜数字大小功能示例
2017/12/25 Javascript
Vue中的vue-resource示例详解
2018/11/02 Javascript
vue 中Virtual Dom被创建的方法
2019/04/15 Javascript
tornado捕获和处理404错误的方法
2014/02/26 Python
Python re模块介绍
2014/11/30 Python
Python类属性的延迟计算
2016/10/22 Python
PyQt5主窗口动态加载Widget实例代码
2018/02/07 Python
使用Matplotlib 绘制精美的数学图形例子
2019/12/13 Python
在keras中获取某一层上的feature map实例
2020/01/24 Python
python随机生成大小写字母数字混合密码(仅20行代码)
2020/02/01 Python
谈一谈数组拼接tf.concat()和np.concatenate()的区别
2020/02/07 Python
Python如何批量获取文件夹的大小并保存
2020/03/31 Python
Python实现查找数据库最接近的数据
2020/06/08 Python
SVG实现多彩圆环倒计时效果的示例代码
2017/11/21 HTML / CSS
印度最大的时尚购物网站:Myntra
2018/09/13 全球购物
高中生第一学年自我鉴定
2014/09/12 职场文书
党员干部形式主义个人整改措施
2014/09/17 职场文书
教师节班会开场白
2015/06/01 职场文书