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弹出填写提示效果代码
Apr 16 Javascript
使用jQuery validate 验证注册表单实例演示
Mar 25 Javascript
js 数值转换为3位逗号分隔的示例代码
Feb 19 Javascript
angularjs指令中的compile与link函数详解
Dec 06 Javascript
jquery实现点击label的同时触发文本框点击事件的方法
Jun 05 Javascript
JavaScript 中 avalon绑定属性总结
Oct 19 Javascript
ionic3实战教程之随机布局瀑布流的实现方法
Dec 28 Javascript
JavaScript私有变量实例详解
Jan 24 Javascript
layui在form表单页面通过Validform加入简单验证的方法
Sep 06 Javascript
vue开发拖拽进度条滑动组件
Sep 21 Javascript
JavaScript代码异常监控实现过程详解
Feb 17 Javascript
antd Select下拉菜单动态添加option里的内容操作
Nov 02 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
如何实现给定日期的若干天以后的日期
2006/10/09 PHP
php 中文处理函数集合
2008/08/27 PHP
PHP的PSR规范中文版
2013/09/28 PHP
php正则替换处理HTML页面的方法
2015/06/17 PHP
PHP+shell脚本操作Memcached和Apache Status的实例分享
2016/03/11 PHP
PHP读取大文件末尾N行的高效方法推荐
2016/06/03 PHP
php+croppic.js实现剪切上传图片功能
2018/08/14 PHP
Javascript 解疑
2009/11/11 Javascript
JavaScript性能陷阱小结(附实例说明)
2010/12/28 Javascript
JQueryEasyUI Layout布局框架的使用
2013/04/08 Javascript
javascript操作符&quot;!~&quot;详解
2015/02/10 Javascript
jQuery调用ajax请求的常见方法汇总
2015/03/24 Javascript
javascript中html字符串转化为jquery dom对象的方法
2015/08/27 Javascript
微信小程序教程之本地图片上传(leancloud)实例详解
2016/11/16 Javascript
Javascript 判断两个IP是否在同一网段实例代码
2016/11/28 Javascript
详解基于vue-cli配置移动端自适应
2018/01/13 Javascript
bootstrap 点击空白处popover弹出框隐藏实例
2018/01/24 Javascript
实例详解带参数的 npm script
2019/05/28 Javascript
vue实现输入框自动跳转功能
2020/05/20 Javascript
python将xml xsl文件生成html文件存储示例讲解
2013/12/03 Python
Python中的hypot()方法使用简介
2015/05/18 Python
python基于右递归解决八皇后问题的方法
2015/05/25 Python
基于Django的ModelForm组件(详解)
2017/12/07 Python
python3.x+pyqt5实现主窗口状态栏里(嵌入)显示进度条功能
2019/07/04 Python
小学生自我评价范例
2013/09/24 职场文书
教师自荐信范文
2013/12/09 职场文书
竞聘演讲稿范文
2014/01/12 职场文书
大学生村官座谈会发言材料
2014/05/25 职场文书
小学生安全教育广播稿
2014/10/20 职场文书
英文慰问信范文
2015/03/24 职场文书
2015秋季幼儿园开学寄语
2015/03/25 职场文书
迁徙的鸟观后感
2015/06/09 职场文书
大学生先进个人主要事迹材料
2015/11/04 职场文书
PostgreSQL通过oracle_fdw访问Oracle数据的实现步骤
2021/05/21 PostgreSQL
javascript canvas实现雨滴效果
2021/06/09 Javascript
世界十大儿童漫画书排名,法国国宝漫画排第五,第二是轰动日本连环
2022/03/18 欧美动漫