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 22 Javascript
JS判断浏览器是否支持某一个CSS3属性的方法
Oct 17 Javascript
javascript实现了照片拖拽点击置顶的照片墙代码
Apr 03 Javascript
JS导出PDF插件的方法(支持中文、图片使用路径)
Jul 12 Javascript
纯css下拉菜单 无需js
Aug 15 Javascript
Vue.js第三天学习笔记(计算属性computed)
Dec 01 Javascript
浅谈jQuery before和insertBefore的区别
Dec 04 Javascript
浅谈js使用in和hasOwnProperty获取对象属性的区别
Apr 27 Javascript
vue实现仿淘宝结账页面实例代码
Nov 08 Javascript
vue中使用sessionStorage记住密码功能
Jul 24 Javascript
Node使用Selenium进行前端自动化操作的代码实现
Oct 10 Javascript
JS函数基本定义与用法示例
Jan 15 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的一些基础知识分享
2011/07/27 PHP
php中过滤非法字符的具体实现
2013/10/29 PHP
php获取远程文件内容的函数
2015/11/02 PHP
javascript 函数声明与函数表达式的区别介绍
2013/10/05 Javascript
jquery内置验证(validate)使用方法示例(表单验证)
2013/12/04 Javascript
js数组循环遍历数组内所有元素的方法
2014/01/18 Javascript
node.js中格式化数字增加千位符的几种方法
2015/07/03 Javascript
基于Javascript实现返回顶部按钮
2016/02/29 Javascript
BootStrap学习系列之布局组件(下拉,按钮组[toolbar],上拉)
2017/01/03 Javascript
给Easyui-Datebox设置隐藏或者不可用的解决方法
2017/05/26 Javascript
响应式框架Bootstrap栅格系统的实例
2017/12/19 Javascript
JS与CSS3实现图片响应鼠标移动放大效果示例
2018/05/04 Javascript
React+Webpack快速上手指南(小结)
2018/08/15 Javascript
nodejs遍历文件夹下并操作HTML/CSS/JS/PNG/JPG的方法
2018/11/01 NodeJs
详解vue.js移动端配置flexible.js及注意事项
2019/04/10 Javascript
vue+flask实现视频合成功能(拖拽上传)
2021/03/04 Vue.js
[02:53]DOTA2英雄基础教程 山岭巨人小小
2013/12/09 DOTA
[02:29]大剑、皮鞭、女装,这届DOTA2勇士令状里都有
2020/07/17 DOTA
Python 编码处理-str与Unicode的区别
2016/09/06 Python
Python实现的本地文件搜索功能示例【测试可用】
2018/05/30 Python
python模拟登陆,用session维持回话的实例
2018/12/27 Python
python 实现一个反向单位矩阵示例
2019/11/29 Python
如何用OpenCV -python3实现视频物体追踪
2019/12/04 Python
关于pytorch中全连接神经网络搭建两种模式详解
2020/01/14 Python
Python super()方法原理详解
2020/03/31 Python
Ubuntu中配置TensorFlow使用环境的方法
2020/04/21 Python
python爬虫利器之requests库的用法(超全面的爬取网页案例)
2020/12/17 Python
Python jieba库分词模式实例用法
2021/01/13 Python
CSS3提交意见输入框样式代码
2014/10/30 HTML / CSS
如何用JQuery进行表单验证
2013/05/29 面试题
计算机应届毕业生自荐信范文
2014/02/23 职场文书
中国入世承诺
2014/04/01 职场文书
经典的毕业生自荐信范文
2014/04/14 职场文书
初中团支书竞选稿
2015/11/21 职场文书
解决redis批量删除key值的问题
2022/03/23 Redis
mysql insert 存在即不插入语法说明
2022/03/25 MySQL