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)文章
el-date-picker 如何限制選擇六個月內(nèi)的日期
這篇文章主要介紹了el-date-picker 如何限制選擇六個月內(nèi)的日期,本文通過實例代碼給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧2024-07-07
用于CSS代碼壓縮與格式化的javascript函數(shù)代碼
呵呵,發(fā)現(xiàn)只要幾行JS代碼就可實現(xiàn)css的壓縮與格式化,非常不錯。2009-12-12
javascript中alert()與console.log()的區(qū)別
我們在做js調(diào)試的時候使用 alert 可以顯示信息,調(diào)試程序,alert 彈出窗口會中斷程序, 如果要在循環(huán)中顯示信息,手點擊關(guān)閉窗口都累死。而且 alert 顯示對象永遠顯示為[object ]。 自己寫的 log 雖然可以顯示一些 object 信息,但很多功能支持都沒有 console 好2015-08-08
Javascript中的for in循環(huán)和hasOwnProperty結(jié)合使用
當(dāng)檢測某個對象是否擁有某個屬性時,hasOwnProperty 是唯一可以完成這一任務(wù)的方法,在 for in 循環(huán)時,建議增加 hasOwnProperty 進行判斷,可以有效避免擴展本地原型而引起的錯誤2013-06-06

