首頁 >web前端 >css教學 >如何僅使用 CSS3 建立內嵌邊框半徑?

如何僅使用 CSS3 建立內嵌邊框半徑?

Patricia Arquette
Patricia Arquette原創
2024-12-02 21:03:10391瀏覽

How Can I Create Inset Border-Radius Using Only CSS3?

CSS3 的插入邊框半徑

在CSS3 中,實現插入邊框半徑(其中角向內而不是向外彎曲)可以不使用圖像也具有挑戰性。然而,有一個巧妙的解決方案,利用 CSS3 漸層。

Lea Verou 巧妙的方法涉及創建一系列帶有曲線的透明漸變,從而創建內嵌邊框半徑的錯覺。透過精確定位這些漸變,您可以實現所需的圓角效果。

她的CSS 程式碼如下所示,為具有所需插入邊框半徑的元素定義了一個自訂類別:

div.round {
    background:
        -moz-radial-gradient(0 100%, circle, rgba(204,0,0,0) 14px, #c00 15px),
        -moz-radial-gradient(100% 100%, circle, rgba(204,0,0,0) 14px, #c00 15px),
        -moz-radial-gradient(100% 0, circle, rgba(204,0,0,0) 14px, #c00 15px),
        -moz-radial-gradient(0 0, circle, rgba(204,0,0,0) 14px, #c00 15px);
    background:
            -o-radial-gradient(0 100%, circle, rgba(204,0,0,0) 14px, #c00 15px),
            -o-radial-gradient(100% 100%, circle, rgba(204,0,0,0) 14px, #c00 15px),
            -o-radial-gradient(100% 0, circle, rgba(204,0,0,0) 14px, #c00 15px),
            -o-radial-gradient(0 0, circle, rgba(204,0,0,0) 14px, #c00 15px);
    background:
            -webkit-radial-gradient(0 100%, circle, rgba(204,0,0,0) 14px, #c00 15px),
            -webkit-radial-gradient(100% 100%, circle, rgba(204,0,0,0) 14px, #c00 15px),
            -webkit-radial-gradient(100% 0, circle, rgba(204,0,0,0) 14px, #c00 15px),
            -webkit-radial-gradient(0 0, circle, rgba(204,0,0,0) 14px, #c00 15px);
    background-position: bottom left, bottom right, top right, top left;
        -moz-background-size: 50% 50%;
        -webkit-background-size: 50% 50%;
    background-size: 50% 50%;
    background-repeat: no-repeat;
}

將此類應用於元素將產生具有內嵌邊框半徑的元素。值得注意的是,該技術依賴 rgba 和漸進的支持,使其成為一種漸進式增強策略。對於較舊的瀏覽器或不支援漸層的瀏覽器,建議使用基於圖像的後備來提供支援。

以上是如何僅使用 CSS3 建立內嵌邊框半徑?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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