CSS是一個聲明式的語言,主要爲標記語言服務。並不具備很強的邏輯能力等。隨着CSS的不斷變革,CSS中也有具備了函數和運算相關的能力。php
function-name('參數/符號')
複製代碼
如:css
calc(100%-40px)
複製代碼
attr() 函數返回選擇元素的屬性值。html
<span class="tooltip-toggle"
aria-label="Sample text for your tooltip!"
tabindex="0">
.tooltip-toggle::before { content: attr(aria-label); }
複製代碼
calc()能夠說是一個計算器,咱們能夠在裏面運行咱們的計算表達式。express
.element {
width: calc(expression);
}
複製代碼
功能和url()函數相似,只是功能更爲強大。能夠指定回退圖像,對具備方向的圖像進行註釋等。瀏覽器
.special { color: white;
background: image("dark.png", black); }
複製代碼
相似於background-image經過url()加載失敗時,採用background-color作爲降級。bash
image(ltr "arrow.png")
image(rtl "arrow.png")
複製代碼
補充:關於ltr和rtlapp
能夠將網站中的某部分看成圖片渲染(僅Firefox支持這個特性)函數
<div id="css-source">
<p>Lorem ipsum</p>
<img src="" alt="">
</div>
<div id="css-result"></div>
#css-result { background: element(#css-source);
background-size: 50% 50%; }
複製代碼
示例網站
filter能夠用來作各類濾鏡(webkit支持,高版本)
element {
filter: none | <filter-function > [ <filter-function> ]*
}
複製代碼
濾鏡函數:模糊blur()、亮度brightness()、對比度contrast()、陰影drop-shadow()、灰度grayscale()、hue-rotate()、invert()、透明度opacity()、saturate()、sepia()
grayscale{-webkit-filter:grayscale(1);}
複製代碼
轉換函數指的是CSS的transform中用到的屬性值。
該函數容許後代元素循環遍歷一個值列表(瀏覽器仍不支持)
ul{list-style-type:disk;}
li > ul{list-style-type:toggle(disk,circle,square,box);}
複製代碼
用來調用CSS中自定義屬性
:root { --color: red }
.test { color: var(--color) }
複製代碼
counter()、counters()、toggle()、var()和symbols()