iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >如何解决Boostrap栅格系统与自己额外定义媒体查询的冲突问题
  • 527
分享到

如何解决Boostrap栅格系统与自己额外定义媒体查询的冲突问题

2024-04-02 19:04:59 527人浏览 泡泡鱼
摘要

小编给大家分享一下如何解决Boostrap栅格系统与自己额外定义媒体查询的冲突问题,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!html结构如下<div class=&qu

小编给大家分享一下如何解决Boostrap栅格系统与自己额外定义媒体查询的冲突问题,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

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时,既有自己定义的样式,也有原来栅格系统的样式,所以导致混乱,根本原因在于没注意栅格系统的实质




@media (min-width: @screen-sm-min) { ... }

@media (min-width: @screen-md-min) { ... }

@media (min-width: @screen-lg-min) { ... }

栅格系统是用min-width定义的,为大于等于,而我们额外定义的媒体查询用的是max-width,为小于等于,刚好有一个768px的重合,导致最终样式混乱。

解决办法:

去除交集,自己定义媒体查询时,定义max-width:767px

看完了这篇文章,相信你对“如何解决Boostrap栅格系统与自己额外定义媒体查询的冲突问题”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网JavaScript频道,感谢各位的阅读!

--结束END--

本文标题: 如何解决Boostrap栅格系统与自己额外定义媒体查询的冲突问题

本文链接: https://www.lsjlt.com/news/74809.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作