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的offset、client、scroll使用方法详解
Dec 25 Javascript
angularjs中的单元测试实例
Dec 06 Javascript
node.js中的http.response.addTrailers方法使用说明
Dec 14 Javascript
简述JavaScript中正则表达式的使用方法
Jun 15 Javascript
基于touch.js手势库+zepto.js插件开发图片查看器(滑动、缩放、双击缩放)
Nov 17 Javascript
bootstrap Validator 模态框、jsp、表单验证 Ajax提交功能
Feb 17 Javascript
微信小程序实现手指触摸画板
Jul 09 Javascript
vue 权限认证token的实现方法
Jul 17 Javascript
layui复选框限制选择个数的方法
Sep 18 Javascript
微信小程序点击view动态添加样式过程解析
Jan 21 Javascript
JS数组降维的实现Array.prototype.concat.apply([], arr)
Apr 28 Javascript
vue 组件间的通信之子组件向父组件传值的方式
Jul 29 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 魔术方法使用说明
2009/10/20 PHP
PHP文章采集URL补全函数(FormatUrl)
2012/08/02 PHP
php eval函数用法总结
2012/10/31 PHP
php获取textarea的值并处理回车换行的方法
2014/10/20 PHP
php使用指定字符列表生成随机字符串的方法
2015/04/18 PHP
ThinkPHP框架里隐藏index.php
2016/04/12 PHP
thinkphp关于简单的权限判定方法
2017/04/03 PHP
My Desktop :) 桌面式代码
2008/12/29 Javascript
javascript检测flash插件是否被禁用的方法
2016/01/14 Javascript
jquery实现可旋转可拖拽的文字效果代码
2016/01/27 Javascript
Angular中$compile源码分析
2016/01/28 Javascript
javascript实现tab响应式切换特效
2016/01/29 Javascript
JS动态改变浏览器标题的方法
2016/04/06 Javascript
javascript的理解及经典案例分析
2016/05/20 Javascript
Bootstrap select多选下拉框实现代码
2016/12/23 Javascript
JS基于递归算法实现1,2,3,4,5,6,7,8,9倒序放入数组中的方法
2017/01/03 Javascript
vue.js移动端tab组件的封装实践实例
2017/06/30 Javascript
React-Native中props具体使用详解
2017/09/04 Javascript
JS实现json对象数组按对象属性排序操作示例
2018/05/18 Javascript
Angularjs之如何在跨域请求中传输Cookie的方法
2018/06/01 Javascript
vue-cli2打包前和打包后的css前缀不一致的问题解决
2018/08/24 Javascript
浅谈layer弹出层按钮颜色修改方法
2019/09/11 Javascript
微信小程序点击按钮动态切换input的disabled禁用/启用状态功能
2020/03/07 Javascript
JavaScript实现多层颜色选项卡嵌套
2020/09/21 Javascript
[01:06]DOTA2隆重推出2016冬季勇士令状 内含上海特级锦标赛互动指南
2016/02/17 DOTA
浅析Python中的多条件排序实现
2016/06/07 Python
Windows上使用Python增加或删除权限的方法
2018/04/24 Python
selenium+python设置爬虫代理IP的方法
2018/11/29 Python
python 实现目录复制的三种小结
2019/12/04 Python
出门问问全球官方商城:Tichome音箱和TicWatch智能手表
2017/12/02 全球购物
windeln官方海外旗舰店:德淘超人气母婴超市
2017/12/15 全球购物
中国包裹转运寄送国际服务:Famiboat
2019/07/24 全球购物
交通专业个人自荐信格式
2013/09/23 职场文书
人力资源作业细则
2014/03/03 职场文书
团队经理竞聘书
2014/03/31 职场文书
2016三严三实专题教育活动心得体会
2016/01/06 职场文书