精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

純 CSS 實(shí)現(xiàn)的三種掃光效果

開發(fā) 前端
由于掃光在文本內(nèi)部,所以需要將這個漸變作為文本的顏色。文本漸變色,可以用backgrond-clip:text來實(shí)現(xiàn),假設(shè)HTML是這樣的。

介紹一個比較常見的動畫效果。

在日常開發(fā)中,為了強(qiáng)調(diào)凸顯某些文本或者元素,會加一些掃光動效,起到吸引眼球的效果,比如文本的:

圖片圖片

或者是一個卡片容器,里面可能是圖片或者文本或者任意元素。

圖片

除此之外,還有那種不規(guī)則的圖片,比如獎品圖案:

圖片

這些是如何實(shí)現(xiàn)的呢?一起看看吧!

一、CSS 掃光的原理

CSS掃光動畫的原理很簡單,就是一個普通的、從左到右的、無限循環(huán)的位移動畫。

圖片圖片

位移動畫可以選擇transform或者改變background-position都行。

至于掃光,我們只需要繪制一條斜向上45deg的線性漸變就可以了,示意如下:

圖片圖片

用CSS實(shí)現(xiàn)就是

background: linear-gradient(45deg, rgba(255,255,255,0) 40%, rgba(255, 255, 255, 0.7), rgba(255,255,255,0) 60%);

準(zhǔn)備工作做好了,下面看 3 種不同場景的實(shí)現(xiàn)。

二、文本掃光

首先來看文本掃光。

由于掃光在文本內(nèi)部,所以需要將這個漸變作為文本的顏色。文本漸變色,可以用backgrond-clip:text來實(shí)現(xiàn),假設(shè)HTML是這樣的。

<h1 class="shark-txt">前端偵探</h1>

為了讓效果看起來更加明顯,我們用一個比較粗的字體。

h1{
  font-size: 60px;
  font-family: "RZGFDHDHJ";
  font-weight: normal;
  color: #9747FF;
}

效果如下:

圖片圖片

現(xiàn)在我們通過background-clip來添加掃光,由于是裁剪背景,所以需要將當(dāng)前文本顏色設(shè)置透明,建議通過-webkit-text-fill-color: transparent來設(shè)置,這樣可以保留文本原有顏色,好處是其他地方,比如background-color可以直接使用原有文本顏色currentColor,具體實(shí)現(xiàn)如下:

.shark-txt{
  -webkit-text-fill-color: transparent;
  background: linear-gradient(45deg, rgba(255,255,255,0) 40%, rgba(255, 255, 255, 0.7), rgba(255,255,255,0) 60%) -100%/50% no-repeat currentColor;
  -webkit-background-clip: text;
}

效果如下:

圖片

最后就是讓這個掃光動起來了。

由于是在文本內(nèi)部,所以這里可以通過改變background-position來實(shí)現(xiàn)掃光動畫了,動畫很簡單,如下:

@keyframes shark-txt {
  form{
    background-position: -100%;
  }
  to {
    background-position: 200%;
  }
}

但是這樣做沒有動畫效果,完全不會動。

這是因?yàn)楸尘澳J(rèn)尺寸是100%,根據(jù)背景偏移百分比的計算規(guī)則,當(dāng)背景尺寸等于容器尺寸時,百分比完全失效,具體規(guī)則如下

給定背景圖像位置的百分比偏移量是相對于容器的。值 0% 表示背景圖像的左(或上)邊界與容器的相應(yīng)左(或上)邊界對齊,或者說圖像的 0% 標(biāo)記將位于容器的 0% 標(biāo)記上。值為 100% 表示背景圖像的 右(或 下)邊界與容器的 右(或 下)邊界對齊,或者說圖像的 100% 標(biāo)記將位于容器的 100% 標(biāo)記上。因此 50% 的值表示水平或垂直居中背景圖像,因?yàn)閳D像的 50% 將位于容器的 50% 標(biāo)記處。類似的,background-position: 25% 75% 表示圖像上的左側(cè) 25% 和頂部 75% 的位置將放置在距容器左側(cè) 25% 和距容器頂部 75% 的容器位置。

https://developer.mozilla.org/zh-CN/docs/Web/CSS/background-position


(container width - image width) * (position x%) = (x offset value)
(container height - image height) * (position y%) = (y offset value)

所以這種情況下,我們可以手動改小一點(diǎn)背景尺寸,比如50%

.shark-txt {
    -webkit-text-fill-color: transparent;
    background: linear-gradient(45deg, rgba(255, 255, 255, 0) 40%, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0) 60%) -100% / 50% no-repeat currentColor;
    -webkit-background-clip: text;
    animation: shark-txt 2s infinite;
}

這樣就能完美實(shí)現(xiàn)文本掃光效果了。

圖片圖片

三、卡片容器掃光

還有一種比較常見的是容器內(nèi)的掃光動效,通常是在一個圓角矩形的容器里。

像這種情況下就不能直接用背景漸變了,因?yàn)闀蝗萜鲀?nèi)的其他元素覆蓋。所以我們需要創(chuàng)建一個偽元素,然后通過改變偽元素的位移來實(shí)現(xiàn)掃光動畫了。

假設(shè)有一個容器,容器內(nèi)有一張圖片,HTML如下:

<div class="shark-wrap card">
    <img src="https://imgservices-1252317822.image.myqcloud.com/coco/b11272023/ececa9a5.7y0amw.jpg">
</div>

簡單修飾一下:

.card{
  width: 300px;
  border-radius: 8px;
  background-color: #FFE8A3;
}
.card img{
  display: block;
  width: 100%;
}

效果如下:

圖片圖片

下面通過偽元素來創(chuàng)建一個掃光層,設(shè)置位移動畫。

.shark-wrap::after{
  content: '';
  position: absolute;
  inset: -20%;
  background: linear-gradient(45deg, rgba(255,255,255,0) 40%, rgba(255, 255, 255, 0.7), rgba(255,255,255,0) 60%);
  animation: shark-wrap 2s infinite;
  transform: translateX(-100%);
}
@keyframes shark-wrap {
  to {
    transform: translateX(100%);
  }
}

效果如下:

圖片圖片

最后直接超出隱藏就行了。

.shark-wrap{
  overflow: hidden;
}

最終效果如下:

圖片圖片

也適合那種圓形頭像。

圖片圖片

四、不規(guī)則圖片掃光

其實(shí)前面兩種情況已經(jīng)適合大部分場景了,其實(shí)還有一種情況,就是那種不規(guī)則的圖片掃光。這種圖片無法直接通過overflow:hidden去隱藏多余部分,比如這樣。

圖片圖片

很明顯在圖片之外的地方也出現(xiàn)了掃光,無法做到掃光在圖形的"內(nèi)部"。

那么,有沒有辦法根據(jù)圖片的外形去裁剪呢?當(dāng)然也是有辦法的,這里需要用到CSS mask遮罩。

簡單來說,就是直接將該圖片作為遮罩圖片,這樣只有形狀內(nèi)的部分可見,形狀外的直接被裁剪了

圖片圖片

在上一種場景的情況下,只需要在此基礎(chǔ)之上,添加一個完全相同的 mask遮罩就行了。

<div class="shark-wrap" style="-webkit-mask: url(https://imgservices-1252317822.image.myqcloud.com/coco/s09252023/3af9e8de.00uqxe.png) 0 0/100%">
  <img class="logo" src="https://imgservices-1252317822.image.myqcloud.com/coco/s09252023/3af9e8de.00uqxe.png">
</div>

這樣就可以把掃光多余的部分裁剪掉了。

圖片圖片

換張圖也能很好適配:

圖片圖片

以上所有 demo 可以查看以下鏈接

  • CSS shark animation (codepen.io)[1]
  • CSS shark animation (juejin.cn)[2]

五、總結(jié)一下

以上就本文的全部內(nèi)容了,共介紹了3種不同的掃光場景,你學(xué)到了嗎?下面總結(jié)一下重點(diǎn):

  1. 掃光樣式本身可以直接用線性漸變繪制而成
  2. 掃光動畫原理很簡單,就是一個水平的位移動畫
  3. 文本掃光動畫需要通過改變background-postion實(shí)現(xiàn)
  4. 當(dāng)背景尺寸等于容器尺寸時,設(shè)置background-postion百分比無效
  5. 普通容器的掃光效果需要借助偽元素實(shí)現(xiàn),因?yàn)槿绻褂帽尘皶蝗萜鲀?nèi)的元素覆蓋
  6. 普通容器的掃光動畫可以直接用transfrom實(shí)現(xiàn)
  7. 使用overflow:hidden裁剪容器外的部分
  8. 不規(guī)則圖片的掃光效果無法直接根據(jù)形狀裁剪
  9. 借助CSS mask可以根據(jù)圖片本身裁剪掉掃光多余部分

對了,這個屬于常規(guī)需求,只是普通的動畫效果,沒有兼容性限制,放心使用,除了本文的樣式,還可以根據(jù)需求改變掃光的大小,角度,顏色等,這個就看具體需求了。

責(zé)任編輯:武曉燕 來源: 前端偵探
相關(guān)推薦

2022-03-16 14:27:49

CSS三角形前端

2023-12-04 09:31:13

CSS卡片

2021-01-19 12:16:10

CSS前端UI

2013-01-04 15:47:54

Android開發(fā)平鋪UI設(shè)計

2010-08-24 14:47:48

CSS居中

2010-09-07 16:31:27

CSS

2010-09-02 16:26:59

CSS命名

2010-08-26 16:19:41

DIV圓角

2010-09-14 15:10:49

CSS注釋

2023-10-08 20:32:59

CSS定義Loading

2010-09-06 10:04:31

CSS樣式表

2010-09-08 13:29:48

CSS

2022-09-15 10:30:06

CSS

2021-11-05 21:33:28

Redis數(shù)據(jù)高并發(fā)

2021-06-24 08:52:19

單點(diǎn)登錄代碼前端

2014-12-31 17:42:47

LBSAndroid地圖

2010-09-01 12:50:04

CSS清除浮動

2023-09-13 09:52:14

分布式鎖Java

2011-01-18 15:35:59

jQueryJavaScriptweb

2022-11-30 15:15:48

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

日本视频在线观看| 亚洲精品乱码视频| 日韩欧美性视频| 久久国产精品免费精品3p| 亚洲午夜久久久| 国产视频一区二区不卡| 日韩中文字幕在线观看视频| av一区二区高清| 欧美高清dvd| 男人添女人下部视频免费| 日韩中文字幕影院| 日韩高清一区二区| 久热精品在线视频| 亚洲国产果冻传媒av在线观看| 性欧美18一19sex性欧美| 麻豆精品国产传媒mv男同| 91九色成人| 亚洲激情在线激情| 精品中文字幕人| 亚洲天堂自拍偷拍| 在线播放亚洲| 丝袜亚洲另类欧美重口| jjzz黄色片| 亚洲美女尤物影院| 亚洲欧美日本在线| 欧美一区二区综合| 亚洲国产日韩在线观看| 日本欧美一区二区| 97在线视频国产| 日本黄色录像视频| 国产一区二区在线| 亚洲国产99精品国自产| 天天干天天色天天干| 色综合亚洲图丝熟| 一区二区三区国产豹纹内裤在线| 日产精品一线二线三线芒果| 亚洲欧美另类综合| 激情综合网av| 国产成人在线一区二区| 国产在线精品观看| 日本韩国在线观看| 51一区二区三区| 亚洲高清免费观看高清完整版在线观看| 人偷久久久久久久偷女厕| 秋霞网一区二区| 国产麻豆9l精品三级站| 91在线中文字幕| 91丨porny丨在线中文 | 91中文字幕在线观看| 日韩免费av网站| 性欧美长视频| 午夜精品久久久久久99热| 三级av在线免费观看| 青青草国产免费一区二区下载| 亚洲欧美日韩中文视频| 给我看免费高清在线观看| 精品国产导航| 亚洲爱爱爱爱爱| 一级黄色片毛片| 999久久久久久久久6666| 日韩精品资源二区在线| 国产在线a视频| 亚洲91网站| 精品日韩一区二区三区| 一区二区三区四区影院| 亚洲一二av| 日韩欧美二区三区| 日本美女视频网站| 欧美亚洲tv| 久久亚洲黄色| 91高清视频在线| 日韩免费毛片视频| 日韩免费va| 国产视频网站一区二区三区| 国产亚洲精久久久久久| 欧美精品一区二区三区在线四季| 天天影院图片亚洲| 2023国产精品自拍| 日本高清不卡一区二区三| 国产视频在线看| 国产精品美女一区二区| 国产精品波多野结衣| 欧美videos极品另类| 1024国产精品| 国产精品国产三级国产专区51| av电影在线免费| 欧美性生活大片免费观看网址| 成人在线激情网| 欧美亚洲黄色| 欧美大片免费久久精品三p| 欧美双性人妖o0| 九九久久电影| 久久精品视频在线播放| 日干夜干天天干| 天堂成人免费av电影一区| 国产日韩专区在线| 亚洲精品成人电影| 国产丝袜在线精品| 玖玖精品在线视频| 亚洲午夜天堂| 91麻豆精品国产自产在线观看一区| 永久看看免费大片| 免费欧美视频| 免费91在线视频| 好看的av在线| 国产一区二三区好的| 九九九久久久| 黄视频网站在线| 欧美日韩亚洲高清| 欧美国产在线一区| 午夜精品影视国产一区在线麻豆| 国产一区av在线| 久草视频免费播放| 老牛嫩草一区二区三区日本| 99一区二区| 高h视频在线| 香港成人在线视频| 天天综合成人网| 精品一区在线| 亚洲91精品在线观看| 一级黄在线观看| 久久久久久黄色| 久久国产午夜精品理论片最新版本| 精品无人乱码一区二区三区| 精品久久人人做人人爽| 91ts人妖另类精品系列| 蜜桃伊人久久| 国产 高清 精品 在线 a| eeuss影院在线播放| 欧美日韩国产在线播放| 日本wwwxx| 98精品视频| 国产黑人绿帽在线第一区| 神马午夜在线观看| 亚洲综合成人在线视频| 久久精品视频在线观看免费| 日本一区二区在线看| 欧美综合第一页| 亚洲av无码片一区二区三区 | 水莓100国产免费av在线播放| |精品福利一区二区三区| 国产精品免费成人| 亚洲精品3区| 91国偷自产一区二区三区的观看方式 | 欧美精品尤物在线观看 | 性欧美.com| 亚洲www免费| 日韩精品中文字幕久久臀| 国产一级视频在线| 国产69精品久久久久777| 正在播放一区| 九七电影院97理论片久久tvb| 亚洲丝袜一区在线| 亚洲免费在线视频观看| 97超碰欧美中文字幕| 久草热视频在线观看| 欧美男人操女人视频| 在线播放 亚洲| 91黄页在线观看| 日韩美女视频一区二区在线观看| 天天爽天天爽天天爽| 蜜桃精品视频在线| 一本久道久久综合狠狠爱亚洲精品| 欧美极品免费| 亚洲天堂av在线播放| 亚洲国产av一区二区三区| 久久亚洲免费视频| 日韩av资源在线| 久久99国内| 国产精品88a∨| 黄色av免费在线观看| 91久久国产综合久久| 无码人中文字幕| 国内精品不卡在线| 男人天堂a在线| 国产主播性色av福利精品一区| 97国产精品视频人人做人人爱| 亚欧洲精品视频| 91成人网在线| 91香蕉视频在线播放| 国产福利一区二区三区在线视频| 黄色一级大片免费| 久久资源综合| 国产精品爱久久久久久久| 在线观看黄色av| 欧美一级欧美一级在线播放| 久久网免费视频| 99久久99精品久久久久久| 日韩有码免费视频| 亚洲国产成人精品女人| 国产高清一区视频| 蜜臀国产一区| 久久在线免费观看视频| 天天干天天插天天操| 欧美这里有精品| 极品盗摄国产盗摄合集| 99精品视频一区| 五月婷婷激情久久| 国产综合自拍| 日韩视频在线观看国产| 涩爱av色老久久精品偷偷鲁 | 精品综合在线| 美女视频一区| 韩国v欧美v日本v亚洲| 国产黄色片在线播放| 日韩欧美在线网站| 无码人妻黑人中文字幕| 亚洲精品乱码久久久久久| 日韩网站在线播放| 国产一区啦啦啦在线观看| 国产成人亚洲精品无码h在线| 国产精品成人av| 看欧美日韩国产| 一区二区三区在线免费看| 国产精品久久久久91| av手机在线观看| 久久久www成人免费精品| 久热av在线| 亚洲第一区第二区| 99产精品成人啪免费网站| 日韩欧美国产黄色| 国产午夜免费视频| 亚洲婷婷国产精品电影人久久| 成人网站免费观看| 丁香婷婷综合色啪| 在线一区二区不卡| 日韩1区2区日韩1区2区| 激情五月宗合网| 欧美视频一区| 99亚洲精品视频| 日韩精品久久久久久久电影99爱| 久久精品99| 国产成人福利av| av色综合网| 国产午夜精品一区在线观看| 国产精品一区二区三区久久久| 欧美xxx视频| 久久久久久中文字幕| 一区二区三区伦理| 久久伊人精品一区二区三区| 岛国大片在线观看| 亚洲色图在线观看| 日本一区高清| 日韩电影免费观看在线观看| 亚洲精品国产一区二| 制服丝袜av成人在线看| 一区二区日韩在线观看| 欧美日韩免费视频| 真实新婚偷拍xxxxx| 日本高清无吗v一区| 色老头在线视频| 91国产免费观看| 成人毛片一区二区三区| 色偷偷一区二区三区| 9i精品福利一区二区三区| 日韩欧美在线视频日韩欧美在线视频| 国产一级做a爱片久久毛片a| 精品国产乱码久久久久酒店| 国产香蕉视频在线| 精品美女久久久久久免费| 亚洲伊人成人网| 欧美日韩国产色| 国产亚洲欧美日韩高清| 欧美三级电影在线观看| 国产一区二区自拍视频| 日韩精品中文字幕在线不卡尤物| 性色av蜜臀av| 亚洲第一男人av| 久草在线免费福利资源| 夜夜嗨av一区二区三区四区 | 国产91精品入| 狠狠色伊人亚洲综合网站色| 日韩欧美国产大片| 日日夜夜精品网站| 五月天综合网站| 久草视频这里只有精品| 亚洲欧美日本视频在线观看| 91淫黄看大片| 激情五月激情综合网| 久久黄色一级视频| 94色蜜桃网一区二区三区| www.av天天| 亚洲色图欧美偷拍| 日韩高清精品免费观看| 色婷婷精品久久二区二区蜜臀av| 中文字幕一区二区三区免费看| 777奇米四色成人影色区| 黄色福利在线观看| 亚洲图片在区色| 亚洲色图美国十次| 欧美最顶级丰满的aⅴ艳星| 日韩成人一区| 国产精品乱码| 日韩欧美高清在线播放| a级免费在线观看| 久久精品中文| 天天干天天曰天天操| 91免费观看视频| 婷婷社区五月天| 精品日本高清在线播放| 97在线视频人妻无码| 日韩国产精品视频| 91在线高清| 久久免费福利视频| 亚洲午夜天堂| 成人综合av网| 日本电影一区二区| 九九爱精品视频| 美女脱光内衣内裤视频久久网站 | 日产精品久久久久久久| 欧美日韩中字一区| 嫩草影院一区二区| 精品国产美女在线| 欧美电影免费观看高清完整| 亚洲直播在线一区| 国产精品亚洲片在线播放| 日本五级黄色片| 久久国产婷婷国产香蕉| 中文字幕一区二区人妻在线不卡| 亚洲视频在线一区二区| 久久国产乱子伦精品| 亚洲国产成人精品女人久久久| 毛片在线看网站| 国产成人高潮免费观看精品| 国产精品x8x8一区二区| 91免费视频黄| 麻豆一区二区三| 午夜理伦三级做爰电影| 亚洲国产视频一区二区| 国产av无码专区亚洲a∨毛片| 伊人青青综合网站| 电影网一区二区| 久久综合毛片| 99在线|亚洲一区二区| 久久久久亚洲AV成人网人人小说| 亚洲特级片在线| 一本大道伊人av久久综合| 国产视频精品免费播放| 19禁羞羞电影院在线观看| aaa级精品久久久国产片| 亚洲另类在线视频| 欧洲黄色一级视频| 成人午夜免费av| 国产探花在线免费观看| 欧美日韩中文精品| 国产专区在线播放| 日韩免费观看高清| 五月国产精品| 日韩中文字幕三区| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | av免费不卡国产观看| 国产成人成网站在线播放青青 | 国产高清www| 国产很黄免费观看久久| 婷婷久久综合网| 欧美一区二区在线看| avove在线观看| 亚洲精品tv久久久久久久久久| 麻豆传传媒久久久爱| 欧美激情一区二区三区| 中文字幕日韩三级| 色噜噜狠狠狠综合曰曰曰88av | 欧美体内she精视频在线观看| 天堂在线一区二区三区| 综合欧美亚洲日本| 亚洲AV无码国产精品午夜字幕| 久久久久久久色| 天堂俺去俺来也www久久婷婷| 狠狠97人人婷婷五月| 久久婷婷成人综合色| 波多野结衣影片| 俺去了亚洲欧美日韩| 色播一区二区| 波多野结衣家庭教师在线| 久久麻豆一区二区| 国产精品xxxxxx| 北条麻妃久久精品| 亚洲精品在线a| 成年人午夜视频在线观看| 91蝌蚪porny九色| 免费在线不卡av| 美女av一区二区| 成人精品动漫一区二区三区| www.中文字幕在线| 国产精品乱码久久久久久| 国产美女精品视频国产| 久久精品一本久久99精品| 91精品久久久久久综合五月天| 婷婷五月综合缴情在线视频| 国产三级精品三级| 国内精品偷拍视频| 欧美在线观看日本一区| 91青青国产在线观看精品| 日本一区二区免费视频| 欧美在线观看一区二区| a级影片在线| 精品麻豆av| 国内精品在线播放| 国产又黄又猛又粗又爽| 久久久91精品|