Boostrap柵格系統(tǒng)與自己額外定義的媒體查詢的沖突問題
html結(jié)構(gòu)如下
<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>
我想要實現(xiàn)的效果是在屏幕寬度大于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;
}
}
最終展示類似下圖


看起來一切正常,但是卻在臨界點768px時出現(xiàn)了問題,如圖

打開控制臺,會發(fā)現(xiàn)右邊的兩個圖標(biāo)的樣式確實使用了text-align:center;,但是為什么展示出來呈現(xiàn)不一樣的效果呢

原因在于父級定義的柵格系統(tǒng),查看.text-right的父級div,會發(fā)現(xiàn)它所占的寬度為50%

因此在屏幕寬度為768px時,既有自己定義的樣式,也有原來柵格系統(tǒng)的樣式,所以導(dǎo)致混亂,根本原因在于沒注意柵格系統(tǒng)的實質(zhì)
/* 超小屏幕(手機,小于 768px) */
/* 沒有任何媒體查詢相關(guān)的代碼,因為這在 Bootstrap 中是默認的(還記得 Bootstrap 是移動設(shè)備優(yōu)先的嗎?) */
/* 小屏幕(平板,大于等于 768px) */
@media (min-width: @screen-sm-min) { ... }
/* 中等屏幕(桌面顯示器,大于等于 992px) */
@media (min-width: @screen-md-min) { ... }
/* 大屏幕(大桌面顯示器,大于等于 1200px) */
@media (min-width: @screen-lg-min) { ... }
柵格系統(tǒng)是用min-width定義的,為大于等于,而我們額外定義的媒體查詢用的是max-width,為小于等于,剛好有一個768px的重合,導(dǎo)致最終樣式混亂。
解決辦法:
去除交集,自己定義媒體查詢時,定義max-width:767px
以上所述是小編給大家介紹的Boostrap柵格系統(tǒng)與自己額外定義的媒體查詢的沖突問題,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復(fù)大家的!
相關(guān)文章
Jjcarousellite 實現(xiàn)圖片列表滾動的簡單實例
這篇文章主要介紹了Jjcarousellite 實現(xiàn)圖片列表滾動的簡單實例,有需要的朋友可以參考一下2013-11-11
鼠標(biāo)懸停小圖標(biāo)顯示大圖標(biāo)
這篇文章主要介紹了鼠標(biāo)懸停小圖標(biāo)顯示大圖標(biāo)的相關(guān)資料,需要的朋友可以參考下2016-01-01
JS中FileReader類實現(xiàn)文件上傳及時預(yù)覽功能
這篇文章主要為大家詳細介紹了JS中FileReader類實現(xiàn)文件上傳及時預(yù)覽功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-03-03

