微信小程式 寬度留白問題

2021-08-14 19:56:04 字數 2104 閱讀 3783

先看一下問題:

其實要解決這個問題我們首先要從盒模型說起:

在前端中,盒模型包括:content、padding、border、margin

這是我從網上找的乙個圖,很形象的解釋了盒模型。我在這裡也簡單解釋下盒模型的每個部分的概念。

content:

content就像英文名一樣,意思為內容。我們經常設定的css樣式width和height就是設定content的寬度和高度。該區域也是放置我們實際內容的區域。

padding

相信學過android的同學對這個並不陌生,padding就像它的英文名一樣譯為填充,其實就是設定content和border之間的距離,就像我們給盒子和內容之間放填充物。再直白點,我們直接看圖:

當我們padding為0的時候,我們的content和border(紅色的線,設定了border:1px solid red)是緊挨著的。我們有時候為了美觀,希望他們之間有間隔。我們就可以設定padding。

這是我們設定padding 50px的效果,我們可以充分感覺padding的效果,就像給content和border之間填充了透明物將他們間隔。

border

border就是盒子的邊,就像我們收到的盒子,他會有個邊框會有寬度,我們可以給盒子設定邊框寬度,樣式和顏色。

margin

margin是指盒模型和頁面之間的距離。我們直接看圖。

盒模型分類:標準盒模型和ie盒模型

弄懂了以上的概念,我們離解決問題近了一步了。現在我們只要弄清楚乙個概念,盒模型有2種常用的模式,乙個是標準盒模型,這個也是預設;還有乙個就是ie盒模型。

標準盒模型:當我們給元素設定width和height,預設情況下就是在標準盒模型下,設定的是content的width和height。記住乙個公式。width=contentwidth;height=contentheight。

ie盒模型:當我們設定了ie模型後,我們設定的width和height是指這個盒子的大小,此時的公式是:width=contentwidth+paddingleft+paddingright+borderwidth,height=contentheight+paddingtop+paddingbottom+borderwidth

舉個例子,我們在設定了ie盒模型下,我們設定width為300px,這300px是指content+左右的padding值+盒模型的寬度

標準盒模型和ie盒模型轉換

我們可以通過設定:

box-sizing: content-box;來設定標準盒模型

box-sizing: border-box;來設定ie盒模型

解決方案

弄懂了我們就知道文章剛開始出現的問題在哪了,我們給內容設定了width為100%,卻在預設情況下它是標準盒模型,所以width只是指content的值,此時我們在給他加padding或者設定border寬度的時候,其實盒子的寬度就大於100%了。所以會有留白。

所以我們解決的問題就一句話搞定,我們將標準盒模型設定成ie盒模型,就完美解決問題了。

解決微信小程式設定寬度100 留白的方法

盒模型分類 標準盒模型和ie盒模型 標準盒模型 當我們給元素設定width和height,預設情況下就是在標準盒模型下,設定的是content的width和height。記住乙個公式。width contentwidth height contentheight。ie盒模型 當我們設定了ie模型後,...

微信小程式問題

1.js中this物件 在一般的函式中 bindfachange1 function e this.setdata是正確的。但當在函式中有個請求 wx.request 時 formsubmit function e 這樣會報錯誤 this.setdata is not a function.解決方法...

微信小程式問題

一般情況下是權重的問題,可以在button的樣式class名前面再加一層父容器的樣式class wxml button wrap share button open type share button view wxss button wrap share button錯誤原因 一開始我只寫了.sh...