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可访问其它域名的cookie的方法
Sep 18 Javascript
你未必知道的JavaScript和CSS交互的5种方法
Apr 02 Javascript
jquery地址栏链接与a标签链接匹配之特效代码总结
Aug 24 Javascript
jQuery 3.0 的 setter和getter 模式详解
Jul 11 Javascript
老生常谈Javascript中的原型和this指针
Oct 09 Javascript
js实现复选框的全选和取消全选效果
Jan 03 Javascript
Vue学习笔记进阶篇之函数化组件解析
Jul 21 Javascript
微信小程序使用Socket的实例
Sep 19 Javascript
详解Vue+axios+Node+express实现文件上传(用户头像上传)
Aug 10 Javascript
原生JS实现$.param() 函数的方法
Aug 10 Javascript
vue配置文件实现代理v2版本的方法
Jun 21 Javascript
vue3中provide && inject的使用
Jul 01 Vue.js
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基础学习笔记
2007/03/18 PHP
关于PHPDocument 代码注释规范的总结
2013/06/25 PHP
jQuery 常见操作实现方式和常用函数方法总结
2011/05/06 Javascript
jQuery+CSS 半开折叠效果原理及代码(自写)
2013/03/04 Javascript
js实现简洁的TAB滑动门效果代码
2015/09/06 Javascript
jQuery简单实现上下,左右滑动的方法
2016/06/01 Javascript
jQuery中deferred对象使用方法详解
2016/07/14 Javascript
angular源码学习第一篇 setupModuleLoader方法
2016/10/20 Javascript
Angular的$http的ajax的请求操作(推荐)
2017/01/10 Javascript
Webpack+Vue如何导入Jquery和Jquery的第三方插件
2017/02/20 Javascript
基于ES6作用域和解构赋值详解
2017/11/03 Javascript
利用Javascript实现一套自定义事件机制
2017/12/14 Javascript
通过vue-router懒加载解决首次加载时资源过多导致的速度缓慢问题
2018/04/08 Javascript
js实现简单的无缝轮播效果
2020/09/05 Javascript
python获取文件版本信息、公司名和产品名的方法
2014/10/05 Python
python压缩文件夹内所有文件为zip文件的方法
2015/06/20 Python
Python内置模块turtle绘图详解
2017/12/09 Python
Django中redis的使用方法(包括安装、配置、启动)
2018/02/21 Python
python根据list重命名文件夹里的所有文件实例
2018/10/25 Python
使用python来调用CAN通讯的DLL实现方法
2019/07/03 Python
Tensorflow进行多维矩阵的拆分与拼接实例
2020/02/07 Python
StubHub墨西哥:购买和出售您的门票
2016/09/17 全球购物
Sephora丝芙兰泰国官方网站:国际知名化妆品购物
2017/11/15 全球购物
100%植物性、有机、即食餐:Sakara Life
2018/10/25 全球购物
招商业务员岗位职责
2013/12/16 职场文书
英语感恩演讲稿
2014/01/14 职场文书
《春到梅花山》教学反思
2014/04/16 职场文书
冬季施工防火方案
2014/05/17 职场文书
党员干部民主生活会议批评与自我批评材料
2014/09/20 职场文书
党的群众路线教育实践活动总结
2014/10/30 职场文书
2014年助理工程师工作总结
2014/11/14 职场文书
2015年护理工作总结范文
2015/04/03 职场文书
紫日观后感
2015/06/05 职场文书
上甘岭观后感
2015/06/10 职场文书
婚礼双方父亲致辞
2015/07/27 职场文书
PHP实现rar解压读取扩展包小结
2021/06/03 PHP