国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

css 100vw、100vh出現(xiàn)滾動條怎么解決

這篇具有很好參考價(jià)值的文章主要介紹了css 100vw、100vh出現(xiàn)滾動條怎么解決。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

要搞清楚這個問題首先要知道這兩個單位(vw、vh)是什么意思。vw(vh)是相對于瀏覽器的視口寬度(高度)的,100vh等于瀏覽器的視口寬度,設(shè)置vw和vh會在視口發(fā)生變化時重新計(jì)算寬度和高度。

那么問題來了,什么是瀏覽器的視口,來看下面一張圖:

css 寬度百分百出現(xiàn)滾動條,css,前端,html

上面這張圖中,紅色線條框起來的區(qū)域才是瀏覽器的視口,不是整個瀏覽器可視區(qū)域,也不是這個綠色背景覆蓋的區(qū)域。

知道這些以后,我們給一個盒子設(shè)置100vw和100vh應(yīng)該是讓這個盒子剛好覆蓋瀏覽器視口。那么為什么會出現(xiàn)橫向和縱向的滾動條呢?

上面這張圖的代碼如下:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      .box {
        width: 100vw;
        height: 100vh;
        background: green;
      }
    </style>
  </head>
  <body>
    <div class="box"></div>
  </body>
</html>

在代碼中,我們給body中的一個class為box的盒子設(shè)置了寬度100vw,高度100vh,背景顏色green。我們會注意到,這個綠色背景與視口頂端和左端都有一定白色間隙。這個間隙是由于瀏覽器給body增加默認(rèn)樣式造成的,我們可以通過開發(fā)者工具面板看到這些瀏覽器樣式,如下圖:

css 寬度百分百出現(xiàn)滾動條,css,前端,html

可見瀏覽器給body設(shè)置了一個8px的外邊距。

由于這個外邊距的存在,而我們的盒子的高度是整個視口的高度,所以body的寬高會被綠色盒子撐開,從而導(dǎo)致視口無法完整顯示body元素。

對于瀏覽器來說,有任何一個元素?zé)o法在視口內(nèi)顯示,瀏覽器就會自動加滾動條,這種滾動條(區(qū)別于由于設(shè)置了overflow:scroll出現(xiàn)的滾動條)永遠(yuǎn)出現(xiàn)在緊貼著視口的右側(cè)或下側(cè),同時這種滾動條也是視口的一部分。
所以一開始視口無論橫向和縱向都無法完整顯示body元素,導(dǎo)致了出現(xiàn)了橫向和縱向滾動條。
在不改變這個綠色盒子已有的這兩個屬性的情況下消除滾動條有如下方式,

  • 第一種解決方案是將body的上下左右外邊距都設(shè)置為0。(注意如果有body有任何一個方向的外邊距不為0,都會可能導(dǎo)致橫向和縱向都出現(xiàn)滾動條,這是因?yàn)闄M向的滾動條的出現(xiàn)會使視口的高度變高,縱向滾動條的出現(xiàn)使得視口寬度變寬。)
  • 第二種解決方案是給綠色盒子設(shè)置max-width:100%使得橫向滾動條消失。
  • 第三種解決方案是給body元素設(shè)置溢出隱藏(overflow:hidden)
  • 第四種解決方案是給html元素設(shè)置溢出隱藏overflow:hidden)


第三和第四種方案會導(dǎo)致一部分內(nèi)容無法顯示,隨著可視區(qū)域變化,被隱藏的部分也會變化。

關(guān)于overflow補(bǔ)充一下細(xì)節(jié):overflow是一個速寫屬性,包含overflow-x,overflow-y,所有元素的overflow值默認(rèn)都是visible(可見)。其值可以取得scroll(出現(xiàn)滾動條)、hidden(隱藏溢出的部分)。在視口能正常顯示所有元素的情況下,給body或html元素設(shè)置overflow:scroll會出現(xiàn)無法滑動的橫向和縱向滾動條。
?

?文章來源地址http://www.zghlxwxcb.cn/news/detail-824905.html

到了這里,關(guān)于css 100vw、100vh出現(xiàn)滾動條怎么解決的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包