搜尋
首頁web前端css教學使用自定義屬性管理多個背景

Managing Multiple Backgrounds with Custom Properties

CSS自定義屬性的一大優勢在於它們可以作為值的組成部分。假設您正在使用多個背景來實現設計效果。每個背景都將擁有自己的顏色、圖像、重複方式、位置等屬性,這可能會導致代碼冗長!

假設您有四個圖像:

 body {
  background-position: top 10px left 10px, top 10px right 10px, bottom 10px right 10px, bottom 10px left 10px;
  background-repeat: no-repeat;
  background-image: url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/3/angles-top-left.svg), url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/3/angles-top-right.svg), url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/3/angles-bottom-right.svg), url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/3/angles-bottom-left.svg);
}

現在您想在媒體查詢中添加第五個背景:

 @media (min-width: 1500px) {
  body {
    /* 重複所有現有背景,然後添加第五個。 */
  }
}

這將非常冗長!您必須再次重複所有四個圖像,然後再添加第五個。大量的代碼重複!

一種方法是為基本背景集創建一個變量,然後更簡潔地添加第五個背景:

 body {
  --baseBackgrounds: url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/3/angles-top-left.svg), url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/3/angles-top-right.svg), url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/3/angles-bottom-right.svg), url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/3/angles-bottom-left.svg);
  background-position: top 10px left 10px, top 10px right 10px, bottom 10px right 10px, bottom 10px left 10px;
  background-repeat: no-repeat;
  background-image: var(--baseBackgrounds);
}
@media (min-width: 1500px) {
  body {
    background-image: var(--baseBackgrounds), url(added-fifth-background.svg);
  }
}

或者,您可以為每個背景圖像創建一個變量,然後根據需要將它們組合在一起,這可能更清晰易於管理:

 body {
  --bg1: url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/3/angles-top-left.svg);
  --bg2: url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/3/angles-top-right.svg);
  --bg3: url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/3/angles-bottom-right.svg);
  --bg4: url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/3/angles-bottom-left.svg);
  --bg5: url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/3/angles-bottom-left.svg);
  background-image: var(--bg1), var(--bg2), var(--bg3), var(--bg4);
}
@media (min-width: 1500px) {
  body {
    background-image: var(--bg1), var(--bg2), var(--bg3), var(--bg4), var(--bg5);
  }
}

以下是一個基本版本,包含支持查詢:

動態地更改值的特定部分是CSS 自定義屬性的一大優勢!

此外,對於背景,最好將整個簡寫形式作為變量包含在內。這樣,更容易一次性將所有內容組合在一起,而無需像這樣:

 --bg_1_url: url();
--bg_1_size: 100px;
--bg_1_repeat: no-repeat;
/* etc. */

將所有屬性放入簡寫形式並根據需要使用會更容易:

 body {  
  --bg_1: url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/3/angles-top-left.svg) top 10px left 10px / 86px no-repeat;
  --bg_2: url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/3/angles-top-right.svg) top 10px right 10px / 86px no-repeat;
  --bg_3: url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/3/angles-bottom-right.svg) bottom 10px right 10px / 86px no-repeat;
  --bg_4: url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/3/angles-bottom-left.svg) bottom 10px left 10px / 86px no-repeat;

  background: var(--bg_1), var(--bg_2), var(--bg_3), var(--bg_4);
}

就是這樣。

以上是使用自定義屬性管理多個背景的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
另一個JavaScript框架另一個JavaScript框架Apr 22, 2025 am 09:53 AM

2018年3月6日,官方Mozilla Firefox瀏覽器錯誤跟踪器添加了一個新的錯誤。一個開發人員注意到Mozilla的夜間建造問題。這

什麼是設計令牌?什麼是設計令牌?Apr 22, 2025 am 09:44 AM

我最近聽到了很多關於設計令牌的消息,儘管我從來沒有從事一個需要它們的項目,但我認為它們非常有趣,而且

插圖(和音樂)指南的映射,減少和過濾數組方法插圖(和音樂)指南的映射,減少和過濾數組方法Apr 22, 2025 am 09:41 AM

地圖,減少和過濾器是JavaScript中三種非常有用的數組方法,可為開發人員提供大量的功率。讓我們向右跳

Web組件的高級工具Web組件的高級工具Apr 22, 2025 am 09:37 AM

在這個五部分系列的最後四篇文章中,我們對構成Web組件標準的技術進行了廣泛的了解。

網站是汽車,而不是書網站是汽車,而不是書Apr 22, 2025 am 09:36 AM

我一直在想很長一段時間,為什麼感覺像網頁設計和開發不像本地應用程序開發那樣受到尊重,以及為什麼

案例研究:將尖端的CSS功能結合到'課程導航”組件中案例研究:將尖端的CSS功能結合到'課程導航”組件中Apr 22, 2025 am 09:34 AM

丹尼爾(Daniel)的任務是創建用於導航在線課程內容的UI組件,因此發現自己在項目上使用該項目的新CSS功能池中很珍貴。

比本地人好比本地人好Apr 22, 2025 am 09:32 AM

安迪·貝爾(Andy Bell)寫下了他對整個網絡與本地應用程序辯論的想法,我認為這非常有趣。很難通過帖子做到

快速提醒:is()和:withing()基本上與一個關鍵差異相同快速提醒:is()和:withing()基本上與一個關鍵差異相同Apr 22, 2025 am 09:29 AM

我看到了一些最近的帖子,討論了:IS()關係偽選擇者的實用性。除了這樣說之外,無需深入研究

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具