css 冷知識 css變數

2021-08-13 09:18:33 字數 1610 閱讀 9297

*** css變數的宣告  **

變數名前加兩根連線詞( -- )

body

各種值都可以放入css變數

變數名大小寫敏感

***  變數讀取  ***

var()函式

body

var()函式可以使用第二個引數,表示變數的預設值。如果該變數不存在,就會使用這個預設值

color:var(--foo,#ccc)

var()函式也可以用在變數的宣告

body

注意,變數名只能用作於屬性值,不能用於屬性名

body

***  變數值的型別  ***

如果變數值是乙個字串,可以與其他字串拼接

--bar:'hello';

--foo:var(--bar)'world';

body:after

如果變數值是數值,不能與數值單位直接連用。

.foo

數值與單位直接寫在一起是無效的。必須使用calc()函式連線

.foo

如果變數值帶有單位,就不能寫成字串

.foo

.foo

***  作用域  ***

同乙個css變數,可以在多個選擇器內宣告。讀取的時候,優先順序最高的宣告有效。

藍色綠色

紅色***  響應式布局  ***

可以在響應式布局的media命令裡面宣告變數,使得不同的螢幕寬度有不同的變數值

body

a@media screen and (min-widthl768px)

}***  相容處理  ***

對於不支援css變數的瀏覽器,可以採用下面的寫法

a    

也可以使用 @support 命令進行檢測

@supports((--a:0))

@supports(not(--a:0))

***  js操作  ***

js也可以檢測瀏覽器是否支援css變數

const issupported=

window.css &&

window.css.supports &&

window.css.supports('--a',0)

if(issupported)else

js操作css變數的寫法

//設定變數

document.body.style.setproperty('--primary','#aaa');

//讀取變數

document.body.style.getpropertyvlaue('--primary').trim();

//刪除變數

document.body.style.removeproperty('--primary');

eg:

事件監聽,事件資訊被存入css變數

const docstyle=document.docuemntelement.style;

document.addeventlistener('mousemove',(e)=>)

以下**中,--foo的值在css裡面是無效語句,但是可以被js讀取。這意味著,可以把樣式設定在css變數中,讓js讀取

--foo:if(x>5) this.width=10;

外邊距重疊 css冷知識

外邊距重疊就是 margin collapse。相鄰的兩個盒子 可能是兄弟關係也可能是祖先關係 的外邊距可以結合成乙個單獨的外邊距。這種合併外邊距的方式被稱為摺疊,結合而成的外邊距稱為摺疊外邊距 摺疊結果遵循下列計算規則 兩個相鄰的外邊距都是正數時,摺疊結果是它們兩者之間較大的值 兩個相鄰的外邊距都...

css使用變數 使用CSS變數優化CSS長度

css使用變數 您是否曾經不得不編寫大量css,卻迷失了自己的 如果您像我一樣,有時您必須將顏色或文字大小的十六進製制 儲存在可以訪問和重複使用的位置。在本文中,我將分享有關如何使用css變數優化css的知識。css變數是我們定義的值,可在整個css文件中重複使用。css變數 也稱為自定義屬性 在乙...

CSS基礎 使用CSS變數

當我們在開發較大的css檔案時,會遇到使用重複變數的情況,此時可以使用css變數來簡化開發,具體看 示例。宣告css變數 element 使用css變數 element 這裡使用mdn的例子進行說明 one two three four five 我們可以看到上述 中都重複用到了 backgroun...