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 相关文章推荐
ASP中进行HTML数据及JS数据编码函数
Nov 11 Javascript
JS 控制非法字符的输入代码
Dec 04 Javascript
百度Popup.js弹出框进化版 拖拽小框架发布 兼容IE6/7/8,Firefox,Chrome
Apr 13 Javascript
Grid得到选择行数据的方法总结
Jan 17 Javascript
单击按钮显示隐藏子菜单经典案例
Jan 04 Javascript
javascript通过class来获取元素实现代码
Feb 20 Javascript
js截取中英文字符串、标点符号无乱码示例解读
Apr 17 Javascript
jquery 实现两Select 标签项互调示例代码
Sep 25 Javascript
bootstrap是什么_动力节点Java学院整理
Jul 14 Javascript
react-native 完整实现登录功能的示例代码
Sep 11 Javascript
JavaScript数组特性与实践应用深入详解
Dec 30 Javascript
javascript实现扫雷简易版
Aug 18 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读取excel文件示例分享(更新修改excel)
2014/02/27 PHP
php 数组随机取值的简单实例
2016/05/23 PHP
PHP自定义函数判断是否为Get、Post及Ajax提交的方法
2017/07/27 PHP
textContent在Firefox下与innerText等效的属性
2007/05/12 Javascript
js计算页面刷新的次数
2009/07/20 Javascript
关于Javascript模块化和命名空间管理的问题说明
2010/12/06 Javascript
基于json的jquery地区联动效果代码
2011/07/06 Javascript
node.js中的fs.readlinkSync方法使用说明
2014/12/17 Javascript
SWFObject基本用法实例分析
2015/07/20 Javascript
jQuery控制文本框只能输入数字和字母及使用方法
2016/05/26 Javascript
PHP 实现一种多文件上传的方法
2017/09/20 Javascript
JavaScript强制类型转换和隐式类型转换操作示例
2019/05/01 Javascript
解决Layui 表格自适应高度的问题
2019/11/15 Javascript
解决vue 给window添加和移除resize事件遇到的坑
2020/07/21 Javascript
vue脚手架项目创建步骤详解
2021/03/02 Vue.js
[55:04]海涛DOTA2死魂复燃6.82版本介绍
2014/09/28 DOTA
[57:28]2018DOTA2亚洲邀请赛 4.6 淘汰赛 TNC vs Liquid 第一场
2018/04/10 DOTA
python实现目录树生成示例
2014/03/28 Python
一些Python中的二维数组的操作方法
2015/05/02 Python
读写json中文ASCII乱码问题的解决方法
2016/11/05 Python
python 简单的绘图工具turtle使用详解
2017/06/21 Python
Pycharm代码无法复制,无法选中删除,无法编辑的解决方法
2018/10/22 Python
Python实现打砖块小游戏代码实例
2019/05/18 Python
Django CBV类的用法详解
2019/07/26 Python
Django+uni-app实现数据通信中的请求跨域的示例代码
2019/10/12 Python
Django模板标签{% for %}循环,获取制定条数据实例
2020/05/14 Python
Python GUI库Tkiner使用方法代码示例
2020/11/27 Python
HTML5 Canvas概述
2009/08/26 HTML / CSS
Intimissimi德国网上商店:意大利知名内衣品牌
2018/04/03 全球购物
英国领先的维生素和补充剂品牌:Higher Nature
2019/08/26 全球购物
黄河象教学反思
2014/02/10 职场文书
科级干部考察材料
2014/02/15 职场文书
学校出纳员岗位职责
2014/03/18 职场文书
2015年第十五个全民国防教育日宣传活动方案
2015/05/06 职场文书
党支部评议意见
2015/06/02 职场文书
又涨知识了,自律到底多重要?
2019/06/27 职场文书