成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

揭開空白網(wǎng)頁背景色的神秘面紗

開發(fā) 前端
一個看似簡單實(shí)則有坑的問題:空白網(wǎng)頁的背景色是什么?大家是不是都會認(rèn)為是白色,但事實(shí)并非如此,有時候我們眼睛看到的也不一定是真的。

前言

一個看似簡單實(shí)則有坑的問題:空白網(wǎng)頁的背景色是什么?

大家是不是都會認(rèn)為是白色,但事實(shí)并非如此,有時候我們眼睛看到的也不一定是真的。

頁面根元素背景色

比如下面這段代碼:

<!-- ... -->
<style>
  body {
    background-color: skyblue;
  }
</style>


<body>
    前端南玖
</body>

這樣我們能夠看到整個頁面都變成藍(lán)色。

看到這里可能有人會覺得是body填充了整個視圖,但稍微有經(jīng)驗(yàn)的同學(xué)知道,body的高度在沒定義時應(yīng)該是里面的內(nèi)容撐起的

不信我們可以為body加上邊框再來觀察:

body {
  background-color: skyblue;
  border: 1px dashed black;
}

那么問題又來了:既然body的高度只有內(nèi)容區(qū)域那部分,那為什么整個頁面的背景色都變成了藍(lán)色?

我們可以在w3c規(guī)則中找到Backgrounds of Special Elements這一節(jié),可以看到這些內(nèi)容:

  1. 畫布是呈現(xiàn)文檔的無限平面。
  2. 根元素的背景成為畫布背景,其背景繪制區(qū)域擴(kuò)展到覆蓋整個畫布。

看到這兩句話是不是就能夠理解為什么body的高度只有內(nèi)容區(qū)域那部分,而整個頁面的背景色都變成藍(lán)色了。這是因?yàn)楦氐谋尘吧L制再了整個畫布上

那這跟空白網(wǎng)頁的背景是什么顏色也沒關(guān)系呀?

別急,在w3c規(guī)則中還有這樣一句話:

?根元素不會再次繪制這個背景,也就是說,根元素的背景色是透明的。

因?yàn)閷τ跒g覽器來說把根元素背景與畫布背景繪制成同一個顏色是沒有意義的!

影響畫布的根元素除了body,還有html

比如我們再加上這段代碼

html {
  background-color: red;
  border: 3px dashed seagreen;
}

我們?yōu)閔tml加上了背景色及邊框,大家可以思考下此時的頁面會怎樣渲染呢?

這里我們可以看到html的背景色取代了body的背景色成為了畫布的背景色,而html本身高度也是內(nèi)容撐起的高度。

這樣就能夠證明空白網(wǎng)頁的根元素背景色是透明的,而不是我們認(rèn)為的白色

畫布背景色

既然空白網(wǎng)頁根元素的背景色是透明的,那我們看到的白色會不會是畫布的顏色呢?

這里我們可以使用CSS中的mix-blend-mode混合顏色來驗(yàn)證:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .name {
            color: green;
            mix-blend-mode: difference
        }
    </style>
</head>
<body>
    <div class="name">前端南玖</div>
</body>
</html>

這里如果畫布的背景色是白色的話,那此時的文字顏色應(yīng)該會變成粉色 between(綠色 + 白色)= 粉色

但事實(shí)上文字顏色還是綠色,我們再來給body添加一個白色的背景

body {
  background-color: white;
  border: 1px dashed black;
}
.name {
  color: green;
  mix-blend-mode: difference
}

此時可以看到文字顏色變成了粉色。

所以這里可以證明空白網(wǎng)頁的畫布背景色也是透明的。

瀏覽器底色

上面兩個例子我們分別證明了空白網(wǎng)頁的根元素背景色以及畫布的背景色都是透明的。那么我們看到的“白色”到底是哪里來的?

在w3c中還有這樣一句話:

?

如果畫布背景不是不透明的,則其下方的畫布表面會顯示出來。畫布表面的紋理取決于 UA(但通常是不透明的白色)。

所以,我們看到的所謂白色其實(shí)是瀏覽器的底色。

責(zé)任編輯:華軒 來源: 前端南玖
相關(guān)推薦

2015-08-20 13:43:17

NFV網(wǎng)絡(luò)功能虛擬化

2010-05-26 19:12:41

SVN沖突

2010-05-17 09:13:35

2021-06-07 08:18:12

云計(jì)算云端阿里云

2014-03-12 11:11:39

Storage vMo虛擬機(jī)

2009-09-15 15:34:33

Google Fast

2016-04-06 09:27:10

runtime解密學(xué)習(xí)

2023-11-02 09:55:40

2009-06-01 09:04:44

Google WaveWeb

2018-03-01 09:33:05

軟件定義存儲

2017-10-16 05:56:00

2021-08-11 09:01:48

智能指針Box

2011-08-02 08:59:53

2021-07-28 21:49:01

JVM對象內(nèi)存

2010-06-17 10:53:25

桌面虛擬化

2021-09-17 15:54:41

深度學(xué)習(xí)機(jī)器學(xué)習(xí)人工智能

2021-05-25 09:01:21

Linux命令Bash histor

2020-04-14 10:44:01

區(qū)塊鏈滲透測試比特幣

2024-02-14 09:00:00

機(jī)器學(xué)習(xí)索引ChatGPT

2016-11-16 09:06:59

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 亚洲视频免费在线观看 | 99国产精品久久久久老师 | 免费一级片 | 美人の美乳で授乳プレイ | 久热久热| 91看国产 | 国产高清在线精品一区二区三区 | 亚洲国产一区二区三区在线观看 | 91免费在线 | 91精品久久久久久久 | a级性视频 | 91在线精品一区二区 | 国产欧美日韩综合精品一区二区 | 日韩欧美中文字幕在线观看 | 久久99精品国产 | 中文字幕乱码一区二区三区 | 大久| 在线免费观看黄色 | 久久久久久亚洲 | 午夜a v电影 | 日韩高清国产一区在线 | 欧美视频网 | 九九热精品免费 | 亭亭五月激情 | 日本激情视频在线播放 | 国产在线观看不卡一区二区三区 | 日韩毛片在线观看 | 精品国产欧美一区二区 | 久久99精品久久久水蜜桃 | 欧美不卡一区 | 午夜影院在线观看 | 91精品国产欧美一区二区 | wwwww在线观看 | 亚洲一二三区不卡 | 亚洲乱码国产乱码精品精98午夜 | 午夜在线视频 | 精品久久久久一区二区国产 | 视频二区在线观看 | 99久久精品国产毛片 | 亚洲一区欧美 | 精品国产成人 |