BootStrap.css 在手機(jī)端滑動時右側(cè)出現(xiàn)空白的原因及解決辦法
最近的一個項目 前臺使用了 bootstrap.css + angularjs, 后臺只處理數(shù)據(jù)(用的php,處理結(jié)果直接 json_encode($arr),非常爽)。一直在Chrome的仿真機(jī)測試非常完美, 沒有進(jìn)行真機(jī)測試。完成后,到手機(jī)測試時傻了,左右滑動頁面時,竟然出現(xiàn)了一個 空白的豎條(如下圖所示)。判斷是margin-right 設(shè)置的長度所致,檢查css,并沒有相關(guān)代碼。看來問題出現(xiàn)在了 bootstrap 。雖然不影響 程序的使用,但是感覺非常別扭,一定要修復(fù)它。
檢查頁面,發(fā)現(xiàn)用柵格系統(tǒng)的頁面才會出現(xiàn)此問題。檢查.row相關(guān)的css,發(fā)現(xiàn)它的margin定義如下:
.row{ margin-left:-15px; margin-right:-15px; }
.row 一般作為 container的下級元素、作為 .col-xx-xx的上級元素。順便查看下 .container 和 con-xx-xx的css:
.container{ padding-left:15px; padding-right:15px; } .col-xx-xx{ padding-left:15px; padding-right:15px; }
.container 的所有元素 內(nèi)邊距 都有 15px 的距離,顯得非常美觀,.col-xx-xx 也設(shè)置了內(nèi)邊距 15px。這樣就無法和 .contariner 的元素對齊了(.col-xx-xx相對于 .container的距離為30px),所以第一個柵格元素元素和最后一個柵格元素 需要分別設(shè)置為 {padding-left:0px;} 、{padding-right:0px;}。這樣解決了對齊的問題,但是設(shè)置之后,雖然每個柵格的寬度一致,顯示的內(nèi)容的寬度又有了 15px 的差距。于是 FB 的天才們巧妙的 采用了 負(fù)數(shù)的外邊框的 解決方案,不僅代碼實現(xiàn)簡單,還沒有 每個 柵格 顯示的內(nèi)容的寬度不一致的問題。
雖然 負(fù)數(shù)的外邊框 這種解決方案好,但是在小屏幕(移動端)會產(chǎn)生空白邊框的問題(本文要解決的痛點)。定制bootstrap解決這個問題,但是太麻煩,最簡單的方法就是復(fù)寫相關(guān)的css。
/* 需要在 bootstrap.css 之后調(diào)用 */ /* Fuck 15px for iPhone Start */ .row{margin:0;} .col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{padding:0;} /* Fuck 15px for iPhone Over */
成功解決,因為 柵格 沒有了 padding,每個柵欄的 寬度一致,顯示的內(nèi)容的寬度也一致,和 contrainer 的元素也能對齊(注意:這個后果也很嚴(yán)重,就是每個柵格之間的內(nèi)容都連在一起了,在內(nèi)部的柵格重新定義內(nèi)邊距和內(nèi)容居中即可解決)。
以上所述是小編給大家介紹的BootStrap.css 在手機(jī)端滑動時右側(cè)出現(xiàn)空白的原因及解決辦法,希望對大家有所幫助!
相關(guān)文章
uniapp微信小程序無法獲取Vue.prototype值的解決方法
在uniapp開發(fā)過程中,各端的一些高度會有區(qū)別,為了方便就要統(tǒng)一放到全局變量中,下面這篇文章主要給大家介紹了關(guān)于uniapp微信小程序無法獲取Vue.prototype值的解決方法,需要的朋友可以參考下2022-10-10web網(wǎng)頁按比例顯示圖片實現(xiàn)原理及js代碼
由于上傳圖片的大小是未知的,在顯示成縮略圖的時候必須進(jìn)行按比例的縮放才能美觀地顯示,本文將為大家簡單的介紹一種比較不錯的方法,有此需求的朋友可以參考下2013-08-08echarts報錯Cannot?read?properties?of?null?(reading?‘getA
最近在開發(fā)Echarts忽然遇到了個問題,這篇文章主要給大家介紹了關(guān)于echarts報錯Cannot?read?properties?of?null?(reading?‘getAttribute‘)的解決方法,需要的朋友可以參考下2023-01-01結(jié)合?ES6?類編寫JavaScript?創(chuàng)建型模式
這篇文章主要介紹了結(jié)合ES6類編寫JavaScript創(chuàng)建型模式,本文開始系統(tǒng)性的對20多種JavaScript?設(shè)計模式進(jìn)行簡單概述,然后結(jié)合ES6類的方式來編寫實例代碼展示其使用方式,需要的朋友可以參考一下2022-07-07