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 自动播放的实例代码
Nov 19 Javascript
javascript ajax的5种状态介绍
Aug 18 Javascript
jQuery中:checked选择器用法实例
Jan 04 Javascript
完美实现八种js焦点轮播图(下篇)
Apr 20 Javascript
jQuery事件用法详解
Oct 06 Javascript
jQuery实现鼠标滑过图片移动特效
Dec 08 Javascript
微信小程序实战之登录页面制作(5)
Mar 30 Javascript
利用jqprint插件打印页面内容的实现方法
Jan 09 Javascript
Vue打包后出现一些map文件的解决方法
Feb 13 Javascript
swiper 自动图片无限轮播实现代码
May 21 Javascript
Node.js进阶之核心模块https入门
May 23 Javascript
浅谈vue中组件绑定事件时是否加.native
Nov 09 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中利用wsdl创建标准webservice的实现代码
2011/12/07 PHP
PHP检测用户是否关闭浏览器的方法
2016/02/14 PHP
php实现评论回复删除功能
2017/05/23 PHP
javascript开发中因空格引发的错误
2010/11/08 Javascript
AngularJS入门教程(一):静态模板
2014/12/06 Javascript
js上传图片及预览功能实例分析
2015/04/24 Javascript
jQuery实现折叠、展开的菜单组效果代码
2015/09/16 Javascript
Bootstrap导航栏各元素操作方法(表单、按钮、文本)
2015/12/28 Javascript
JavaScript继承模式粗探
2016/01/12 Javascript
Javascript自执行匿名函数(function() { })()的原理浅析
2016/05/15 Javascript
利用jquery实现瀑布流3种案例
2016/09/18 Javascript
js插件Jcrop自定义截取图片功能
2016/10/14 Javascript
BootStrap表单宽度设置方法
2017/03/10 Javascript
微信小程序使用video组件播放视频功能示例【附源码下载】
2017/12/08 Javascript
浅析Visual Studio Code断点调试Vue
2018/02/27 Javascript
JS实现盒子跟着鼠标移动及键盘方向键控制盒子移动效果示例
2019/01/29 Javascript
详解微信小程序框架wepy踩坑记录(与vue对比)
2019/03/12 Javascript
微信小程序批量监听输入框对按钮样式进行控制的实现代码
2019/10/12 Javascript
[03:14]DOTA2斧王 英雄基础教程
2013/11/26 DOTA
Python类的动态修改的实例方法
2017/03/24 Python
python实现俄罗斯方块游戏
2020/03/25 Python
python画图系列之个性化显示x轴区段文字的实例
2018/12/13 Python
Python实现插入排序和选择排序的方法
2019/05/12 Python
基于Python词云分析政府工作报告关键词
2020/06/02 Python
python实现在线翻译
2020/06/18 Python
联想印度官方网上商店:Lenovo India
2019/08/24 全球购物
什么是servlet链?
2014/07/13 面试题
电子商务毕业生求职信
2013/11/10 职场文书
护士进修自我鉴定
2014/02/07 职场文书
房产买卖委托公证书
2014/04/04 职场文书
法人授权委托书格式
2014/04/08 职场文书
春季防火方案
2014/05/10 职场文书
安全承诺书
2015/01/19 职场文书
李强优秀员工观后感
2015/06/16 职场文书
django学习之ajax post传参的2种格式实例
2021/05/14 Python
Golang实现AES对称加密的过程详解
2021/05/20 Golang