溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何在CSS中使用 var()變量

發(fā)布時間:2021-05-12 16:40:25 來源:億速云 閱讀:609 作者:Leah 欄目:web開發(fā)

今天就跟大家聊聊有關(guān)如何在CSS中使用 var()變量,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

定義和使用CSS變量

與任何其他CSS定義一樣,變量遵循相同的范圍和繼承規(guī)則。使用它們的最簡單方法是通過將聲明添加到:root偽類來使它們?nèi)挚捎茫员闼衅渌x擇器都可以繼承它。

:root {
  --awesome-blue:#2196F3;
}

要訪問變量中的值,我們可以使用var(…)語法。請注意,名稱區(qū)分大小寫,因此–foo != –FOO。

.element {
background-color:var(--awesome-blue);
}

瀏覽器支持

常用的瀏覽器除了IE都完美支持,您可以在此處獲取更多詳細(xì)信息 –我可以使用CSS變量。下面是幾個例子,展示了CSS變量的典型用法。為確保它們正常工作,請嘗試在我們上面提到的其中一個瀏覽器上查看它們。

示例1 – 主題顏色

當(dāng)我們需要對多個元素一遍又一遍地應(yīng)用相同的規(guī)則時,CSS中的變量是最有用的,例如主題中的重復(fù)顏色。我們不是每次想要重復(fù)使用相同顏色時進(jìn)行復(fù)制和粘貼,而是將其放在變量中并從那里訪問它。

現(xiàn)在,如果我們的客戶不喜歡我們選擇的藍(lán)色陰影,我們可以在一個地方(變量的定義)改變樣式來改變整個主題的顏色。沒有變量,我們必須手動搜索和替換每一次出現(xiàn)。

可將代碼復(fù)制下來在你的編輯器里面測試

* {margin: 0;padding: 0;box-sizing: border-box;}html {padding: 30px;font: normal 13px/1.5 sans-serif;color: #546567;background-color: var(--primary-color);}.container {background: #fff;padding: 20px;}h4 {padding-bottom: 10px;margin-bottom: 15px;}p {background-color: #fff;margin: 15px 0;}button {font-size: 13px;padding: 8px 12px;background-color: #fff;border-radius: 3px;box-shadow: none;text-transform: uppercase;font-weight: bold;cursor: pointer;opacity: 0.8;outline: 0;}button:hover {opacity: 1;}
<!-- 分割線 -->:root {
--primary-color: #B1D7DC;
--accent-color: #FF3F90;
}
html {
background-color: var(--primary-color);
}
h4 {
border-bottom: 2px solid var(--primary-color);
}
button {
color: var(--accent-color);
border: 1px solid var(--accent-color);
}
<div class="container">
<h4>對話框窗口</h4>
<p>過放蕩不羈的生活,容易得像順?biāo)浦?,但是要結(jié)識良朋益友,卻難如登天。</p>
<button>確認(rèn)</button>
</div>

示例地址

示例2 &ndash; 屬性類名可讀性

變量的另一個重要用途是當(dāng)我們想要保存更復(fù)雜的屬性值時,我們不必記住它。最好的例子就是有多個參數(shù),如CSS規(guī)則box-shadow,transform和font。

通過將屬性放在變量中,我們可以使用語義可讀的名稱來訪問它。

html{background-color: #F9F9F9;}
ul{padding: 20px;list-style: none;width: 300px;}
li{font: normal 18px sans-serif;padding: 20px;transition: 0.4s;margin: 10px;color: #444;background-color: #fff;cursor: pointer;}
<!-- 分割線 -->
:root{
--tiny-shadow: 0 2px 1px 0 rgba(0, 0, 0, 0.2);
--animate-right: translateX(20px);
}
li{
box-shadow: var(--tiny-shadow);
}
li:hover{
transform: var(--animate-right);
}
<ul>
<li>我在這里!</li>
<li>我在這里!</li>
<li>我在這里!</li>
</ul>

示例地址

示例3 &ndash; 動態(tài)更改變量

當(dāng)多次聲明自定義屬性時,標(biāo)準(zhǔn)規(guī)則有助于解決沖突,樣式表中最后定義的會覆蓋上面定義的。

下面的示例演示了用戶動態(tài)操作改變屬性是多么容易,同時仍然保持代碼清晰簡潔。

*{margin: 0;padding: 0;box-sizing: border-box;}
html{background: #eee;padding: 30px;font: 500 14px sans-serif;color: #333;line-height: 1.5;}
.blue-container{background: #64B5F6;padding-left: 50px;}
.green-container{background: #AED581;padding-left: 50px;}
.container{background: #fff;padding: 20px;}
p{transition: 0.4s;}
.title{font-weight: bold;}
<!-- 分割線 -->
.blue-container{
--title-text: 18px;
--main-text: 14px;
}
.blue-container:hover{
--title-text: 24px;
--main-text: 16px;
}
.green-container:hover{
--title-text: 30px;
--main-text: 18px;
}
.title{
font-size: var(--title-text);
}
.content{
font-size: var(--main-text);
}
<div class="blue-container">
<div class="green-container">
<div class="container">
<p class="title">這是個標(biāo)題</p>
<p class="content">將鼠標(biāo)懸停在不同的顏色區(qū)域上可以更改此文本和標(biāo)題的大小。</p>
</div>
</div>
</div>

示例地址

正如您所看到的,CSS變量非常簡單易用,開發(fā)人員不必花費(fèi)太多時間在各處開始應(yīng)用它們。以下是擴(kuò)展內(nèi)容:

var()函數(shù)有兩個參數(shù),如果自定義屬性失敗,它可用于提供回退值:

width: var(&ndash;custom-width, 20%);

可以嵌套自定義屬性:

  • &ndash;base-color: #f93ce9;

  • &ndash;background-gradient: linear-gradient(to top, var(&ndash;base-color), #444);

變量可以與CSS的另一個新增功能- calc() 函數(shù)結(jié)合使用。

  • &ndash;container-width: 1000px;

  • max-width: calc(var(&ndash;container-width) / 2);

css的三種引入方式

1.行內(nèi)樣式,最直接最簡單的一種,直接對HTML標(biāo)簽使用style=""。2.內(nèi)嵌樣式,就是將CSS代碼寫在之間,并且用

進(jìn)行聲明。3.外部樣式,其中鏈接樣式是使用頻率最高,最實用的樣式,只需要在之間加上

就可以了。其次就是導(dǎo)入樣式,導(dǎo)入樣式和鏈接樣式比較相似,采用@import樣式導(dǎo)入CSS樣式表,不建議使用。

看完上述內(nèi)容,你們對如何在CSS中使用 var()變量有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

css
AI