首頁 web前端 css教學 不幸的是,剪輯路徑:path()仍然是不做的

不幸的是,剪輯路徑:path()仍然是不做的

Apr 09, 2025 am 09:28 AM

不幸的是,剪輯路徑:path()仍然是不做的

最初,Firefox中的clip-path: path()非常令人興奮。想像一下,使用單個HTML元素和最小CSS(無需SVG或冗長的多邊形點列表),毫不費力地創建動態形狀,例如下面顯示的呼吸框!

這種潛力也使克里斯感到興奮。可能性似乎無窮無盡。

但是,在仔細檢查時,我的熱情迅速減弱。雖然clip-path: path()在Firefox中起作用(啟用特定標誌的版本63-70,而無需71個),但出現了一個顯著的限制:路徑坐標是基於像素的。這意味著他們不會響應地擴展。

使用path()函數中的像素值的MDN示例突出了此問題。 path()函數接受SVG<path></path>字符串,其坐標,例如SVG中的d屬性,是無單位像素。與SVG的viewBox不同,這些像素保持固定在CSS path()函數中,以防止響應縮放。

這在響應式設計中使該功能在很大程度上不切實際。用path()剪切的響應元素可保持固定的剪裁區域,無論其尺寸如何。例如,帶有視口的正方形縮放將具有靜態大小的剪裁心形。

這種限制嚴重限制了clip-path: path() 。對於大多數情況,SVG或Polygon()近似值仍然是優越的替代方法。改進對於使clip-path: path()成為可行的選擇至關重要。

Amelia Bellamy-Royds提出了兩種解決方案:

  1. 支持calc()值/單位路徑數據中。這將擴展SVG路徑語法。
  2. clip-path聲明中引入一個viewBox ,以縮放。

我贊成第一個選項。第二,在消除對單獨的SVG的需求的同時,與直接使用SVG相比,它具有有限的優勢,這具有更廣泛的支持。但是,第一種選擇將顯著增強clip-path: path() ,在某些應用方面可能會超過SVG。

考慮呼吸盒示例。 SVG實現需要仔細的viewBox配置以將形狀居中。使用viewBox和Path命令(M,V,H)的SCSS代碼生成必要的路徑字符串。

但是,產生呼吸效果需要二次Bézier曲線(Q),需要對“腫脹”和“擠壓”狀態進行更複雜的路徑定義。這導致了冗長的重複CSS。

理想情況下,使用clip-path: path()帶有calc()支持和自定義屬性的path()將允許對形狀進行動態控制。像--sgn這樣的自定義屬性可以控制calc()中的符號,從而在具有單個路徑定義的狀態之間啟用動畫。這將大大簡化代碼並確保響應量的擴展。但是,目前, clip-path: path()的潛力不足。

以上是不幸的是,剪輯路徑:path()仍然是不做的的詳細內容。更多資訊請關注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教學
1658
14
CakePHP 教程
1415
52
Laravel 教程
1309
25
PHP教程
1257
29
C# 教程
1231
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中數據屬性的所有信息。

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

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

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

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

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

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

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

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

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

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

See all articles