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

网友投稿 188 2023-06-10


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

html结构如下

1111

2222

我想要实现的效果是在屏幕宽度大于768时,1111左对齐,2222右对齐,小于等于768时居中对齐。于是我又额外写了媒体查询

@medisFmhAeEa (max-width: 768px) {

.container-fluid .row p{

color: #fff;

font-size: 16px;

text-align: center;

line-height: 30px;

}

.row .text-left{

margin-top: 20px;

}

}

最终展示类似下图

看起来一切正常,但是却在临界点768px时出现了问题,如图

打开控制台,会发现右边的两个图标的样式确实使用了text-align:center;,但是为什么展示出来呈现不一样的效果呢

原因在于父级定义的栅格系统,查看.text-right的父级div,会发现它所占的宽度为50%

因此在屏幕宽度为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栅格系统与自己额外定义的媒体查询的冲突问题,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,会及时回复大家的!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:java 深拷贝与浅拷贝机制详解
下一篇:Hibernate中的多表查询及抓取策略
相关文章

 发表评论

暂时没有评论,来抢沙发吧~