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

使用 Resize 實(shí)現(xiàn)強(qiáng)大的圖片拖拽切換預(yù)覽功能

開發(fā) 前端
本文將介紹一個(gè)非常有意思的功能,使用純 CSS 利用 resize 實(shí)現(xiàn)強(qiáng)大的圖片切換預(yù)覽功能。利用 resize 來實(shí)現(xiàn)容器大小的控制。

[[419852]]

Hello 大家好,我是 Coco,今天給大家?guī)硪粋€(gè)巧妙的小技巧。

本文將介紹一個(gè)非常有意思的功能,使用純 CSS 利用 resize 實(shí)現(xiàn)強(qiáng)大的圖片切換預(yù)覽功能。類似于這樣:

圖片

思路

首先,要實(shí)現(xiàn)這樣一個(gè)效果如果不要求可以拖拽,其實(shí)有非常多的辦法。

  1. 將兩張圖片疊加在一起
  2. 改變上層圖片的寬度,或者使用 mask, 改變 mask 的透明度區(qū)間變化

兩種方式都簡單示意一下。

假設(shè)我們的結(jié)構(gòu)如下,分別使用 background 展示兩張圖片:

  1. <div class="g-outer"
  2.     <div class="g-inner"></div> 
  3. </div> 

方法一,改變上層圖片的寬度的方式:

  1. .g-outer { 
  2.     width: 650px; 
  3.     height: 340px; 
  4.     background-image: url(image1.png); 
  5.     overflow: hidden; 
  6. .g-inner { 
  7.     height: 340px; 
  8.     background: url(image2.png); 
  9.     animation: widthchange 3s infinite alternate linear; 
  10. @keyframes widthchange { 
  11.     0% { 
  12.         width: 650px; 
  13.     } 
  14.     100% { 
  15.         width: 0px; 
  16.     } 

效果如下:

當(dāng)然,使用 mask 遮罩的方式也非常輕松的可以實(shí)現(xiàn)類似的效果:

  1. .g-outer { 
  2.     background-image: url(https://images.cnblogs.com/cnblogs_com/coco1s/881614/o_21081614180122.png); 
  3. .g-inner { 
  4.     background: url(https://images.cnblogs.com/cnblogs_com/coco1s/881614/o_21081614175811.png); 
  5.     mask: linear-gradient(90deg, #fff 0%, #fff 50%, transparent 50%, transparent 100%); 
  6.     mask-size: 200% 100%; 
  7.     animation: maskChange 2s infinite alternate linear; 
  8. @keyframes maskChange { 
  9.     0% { 
  10.         mask-position: -100% 0; 
  11.     } 
  12.     100% { 
  13.         mask-position: 0 0; 
  14.     } 

也可以得到同樣的效果:

上述 DEMO 的完整代碼:CodePen Demo -- Switch Picture[1]

對(duì)強(qiáng)大的 mask 屬性還不是太了解的,可以猛戳:奇妙的 CSS MASK[2]

使用 resize 實(shí)現(xiàn)拖拽功能

下一步則是最核心,最關(guān)鍵的一步,巧妙的使用 CSS resize 屬性,實(shí)現(xiàn)拖拽控制元素的寬度。

什么是 resize ?

resize:該屬性允許你控制一個(gè)元素的大小

語法如下:

  1. /* Keyword values */ 
  2.   resize: none; 
  3.   resize: both; 
  4.   resize: horizontal; 
  5.   resize: vertical; 
  6.   resize: block; 
  7.   resize: inline; 

看一個(gè)最簡單的 DEMO:

  1. <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. A aut qui labore rerum placeat similique hic consequatur tempore doloribus aliquid alias, nobis voluptates. Perferendis, voluptate placeat esse soluta deleniti id!</p> 
  1. p { 
  2.     width: 200px; 
  3.     height: 200px; 
  4.     resize: horizontal; 
  5.     overflow: scroll

這里,我們?cè)O(shè)置了一個(gè)長寬為 200px 的

為橫向可拖拽改變寬度。效果如下:

圖片

簡單總結(jié)一些小技巧:

  • resize 的生效,需要配合 overflow: scroll。當(dāng)然,準(zhǔn)確的說法是,overflow 不是 visible,或者可以直接作用于替換元素譬如圖像、<video> 及 <iframe>、<textarea> 等
  • 我們可以通過 resize 的 horizontal、vertical、both 來設(shè)置橫向拖動(dòng)、縱向拖動(dòng)、橫向縱向皆可拖動(dòng)
  • 可以配合容器的 max-width、min-width、max-height、min-height 限制可拖拽改變的一個(gè)范圍

 將 resize 運(yùn)用于圖片拖拽切換

OK,接下來,我們將 resize 運(yùn)用于圖片拖拽切換。

首先,還是上述的代碼,我們將 resize 作用于子元素試試:

  1. <div class="g-outer"
  2.     <div class="g-inner width-change"></div> 
  3. </div> 

 

  1. .g-outer { 
  2.     width: 650px; 
  3.     height: 340px; 
  4.     background-image: url(image1.png); 
  5.     overflow: hidden; 
  6.  
  7. .g-inner { 
  8.     height: 340px; 
  9.     background: url(image2.png); 
  10.     resize: horizontal; 
  11.     overflow: scroll
  12.     max-width: 640px; 
  13.     min-width: 10px; 

可以看到,g-inner 設(shè)置了 resize: horizontal,將允許被橫向拖動(dòng),實(shí)際的效果如下:

圖片

嗯,非常接近了,因?yàn)樾枰浜?overflow: scroll,所以出現(xiàn)了惱人的滾動(dòng)條,非常的不美觀,我們得想辦法干掉滾動(dòng)條。

借助多一層嵌套及絕對(duì)定位實(shí)現(xiàn)隱藏滾動(dòng)條

隱藏滾動(dòng)條的方式有很多,這里我們介紹其中一種巧妙的方式,我們對(duì)我們的結(jié)構(gòu)進(jìn)行一下改造,再疊加多一層 div:

  1. <div class="g-outer"
  2.     <div class="g-inner"
  3.         <div class="g-resize"></div> 
  4.     </div> 
  5. </div> 

我們將控制拖拽這個(gè)功能交給 g-resize,它負(fù)責(zé)改變?cè)氐膶挾龋?g-inner 改為絕對(duì)定位,當(dāng) g-resize 的寬度增大時(shí),其父元素 g-inner 也會(huì)隨之增大,最后設(shè)置 g-resize 的 opacity 為 0 即可隱藏滾動(dòng)條。

核心代碼如下:

  1. .g-outer { 
  2.     position: relative
  3.     width: 650px; 
  4.     height: 340px; 
  5.     background-image: url(image1.png); 
  6.     overflow: hidden; 
  7. .g-inner { 
  8.     position: absolute
  9.     top: 0; 
  10.     left: 0; 
  11.     min-width: 0; 
  12.     max-width: 650px; 
  13.     height: 340px; 
  14.     background-image: url(image2.png); 
  15. .g-resize { 
  16.     position: relative
  17.     resize: horizontal; 
  18.     overflow: scroll
  19.     width: 0; 
  20.     height: 340px; 
  21.     max-width: 650px; 
  22.     min-width: 15px; 
  23.     animation: opacityChange 3s infinite alternate linear; 
  24. @keyframes opacityChange { 
  25.     0% { 
  26.         opacity: 0; 
  27.     } 
  28.     100% { 
  29.         opacity: 1; 
  30.     } 

這里,為了方便示意,我將 opacity 設(shè)置了一個(gè)漸隱漸現(xiàn)的動(dòng)畫效果,方便示意:

圖片

借助偽元素,顯示拖拽條

最后一步,由于完全隱藏了滾動(dòng)條,用戶也就不知道可以拖拽了,所以我們還需要繪制一個(gè)更為好看的拖拽條,這里延續(xù)上述的布局,給 .g-inner 再添加一個(gè)偽元素,絕對(duì)定位在元素最后即可:

  1. .g-inner:before { 
  2.     content: "↔"
  3.     position: absolute
  4.     background: rgba(0, 0, 0, 0.5); 
  5.     top: 0; 
  6.     right: 0; 
  7.     height: 100%; 
  8.     line-height: 340px; 

最終完美達(dá)成效果:

圖片

完整詳細(xì)的代碼,你可以在我的 CSS 靈感[3]上看到:

CSS 靈感 -- 利用 resize 實(shí)現(xiàn)圖片切換預(yù)覽功能[4]

總結(jié)一下

通過本文,你可以學(xué)會(huì):

  • 利用 resize 來實(shí)現(xiàn)容器大小的控制
  • 通過一些巧妙的方式來隱藏不太美觀的滾動(dòng)條
  • 以及配合上述的一些技巧,使用純 CSS 實(shí)現(xiàn)圖片拖拽切換預(yù)覽功能

最后

好了,本文到此結(jié)束,希望對(duì)你有幫助 :)

參考資料

[1]CodePen Demo -- Switch Picture:

https://codepen.io/Chokcoco/pen/RwVmPQw

[2]奇妙的 CSS MASK:

https://github.com/chokcoco/iCSS/issues/80

[3]CSS 靈感:

https://csscoco.com/inspiration/#/

[4]CSS 靈感 -- 利用 resize 實(shí)現(xiàn)圖片切換預(yù)覽功能:

https://csscoco.com/inspiration/#/./others/css-resize-switch-picture

 

責(zé)任編輯:姜華 來源: iCSS前端趣聞
相關(guān)推薦

2024-01-23 09:15:33

Vue3組件拖拽組件內(nèi)容編輯

2012-04-24 09:48:49

HTML5

2024-03-27 08:28:31

元素拖拽API文件上傳

2012-05-17 13:17:26

HTML5

2009-12-29 18:09:00

Silverlight

2017-03-13 10:11:28

AndroidRecyclerVie功能介紹

2012-06-13 10:49:23

PHP

2020-10-20 11:12:11

Nodejs

2023-09-13 09:20:00

日志配置Spring

2021-07-23 09:40:05

深度學(xué)習(xí)編程人工智能

2010-12-22 09:56:24

PHP

2009-09-08 10:35:24

LINQ技術(shù)

2023-12-19 09:00:03

OCR軟件開源Ocrad

2009-02-12 15:53:58

Windows 7預(yù)覽功能體驗(yàn)

2022-04-20 18:22:18

CSS拖拽預(yù)覽圖

2010-03-05 09:19:54

Android系統(tǒng)

2010-03-04 13:36:55

openSUSE

2013-01-23 11:30:39

JSVirtualKeybjQuery

2009-07-07 08:46:11

微軟Windows 7新功能

2015-05-28 10:20:34

js相冊(cè)翻頁
點(diǎn)贊
收藏

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

成人91在线观看| 伊人久久大香线| 午夜精品久久久久久久久久久 | 日韩国产欧美精品一区二区三区| 夜夜添无码一区二区三区| 少妇喷水在线观看| 老司机亚洲精品| 久久精品一偷一偷国产| 国产精品无码自拍| 不卡av影片| 一区视频在线播放| 国产精品裸体一区二区三区| 国产精品乱子伦| 日韩毛片视频| 精品国产制服丝袜高跟| 日韩视频第二页| 麻豆网站在线| 99久久精品费精品国产一区二区| 国产精品久久久久9999| 久草视频在线资源站| 久久99久久人婷婷精品综合| 91麻豆精品国产自产在线| 999久久欧美人妻一区二区| 无套内谢的新婚少妇国语播放| 视频一区免费在线观看| 天堂影院一区二区| 欧美成人精品二区三区99精品| 你懂的av在线| 成人在线免费看片| 久久久欧美精品sm网站| 成人激情直播| 91高潮大合集爽到抽搐| 国产精品日韩| 欧美精品亚州精品| 国产第一页精品| 第四色中文综合网| 欧美二区三区的天堂| 成人在线免费在线观看 | 日韩专区中文字幕| 成人手机在线免费视频| 国产麻豆精品| 欧美综合亚洲图片综合区| 人人妻人人澡人人爽欧美一区 | www国产精品视频| asian性开放少妇pics| 五月亚洲婷婷| 欧美精品久久99久久在免费线| 欧美日韩在线一| 91蜜桃在线视频| 综合色天天鬼久久鬼色| 日韩福利影院| 邻居大乳一区二区三区| 不卡的电视剧免费网站有什么| 成人高清视频观看www| 波多野结衣绝顶大高潮| 母乳一区在线观看| 欧美一级大片在线观看| 日韩精品久久久久久久酒店| 欧美网站在线| 欧美日韩国产成人在线| 日本少妇高清视频| 亚洲第一偷拍| 欧美日韩成人在线观看| 九九热视频精品| 欧美黄免费看| 欧美日韩不卡合集视频| 欧美三级免费看| 你懂的一区二区| 欧美成人全部免费| 特级片在线观看| 国模 一区 二区 三区| 欧美黄色片免费观看| 精品无码免费视频| 日韩香蕉视频| 欧美一区二区三区免费观看| 特级西西444www大精品视频免费看| 在线亚洲成人| 日韩av123| 在线视频精品免费| 精品午夜一区二区三区在线观看| 成人福利在线视频| 亚洲产国偷v产偷v自拍涩爱| 成人黄色在线视频| 精品国产乱码久久久久软件 | 日韩不卡av在线| 清纯唯美日韩| 久久深夜福利免费观看| 国产在线视频卡一卡二| 国产欧美亚洲一区| 国产97免费视| 亚洲一区二区三区网站| 国产精品影视天天线| 91情侣在线视频| 天天操天天干天天爱| 久久久精品tv| 性生活免费观看视频| 男人av在线播放| 欧美日韩一级大片网址| 9191在线视频| 爽爽窝窝午夜精品一区二区| 国产一区二区三区在线观看视频 | 99麻豆久久久国产精品免费 | 自拍偷拍国产精品| 青青青在线观看视频| 综合另类专区| 51精品秘密在线观看| 日韩aaaaa| 久久高清精品| 97av视频在线| 99国产精品久久久久99打野战| 国产河南妇女毛片精品久久久| 久久婷婷人人澡人人喊人人爽| 137大胆人体在线观看| 一二三区精品视频| 69久久久久久| 校花撩起jk露出白色内裤国产精品| 精品国产一区二区三区久久狼黑人| 国产中文字幕免费| 久久99久久99精品免视看婷婷| 精品欧美一区二区精品久久| 黄色视屏免费在线观看| 狠狠色噜噜狠狠狠狠97| 日本中文字幕在线不卡| 精品99久久| 欧美人成在线视频| 91中文字幕在线播放| 久久网站热最新地址| 日韩成人三级视频| 国产精品视频一区视频二区| 亚洲少妇激情视频| 国产成人精品亚洲男人的天堂| 久久精品国产精品亚洲红杏| 欧美久久久久久| 波多野结衣中文在线| 欧美一区二区三区婷婷月色| 久久丫精品忘忧草西安产品| 亚洲久久一区| 国产精品久久久对白| 欧美精品hd| 欧美日韩国产首页| 国产成人一区二区在线观看| 免播放器亚洲| 久久久久久99| 色偷偷色偷偷色偷偷在线视频| 精品国内片67194| 劲爆欧美第一页| 韩国女主播成人在线| 天堂社区 天堂综合网 天堂资源最新版 | 国产无遮无挡120秒| 国产福利不卡视频| 成年人视频大全| 国产精品99久久免费| 久久久av一区| 国产又粗又大又黄| 亚洲欧洲www| www.久久久久久久久久久| 日本女优一区| 91精品国产自产在线老师啪| 欧美激情午夜| 欧美一区二区三区成人| 亚洲国产精品久| 福利电影一区二区| 国产妇女馒头高清泬20p多| 久久人人爽人人爽人人片av不| 91国产中文字幕| 天堂成人在线| 日本道精品一区二区三区| 日韩免费成人av| 看国产成人h片视频| 亚洲精品偷拍视频| 精品国产第一国产综合精品| 欧美激情视频网站| 天堂av资源网| 91久久精品网| 黑人狂躁日本娇小| 国产高清在线观看免费不卡| 霍思燕三级露全乳照| 欧美禁忌电影网| 国产精品一区二区三区成人| 成人在线app| 欧美精品一区二区在线观看| 亚洲 欧美 中文字幕| 国产精品卡一卡二卡三| 麻豆tv在线观看| 欧美亚洲三级| 黄色网zhan| 精品资源在线| 国产精品丝袜久久久久久高清| 国产原创视频在线观看| 亚洲精品久久久久久久久久久久 | 成人高清在线观看视频| 亚洲国产mv| 日本一区网站| 亚洲专区**| 日韩免费不卡av| wwwav在线| 亚洲乱码国产乱码精品精天堂| 中国女人真人一级毛片| 一区2区3区在线看| 永久免费毛片在线观看| 国产69精品久久久久毛片| 欧美xxxxx在线视频| 亚洲精品成人影院| 欧美日韩亚洲在线| 亚洲国产欧美国产第一区| 日韩av手机在线看| 污污在线观看| 亚洲一级黄色av| 国产综合视频在线| 欧美日韩黄视频| 97免费在线观看视频| 亚洲欧洲精品一区二区精品久久久| 欧美做受喷浆在线观看| 国产揄拍国内精品对白| 久久精品一区二| 韩日在线一区| 天堂v在线视频| 欧美日韩123| 国产乱码一区| 国产精品一区二区三区www| 日韩av电影免费观看高清| 国产三区在线观看| 国产一区二区三区视频免费| 亚洲区小说区图片区| 欧美成人猛片aaaaaaa| 91精品国自产| 欧美在线看片a免费观看| 日本五十路女优| 亚洲精品国久久99热| 亚欧精品视频一区二区三区| 久久久不卡网国产精品二区| 一级黄色电影片| 国产精品影视天天线| 加勒比av中文字幕| 秋霞午夜鲁丝一区二区老狼| 国产aaa一级片| 一区二区三区成人精品| 亚洲色欲久久久综合网东京热| 亚洲欧洲美洲一区二区三区| 亚洲日本无吗高清不卡| 欧美日韩在线二区| 日韩黄色影视| 精品久久久中文字幕| 免费久久一级欧美特大黄| 精品国产一区二区三区不卡蜜臂 | 久久久久免费看黄a片app| 国语自产精品视频在线看8查询8| 欧美aaa在线观看| 国产精品久久占久久| 在线观看欧美激情| 日韩精品一区二区久久| 亚洲国产综合自拍| 色喇叭免费久久综合网| 伊人久久青草| 久久久久国产| 视色,视色影院,视色影库,视色网| 98精品视频| 午夜啪啪福利视频| 狠狠综合久久av一区二区老牛| 成人免费在线网| 在线亚洲国产精品网站| 欧美精品色婷婷五月综合| 日日夜夜免费精品视频| mm131亚洲精品| 韩国v欧美v日本v亚洲v| 自拍视频第一页| 99久久精品免费看| 黄免费在线观看| 亚洲欧美综合在线精品| 欧美日韩精品在线观看视频 | 探花视频在线观看| 色综合 综合色| 一级黄色免费片| 日韩免费视频一区| 亚洲av成人精品日韩在线播放| 亚洲乱码一区二区| 久久国产精品一区| 韩国日本不卡在线| 欧美日韩亚洲国产| 91免费国产视频| 国产福利一区二区精品秒拍| 欧美日韩视频在线一区二区观看视频 | 国产欧美在线| 亚洲国产精品三区| 国产aⅴ精品一区二区三区色成熟| 亚洲一区二区三区综合| 久久精品男人天堂av| www深夜成人a√在线| 亚洲午夜精品一区二区三区他趣| 黄色片免费观看视频| 欧美视频你懂的| 亚洲黄色精品视频| 亚洲人成网站999久久久综合| 免费在线观看黄色网| 久久免费成人精品视频| 日韩精品一区二区三区av| 99r国产精品视频| 国产欧美一区| 中国女人做爰视频| 天堂va蜜桃一区二区三区漫画版| 色免费在线视频| 99国产精品一区| 九九这里只有精品视频| 精品久久久一区| 99热这里只有精品3| 亚洲欧美中文日韩在线| 日韩特级毛片| 国产精品成人播放| 好吊妞国产欧美日韩免费观看网站| 无遮挡亚洲一区| 精品二区久久| 国产欧美激情视频| 久久久激情视频| 日本熟妇毛茸茸丰满| 91精品国产一区二区人妖| 国产一级片在线| 97久久久久久| 精品视频一区二区三区| 五月天丁香综合久久国产| 国产亚洲午夜| 亚洲一区和二区| 亚洲天堂2014| 中文字幕av久久爽| 精品视频久久久| 免费在线看电影| 亚洲在线一区二区| 五月天久久久| 蜜臀视频一区二区三区| 91免费国产在线| 国产精品111| 欧美电影免费观看完整版| 求av网址在线观看| 国产精品视频中文字幕91| 伊人久久大香线蕉综合网站| 国产毛片视频网站| 成人免费高清在线观看| 久久久精品视频免费观看| 欧美乱熟臀69xxxxxx| 爱爱爱免费视频在线观看| 国产精品aaa| 国产成人黄色| caopor在线视频| 久久九九久精品国产免费直播| 欧美三日本三级少妇99| 精品国产乱码久久久久久夜甘婷婷 | av中文字幕不卡| 清纯粉嫩极品夜夜嗨av| 欧美一区二区免费视频| 最新日本在线观看| 91丝袜脚交足在线播放| 欧美成人tv| 69久久精品无码一区二区| 亚洲欧美另类小说视频| 国产欧美日韩成人| 九色精品免费永久在线| 美女久久精品| 国产精品自拍合集| 成人美女在线视频| 久久精品这里有| 国产视频综合在线| 亚洲四虎影院| 在线精品日韩| 国产福利精品导航| 日韩av女优在线观看| 日韩精品久久久久久福利| 松下纱荣子在线观看| 日本一区不卡| 久久国产尿小便嘘嘘| 国产精品免费人成网站酒店| 欧美成人在线直播| 欧美一级鲁丝片| 欧洲精品码一区二区三区免费看| 日本欧洲一区二区| 久久久久亚洲av片无码| 精品噜噜噜噜久久久久久久久试看 | 国产成人亚洲欧洲在线| 亚洲男人第一av网站| 成人四虎影院| a级黄色片免费| 91麻豆精东视频| 最新中文字幕免费| 欧美成人免费一级人片100| 露出调教综合另类| 国产精品视频黄色| 一区二区三区久久久| 欧美一区二区三区少妇| 成人a在线视频| 亚洲免费黄色| 亚洲一级理论片| 精品国产免费一区二区三区香蕉 | 成人黄色大片在线免费观看| 欧美日本中文| 永久免费av无码网站性色av| 91精品国产91久久久久久一区二区| 超碰资源在线| 亚洲国产精品视频一区| 国产aⅴ综合色| 国产99久久久久久免费看| 欧美老女人在线视频| 最新亚洲精品|