為Web開發人員,最常見的事情之一就是更改HTML元素的背景顏色。但是,如果您不了解如何使用CSS background-color屬性,可能會產生混淆。在本文中,我們討論以下幾點
1.HTML元素的默認背景色值
2.如何更改div的背景顏色,這是非常常見的元素
3.該background-color屬性會影響CSS盒子模型的哪些部分,以及
4.此屬性可以采用的不同值。
div的默認背景顏色是transparent。因此,如果您不指定div的背景色,它將顯示其父元素的背景色。
在此示例中,我們將更改以下div的背景顏色。
<div class="div-1"> I love HTML </div>
<div class="div-2"> I love CSS </div>
<div class="div-3"> I love JavaScript </div>
沒有任何樣式,它將在視覺上轉換為以下內容。
讓我們通過向類中添加樣式來更改div的背景顏色。您可以通過嘗試HTML文件中的示例進行操作。
<style>
.div-1 {
background-color: #EBEBEB;
}
.div-2 {
background-color: #ABBAEA;
}
.div-3 {
background-color: #FBD603;
}
</style>
<body>
<div class="div-1"> I love HTML </div>
<div class="div-2"> I love CSS </div>
<div class="div-3"> I love JavaScript </div>
</body>
這將導致以下結果:
看!我們已成功更改了該div的背景顏色。接下來,讓我們更多地了解此屬性。讓我們看看background-color屬性如何影響CSS-box模型的各個部分。
根據CSS框模型,所有HTML元素都可以建模為矩形框。每個盒子由4個部分組成,如下圖所示。
如果您不熟悉Box模型,則可以查閱相關資料。問題是,當您更改div的背景顏色時,Box模型的哪一部分會受到影響?簡單的答案是填充區域和內容區域。讓我們通過一個例子來確認這一點。
<style>
body {
background-color: #ABBAEA;
}
div {
height: 200px;
margin: 20px;
border: 5px solid;
background-color: #FBD603;
}
</style>
<body>
<div>
<p>This is the parent div which contains the div we are testing</p>
<div>
<p>This example shows that changing the background color of a div does not affect the border and margin of the div.</p>
</div>
</div>
</body>
這將導致:
從上面的示例中,我們可以看到空白區域和邊框區域不受背景顏色變化的影響。我們可以使用border-color屬性更改邊框的顏色。邊距區域保持透明,并反映父容器的背景色。
最后,讓我們討論background-color屬性可以采用的值。
就像color屬性一樣,background-color屬性可以采用六個不同的值。讓我們通過一個示例考慮三個最常見的值。在示例中,我們將div的背景色設置為具有不同值的紅色。
<style>
/* Keyword value/name of color */
.div-1 {
background-color: red;
}
/* Hexadecimal value */
.div-2 {
background-color: #FF0000;
}
/* RGB value */
.div-3 {
background-color: rgb(255,0,0);
}
</style>
<body>
<div class="div-1">
<p>The background property can take six different values.</p>
</div>
<div class="div-2">
<p>The background property can take six different values.</p>
</div>
<div class="div-3">
<p>The background property can take six different values.</p>
</div>
</body>
注意,它們的結果都是相同的背景色。
該background-color屬性可以采用的其他值包括HSL值,特殊關鍵字值和全局值。這是每個例子。
/* HSL value */
background-color: hsl(0, 100%, 25%;
/* Special keyword values */
background-color: currentcolor;
background-color: transparent;
/* Global values */
background-color: inherit;
background-color: initial;
background-color: unset;
設置元素的背景色時,重要的是要確保背景色和其包含的文本顏色的對比度足夠高。這是為了確保弱視人士可以輕松閱讀文本。
第一個div的背景顏色與文本顏色之間的對比度不夠高,每個人都看不到。因此,除非您是唯一正在使用的網站,并且您的視力非常好,否則應避免這種顏色組合。
第二個div在背景顏色和文本顏色之間具有更好的對比度。因此,它使人們更容易閱讀和閱讀。
在本文中,我們看到了如何更改div的背景顏色。我們還討論了CSS Box模型的哪些部分受背景顏色變化的影響。最后,我們討論了background-color屬性可以采用的值。
希望本文對您有所幫助。謝謝閱讀。
頭條創作挑戰賽#
【今日HTML小知識-2:設置顏色透明】在網頁布局中有時為了網頁的整體美觀,可能需要將網頁中的某些部分設置為背景顏色透明,那么如何設置背景顏色透明呢?本篇文章就來給大家介紹一下設置背景顏色透明的兩種方法。
background屬性中屬性值比較簡單,這里就不細說了,opacity屬性參數的"不透明度"是以數字表示,從 0.0 至 1.0 都可以,完全透明是 0.0,完全不透明是1.0,換句話說,數字越大代表元素越不透明。代碼示例如下:
代碼
示例效果
注意:通過backgroud和opacity設置背景顏色透明度,如果背景上面有文字的話,那么文字也會變成透明,就像上面的效果一樣。
所謂RGBA顏色,就是RGB三原色加ALPHA。在給背景添加顏色的同時,提供透明度特性。
用法:background:rgba(R, G, B, A) ;
代碼實例如下:
代碼
示例效果
注意:通過rgba方式設置背景顏色透明度,可以設置背景顏色透明而文字不透明。
以上為HTML設置背景透明色的兩種方法,希望能幫助到正在學習HTML的你們噢~~~
新人作者,如有不足地方,希望大家多多交流,隨時補充噢~~~
內容首發于工粽號:程序員大澈,每日分享一段優質代碼片段,歡迎關注和投稿!
大家好,我是大澈!
本文約 1400+ 字,整篇閱讀約需 2 分鐘。
今天分享一段優質 CSS 代碼片段,讓文本和背景色混合產生一種獨特的效果,就像下圖這種。
老規矩,先閱讀代碼片段并思考,再看代碼解析再思考,最后評論區留下你的見解!
<div class="banner">
<h1 class="title">每日分享一段優質代碼片段,歡迎關注與投稿!</h1>
</div>
.banner {
height: 230px;
background-image: url(./img/banner.png);
background-repeat: no-repeat;
background-size: 100% 230px;
line-height: 230px;
text-align: center;
}
.title {
margin: 0;
color: #fff;
font-size: 50px;
/* 關鍵點 */
mix-blend-mode: difference;
}
分享原因
這段代碼展示了如何使用 CSS 和 HTML 創建一個帶有背景圖片和標題文本的橫幅(banner),并且通過 mix-blend-mode: difference; 為標題文本添加混合模式效果。
mix-blend-mode 屬性可以為元素設置混合模式,使其顏色與背景顏色混合,從而創建有趣的視覺效果。
這個效果在設計中很常見,能增加頁面的視覺吸引力,強調和突出文本內容。
代碼解析
1. banner 類
設置背景元素基礎樣式。
定義背景圖片,以及讓文本垂直水平居中對齊。
2. mix-blend-mode: difference;
這是一個關鍵設置。
使用了 mix-blend-mode: difference; ,這意味著標題文字的顏色將與其父元素(.banner)的背景顏色進行差值計算,產生類似于反相的效果。
在這種情況下,由于父元素(.banner)的背景是白色,而文字原本的顏色是白色,通過差值計算后,文字顏色就變成了黑色,從而讓白色文字在白色背景上也能夠顯示。
3. mix-blend-mode 屬性詳解
mix-blend-mode CSS 屬性描述了元素的內容應該與其直系父元素的內容和元素的背景如何混合。
它允許創建各種視覺效果,例如半透明效果、陰影、圖片蒙版等。
以下是兼容性:
以下是一些常見的屬性值:
normal:這是默認值,使用正常的顏色混合模式,不產生特殊混合效果。
multiply:將兩個顏色的值相乘,會得到一個更暗的顏色,常用于創建陰影效果。
screen:將兩個顏色的值相加,然后減去相乘的值,會得到一個更亮的顏色,可用于創建高光效果。
overlay:根據背景顏色的亮度來選擇顏色混合模式。如果背景顏色較暗,則使用 multiply 模式;如果背景顏色較亮,則使用 screen 模式。
darken:將兩個顏色的值進行比較,使用較暗的那個顏色。
lighten:與 darken 相反,使用較亮的那個顏色。
color-dodge:將前景色分解為 RGB 分量,并將每個分量分別除以(1 減去背景色的對應分量),然后將每個分量限制在 0 到 1 之間,并使用限制后的前景色作為混合色。這種模式會使顏色變亮。
color-burn:將前景色分解為 RGB 分量,并將每個分量分別除以背景色的對應分量,然后將每個分量限制在 0 到 1 之間,并使用限制后的前景色作為混合色。它會使顏色變暗。
difference:將前景色減去背景色的值,并取絕對值,會導致一種反相的效果。
exclusion:將前景色和背景色的值相加,然后減去相乘的值的兩倍,常用于創建反相效果,但其對比度比 difference 更低,顏色更柔和。
hue:將前景色的色相(hue)與背景色的飽和度(saturation)和亮度(lightness)混合,可在不改變亮度和飽和度的情況下改變顏色。
saturation:將前景色的飽和度與背景色的色相和亮度混合,用于在不改變顏色的情況下改變飽和度。
color:將前景色的色相、飽和度和亮度與背景色混合,會在改變所有顏色屬性的情況下改變前景色的顏色。
luminosity:將前景色的亮度與背景色的色相和飽和度混合,可在不改變顏色的情況下改變亮度。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。