目錄
CSS 函數指南:掌控樣式的強大工具
常用的CSS 函數
url()
首頁 web前端 css教學 CSS功能指南

CSS功能指南

Apr 06, 2025 am 09:55 AM

CSS Functions Guide

CSS 函數指南:掌控樣式的強大工具

如同其他編程語言一樣,CSS 也擁有函數。這些函數可以插入到值的位置,或在某些情況下,伴隨另一個值聲明使用。一些CSS 函數甚至允許你嵌套其他函數!

更多在編程中,函數是執行特定任務的一段命名代碼。例如,JavaScript 中一個名為sayWoof()的函數:

 function sayWoof() {
 console.log("Woof!");
}
登入後複製

我們可以在定義所需行為後,在代碼的後面使用此函數。在這個例子中,任何時候你在你的網站或Web 應用的JavaScript 中鍵入sayWoof() ,它都會將“Woof!”打印到瀏覽器的控制台。

函數也可以使用參數,這些參數是用於數字或文本片段的槽位,你可以將它們輸入函數的邏輯中以修改它們。在JavaScript 中,它是這樣工作的:

 function countDogs(amount) {
 console.log("There are " amount " dogs!");
}
登入後複製

這裡,我們有一個名為countDogs()的函數,它有一個名為amount的參數。當為amount提供一個數字時,它將獲取該數字並將其添加到預先指定的句子中。這使我們能夠創建告訴我們我們統計了多少條狗的句子。

 countDogs(3); // There are 3 dogs!
countDogs(276); // There are 276 dogs!
countDogs("many"); // There are many dogs!
登入後複製

一些編程語言自帶內置函數,以幫助你避免為每個新項目重新發明輪子。通常,這些函數旨在幫助更輕鬆地使用該語言的主要優勢和功能。

例如,庫。庫是由精心挑選的函數集合組成的代碼集合,旨在幫助加快和簡化開發——例如FitVids.js,用於創建靈活的視頻元素。

### CSS 函數的基礎知識

與其他編程語言不同,我們不能在CSS 中創建我們自己的函數。這種邏輯保留給CSS 選擇器,它允許你創建強大的條件樣式規則。

與其他編程語言不同——其他編程語言中函數的輸出通常會隱式地影響後續的邏輯——CSS 函數的輸出本質上是可視的。此輸出用於控制內容的佈局和演示。例如:

 .has-orange-glow {
  filter: drop-shadow(0.25rem 0 0.75rem #ef9035);
}
登入後複製

CSS filter函數drop-shadow()使用我們提供的參數在應用它的任何內容上創建一個橙色的外發光效果。

在下面的演示中,我有一個名為toggleOrangeGlow的JavaScript 函數,它在CSS-Tricks 徽標上切換.has-orange-glow類的應用。將其與CSS 過渡結合使用,我們可以創建一個很酷的發光效果:

你可能熟悉一些CSS 函數,但該語言有一個令人驚訝的廣泛列表!

與Web 上的任何其他技術一樣,不同的CSS 函數具有不同的瀏覽器支持級別。確保你進行研究和測試以確保你的體驗對每個人都有效,並使用諸如@supports之類的東西來提供高質量的替代體驗。

常用的CSS 函數

url()

 .el {
  background: url(/images/image.jpg);
}
登入後複製

使用url() url()允許你鏈接到其他資源以加載它們。這可以包括圖像、字體,甚至是其他樣式表。出於性能原因,最好限制你通過url()加載的內容,因為每個聲明都是一個額外的HTTP 請求。

#### attr()

 /*<div data-example="foo"> */
div {
  content: attr(data-example);
}<p><details><summary>使用<code>attr()</code></summary><p>此函數允許我們進入HTML,獲取屬性的內容,並將其提供給CSS <code>content</code>屬性。你通常會看到<code>attr()</code>用於打印樣式表中,它用於在鏈接文本後顯示鏈接的URL。此函數的另一個很好的應用是,如果圖像加載失敗,則使用它來顯示圖像的替代說明。</p></details></p>
<p> #### <code>calc()</code></p>
<pre class="brush:php;toolbar:false"> .el {
  width: calc(100vw - 80px);
}
登入後複製

使用calc()

如果你有一個函數應該花一些時間來試驗,那就是calc() 。我們有一份完整的關於calc()的指南。

此函數接受兩個參數,並根據你提供的運算符( , -, *, /) 計算結果,前提是這些參數是有或沒有伴隨單位的數字。

與Sass 等CSS 預處理器不同, calc()可以混合單位,這意味著你可以做一些事情,例如從100% 中減去6rem。 calc()也是動態更新的,因此如果100% 代表寬度,那麼如果該寬度發生變化,它仍然有效。 calc()也可以接受CSS 自定義屬性作為參數,這為你提供了令人難以置信的靈活性。

#### lang()

 p:lang(en) {
  quotes: "\201C" "\201D" "\2018" "\2019" "\201C" "\201D" "\2018" "\2019";
}
登入後複製

使用lang()

在你的HTML 中包含lang屬性是一件非常重要的事情。當它出現在你的HTML 中時,你可以使用lang()函數來定位屬性值的出現,並根據它有條件地應用樣式。

此選擇器的一個常見用途是設置特定於語言的引號,這對於國際化等非常有用。

聰明的設計師和開發人員也可能將其用作樣式翻譯版本的網站的鉤子,其中文化和/或語言方面的考慮意味著對負空間等事物的看法有所不同。

#### :not()

 h3:not(:first-child) {
  margin-top: 0;
}
登入後複製

使用not()

此偽類選擇器將選擇任何不是你指定的內容。例如,你可以使用body:not(img)來定位任何不是圖像的內容。雖然此示例非常強大,但將:not()作用域限定為更集中的選擇器(例如BEM 的塊類)可以為你提供很大的多功能性。

目前, :not()只支持一個選擇器作為其參數,但是正在開發對多個逗號分隔的參數的支持(例如div:not(.this, .that) )!

等等,更多函數介紹請參考原文。 由於篇幅限制,此處省略了原文中剩餘的大量CSS函數介紹。 請參考原文獲取完整信息。

以上是CSS功能指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱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

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

熱門話題

Java教學
1662
14
CakePHP 教程
1419
52
Laravel 教程
1312
25
PHP教程
1262
29
C# 教程
1235
24
Google字體可變字體 Google字體可變字體 Apr 09, 2025 am 10:42 AM

我看到Google字體推出了新設計(Tweet)。與上一次大型重新設計相比,這感覺更加迭代。我幾乎無法分辨出區別

如何使用HTML,CSS和JavaScript創建動畫倒計時計時器 如何使用HTML,CSS和JavaScript創建動畫倒計時計時器 Apr 11, 2025 am 11:29 AM

您是否曾經在項目上需要一個倒計時計時器?對於這樣的東西,可以自然訪問插件,但實際上更多

HTML數據屬性指南 HTML數據屬性指南 Apr 11, 2025 am 11:50 AM

您想了解的有關HTML,CSS和JavaScript中數據屬性的所有信息。

我們如何創建一個在SVG中生成格子呢模式的靜態站點 我們如何創建一個在SVG中生成格子呢模式的靜態站點 Apr 09, 2025 am 11:29 AM

格子呢是一塊圖案布,通常與蘇格蘭有關,尤其是他們時尚的蘇格蘭語。在Tar​​tanify.com上,我們收集了5,000多個格子呢

使Sass更快的概念證明 使Sass更快的概念證明 Apr 16, 2025 am 10:38 AM

在一個新項目開始時,Sass彙編發生在眼睛的眨眼中。感覺很棒,尤其是當它與browsersync配對時,它重新加載

php是A-OK用於模板 php是A-OK用於模板 Apr 11, 2025 am 11:04 AM

PHP模板通常會因促進Subpar代碼而變得不良說唱,但這並不是這樣的情況。讓我們看一下PHP項目如何執行基本的

如何在WordPress主題中構建VUE組件 如何在WordPress主題中構建VUE組件 Apr 11, 2025 am 11:03 AM

內聯式模板指令使我們能夠將豐富的VUE組件構建為對現有WordPress標記的逐步增強。

編程SASS創建可訪問的顏色組合 編程SASS創建可訪問的顏色組合 Apr 09, 2025 am 11:30 AM

我們一直在尋求使網絡更容易訪問。顏色對比只是數學,因此Sass可以幫助涵蓋設計師可能錯過的邊緣案例。

See all articles