麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > CSS > 正文

CSS3 clip-path 用法介紹詳解

2024-07-11 09:08:07
字體:
來源:轉載
供稿:網友

一、基本概念

刷新 QQ 空間動態時,發現一則廣告,隨著用戶上下滑動動態列表,就會自動切換廣告圖片,這樣的效果對移動端本就不大的屏幕來說,無疑是很精妙的考慮,這樣的效果是怎么實現的呢?

接下來就說說這個效果的具體實現思路:

  1. 將兩張圖片通過定位,相對于圖片容器堆疊在一起;
  2. 在圖片容器的左上角或右下角選取一個圓心,繪制一個圓,不斷加大圓的半徑來顯示第二張圖片;
  3. 上劃下拉時,根據滑動速度動態改變圓的半徑;
  4. 當圖片容器距屏幕頂部或底部的距離為 0 時,則相應的改變圖片堆疊順序及圓心位置。

在圖片上繪制圓,為什么就能顯示出第二張圖片呢?說到這里,就不得不說一下咱們今天的主角 clip-path,引用 MDN 上的描述:

clip-path屬性可以創建一個只有元素的部分區域可以顯示的剪切區域。區域內的部分顯示,區域外的隱藏。剪切區域是被引用內嵌的URL定義的路徑或者外部svg的路徑,或者作為一個形狀例如circle().。clip-path屬性代替了現在已經棄用的剪切 clip屬性。

clip-path 的含義就是裁剪路徑,通過指定的閉合路徑或者形狀,甚至是 SVG 中 clipPath 標簽定義的形狀,裁剪出部分需要保留的區域,這樣網頁中的布局實現可以是多種多樣的。

在 clip-path 出現之前,CSS2.1 中的 clip 屬性也有裁剪的效果,但是它只支持矩形,而且只對 position:absolute 或者 position:fixed 的元素生效,使用方式如下:

clip: rect(60px, 60px, 60px, 60px); // 標準寫法clip: rect(60px  60px  60px  60px); // 兼容 ie 及 火狐瀏覽器

注意: rect 參數的順序為 top、right、botton、left

所有主流瀏覽器都支持 clip 屬性,在雪碧圖( CSS Sprite )的展示仍然有它的用武之地,但是由于 clip 屬性的局限性, clip 已經被 clip-path 代替。平常開發中我們可以使用 border、border-radius 等屬性制作三角形、圓或圓角矩形等簡單圖案,clip-path 為我們提供了更多的可能,結合 SVG 的 path、animate 等標簽可以制作更多的有趣的圖案。

二、用法實踐

clip-path 屬性可以裁剪出很多圖形,circle、ellipse、polygon、inset,同時也可以使用動畫和 SVG 的 clipPath 標簽。

圓 circle

clip-path: circle(25% at 50% 50%);

橢圓 ellipse

clip-path: ellipse(25% 25% at 50% 50%);

inset

clip-path: inset(35% 35% 35% 35% round 0 70% 0 70%);

多邊形 polygon

clip-path: polygon(50% 0, 25% 50% ,75% 50%);

url

<section class="container">  <img src="img01.jpg" class="contract">  <img src="img02.jpg"></section><svg height="0" width="0">  <clipPath id="clip02">    <circle cx="400" cy="210" r="0">      <animate        attributeType="CSS"        attributeName="r"        values="0;480;0"        dur="9s"        repeatCount="2"      />    </circle>  </clipPath></svg>.contract {  clip-path: url(#clip02);  z-index:1;}

值得說明的是使用 SVG 的 clipPath 標簽可以包裹 animate,其中 animate 標簽的 attributeName 是指設置圓的半徑,values 可以設置動畫的幀,可以有多個值用分號分割,dur 是指動畫的持續時間,repeatCount 是指動畫的次數。

兼容性

目前 IE 和 Edge 都不支持這個屬性。Firefox 僅部分支持 clip-path,部分支持是指只支持形狀和 URL(#path) 內聯SVG的語法。Chrome、Safari 和 Opera 需要使用 -webkit- 的前綴兼容此屬性。不支持外部的 SVG 形狀。更多兼容信息可以點擊這里查看 clip-path 瀏覽器兼容情況。

三、經驗總結

使用 URL(#path) 內聯SVG 的方式,我們可以很輕易的裁剪出復雜的形狀,也能夠包含一些形象生動的動畫效果,比如在撲克游戲出牌下注的倒計時上添加扇形遮罩,或是在矩形邊緣添加倒計時進度,加載中的動畫等等,都能夠使用clip-path 屬性巧妙的實現,同時在使用 clip-path 屬性可以裁剪圖形時可以靈活的使用相對單位。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。

 

注:相關教程知識閱讀請移步到CSS教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 羞羞羞羞视频 | 99精品视频在线导航 | 麻豆视频国产在线观看 | 色猫av| 日产精品久久久一区二区开放时间 | 国产精品免费小视频 | 亚洲精华液久久含羞草 | 国产在线91 | 国产1区2区3区中文字幕 | av中文一区| 九九热在线免费观看视频 | 欧美亚洲免费 | 中文字幕综合在线观看 | 亚洲少妇诱惑 | 亚洲va在线 | 免费观看视频91 | 毛片视频网站 | 国产免费观看a大片的网站 欧美成人一级 | 国产精品久久77777 | 大逼逼影院 | 国产三级在线观看a | 国产精品久久久久久久亚洲按摩 | 小视频在线看 | 91久久精品国产亚洲 | 黄色大片网站在线观看 | 毛片小网站 | 亚洲小视频网站 | 27xxoo无遮挡动态视频 | 99亚洲伊人久久精品影院红桃 | 性生活视频网站 | av在线播放观看 | 日韩一级片一区二区三区 | 免费嗨片首页中文字幕 | 亚洲精品免费播放 | av电影院在线观看 | 毛片免费大全短视频 | 吾色视频 | 久久国产精品影视 | 中文字幕www. | 久久久一区二区三区视频 | 免费久久久 |