搜尋
首頁web前端css教學你必須了解的三個 CSS小 技巧

各種瀏覽器之間的競爭的白熱化意味著越來越多的人現在開始使用那些支援最新、最先進的W3C Web標準的設備,以一種更具互動性的方式來存取網路。這意味著我們終於能夠利用更強大更靈活的CSS來創造更簡潔,更好維護的瀏覽器前端程式碼。現在讓我們來看看一些也許你還不知道的讓人興奮的CSS 功能。

在CSS中以attr()顯示HTML屬性值

attr()功能早在CSS 2.1標準中就已經出現,但現在才開始普遍流行。它提供了一個巧妙的方法在CSS中使用HTML標籤上的屬性,在許多情況下都能幫你省去了以往需要Javascript處理的過程。

要想使用這個功能,你需要用到三種元素:一個:before:after CSS偽類別樣式, .content屬性,和一個帶有你想使用的HTML屬性名稱的attr()表達式。例如,想去顯示

標題上的data-prefix屬性的值,你可以寫成這樣:

h3:before {
    content: attr(data-prefix) " ";
    }

    <h3 id="This-nbsp-is-nbsp-a-nbsp-heading">This is a heading</h3>

顯然,這個例子並沒有展示它有多大用處,只是展示了它的基本用法。讓我們來試一個更有用的例子,attr()的一個極好的應用就是當使用者列印頁面時將頁面連結顯示出來。為了實現這個,你可以這樣寫:

@media print {
    a:after {
    content: " (link to " attr(href) ") ";
    }
    }

    <a href="example.com">Visit our home page</a>

一旦你知道了這個技巧,你就會吃驚於很多時候它能給你的工作帶來的方便!

提示:在新版的CSS3標準中,attr()功能被擴展,可以用在各種CSS標記中。在CSS2.1中attr()總是傳回一個字串。在CSS3中attr()可以傳回多種不同的型別。

使用counter()在清單中自動加入序號

另外一個在CSS 2.1在就已經支援的功能是counter(),使用它,你能方便的在頁面標題,區塊和其它各種連續出現的頁面內容上添加序號。有了它,你就不必限制於只能使用

    來實現這個效果,你可以更靈活的在頁面上使用自訂數字序列。

    counter-reset定義和用法

    counter-reset 屬性設定某個選擇器出現次數的計數器的值。預設為 0。

    利用這個屬性,計數器可以設定或重設為任何值,可以是正值或負值。如果沒有提供 number,則預設為 0。

    註解:如果使用 "display: none",則無法重置計數器。如果使用 "visibility: hidden",則可以重設計數器。

    註解:如果已規定 !DOCTYPE,那麼 Internet Explorer 8 (以及更高版本)支援 counter-reset 屬性。

    counter-reset可能的值

    描述
    none 預設.不能對選擇器的計數器進行重置。
    id ​​number

    #id 定義重設計數器的選擇器、id 或 class。

    number 可設定此選擇器出現次數的計數器的值。可以是正數、零或負數。

    inherit 規定應該從父元素繼承 counter-reset 屬性的值。


    關鍵就是它真的很簡單:在:before偽類別裡的content屬性加入counter( ):

    body {
        counter-reset: heading;
        }
    
        h4:before {
        counter-increment: heading;
        content: "Heading #" counter(heading) "."; 
        }

    如果你想知道更多關於這個counter歸零和自增方法的知識,請參考關於這個主題的Mozilla
    Developer Network頁面。裡面有個極好的如何使用嵌套counter的例子。

    使用calc()來做算術

    最後,但不是最不重要的,讓我們來說說calc()功能。 calc是英文單字calculate(計算)的縮寫,是css3的一個新增的功能,用來指定元素的長度。這個函數能讓你執行簡單的算術計算,例如計算元素的長寬,免去了你寫不易維護的Javascript程式碼。這個函數支援所有簡單的基本算術運算,包括加減乘除。

    表達式中有「+」和「-」時,其前後必須要有空格,如"widht: calc(12%+5em)"這種沒有空格的寫法是錯誤的;表達式中有「*」和「/」時,其前後可以沒有空格,但建議留有空格。瀏覽器對calc()的兼容性還算不錯,在IE9+、FF4.0+、Chrome19+、Safari6+都得到較好支持,同樣需要在其前面加上各瀏覽器廠商的識別符,不過可惜的是,行動端的瀏覽器大部分還不支持,目前僅有「firefox for android 14.0」支援。

    比方說,你想創建一個元素,使它的寬度佔滿它的父元素,但還要留出一部分像素寬做其它用處:

    .parent {
        width: 100%;
        border: solid black 1px;
        position: relative;
        }
    
        .child {
        position: absolute;
        left: 100px;
        width: calc(90% - 100px);
        background-color: #ff8;
        text-align: center;
        }

    漂亮吧,不是嗎?

    我們可以越來越清楚的發現,CSS已經成熟到在某些方法可以取代javascript,極大的簡化了web開發人員的工作。如果你還不開始利用這些功能,那隻能說是在犯傻。

    以上是你必須了解的三個 CSS小 技巧的詳細內容。更多資訊請關注PHP中文網其他相關文章!

    陳述
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
    這麼多顏色鏈接這麼多顏色鏈接Apr 13, 2025 am 11:36 AM

    最近有一系列有關顏色的工具,文章和資源。請允許我通過將它們四捨五之後關閉幾個標籤,以供您享受。

    自動利潤在Flexbox中的工作方式自動利潤在Flexbox中的工作方式Apr 13, 2025 am 11:35 AM

    羅賓以前已經介紹過這一點,但是我在過去的幾周里聽到了一些關於它的困惑,看到另一個人在解釋它,我想

    移動彩虹移動彩虹Apr 13, 2025 am 11:27 AM

    我絕對喜歡三明治網站的設計。在許多美麗的功能中,這些標題是滾動時帶有彩虹的下線。它不是

    新年,新工作?讓我們做一個網格驅動的簡歷!新年,新工作?讓我們做一個網格驅動的簡歷!Apr 13, 2025 am 11:26 AM

    許多流行的簡歷設計通過以網格形狀鋪設部分來充分利用可用的頁面空間。讓我們使用CSS網格創建一個佈局

    將用戶擺脫過多習慣的一種方法將用戶擺脫過多習慣的一種方法Apr 13, 2025 am 11:25 AM

    頁面重新加載是一回事。有時,當我們認為它沒有響應或認為新內容可用時,我們會刷新頁面。有時我們只是生氣

    域驅動的設計與React域驅動的設計與ReactApr 13, 2025 am 11:22 AM

    關於如何在React世界中組織前端應用的指導很少。 (只需移動文件,直到“感覺正確”,大聲笑)。真相

    檢測非活動用戶檢測非活動用戶Apr 13, 2025 am 11:08 AM

    大多數情況下,您並不真正在乎用戶是否積極參與或暫時非活動。不活躍,意思,也許他們

    Wufoo ZapierWufoo ZapierApr 13, 2025 am 11:02 AM

    Wufoo一直在集成方面非常出色。他們與特定應用程序(例如廣告系列顯示器,MailChimp和Typekit)進行集成,但他們也

    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脫衣器

    AI Hentai Generator

    AI Hentai Generator

    免費產生 AI 無盡。

    熱門文章

    R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
    3 週前By尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O.最佳圖形設置
    3 週前By尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O.如果您聽不到任何人,如何修復音頻
    3 週前By尊渡假赌尊渡假赌尊渡假赌
    WWE 2K25:如何解鎖Myrise中的所有內容
    4 週前By尊渡假赌尊渡假赌尊渡假赌

    熱工具

    Atom編輯器mac版下載

    Atom編輯器mac版下載

    最受歡迎的的開源編輯器

    ZendStudio 13.5.1 Mac

    ZendStudio 13.5.1 Mac

    強大的PHP整合開發環境

    SublimeText3漢化版

    SublimeText3漢化版

    中文版,非常好用

    WebStorm Mac版

    WebStorm Mac版

    好用的JavaScript開發工具

    VSCode Windows 64位元 下載

    VSCode Windows 64位元 下載

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