精品欧美一区二区三区在线观看 _久久久久国色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)

色综合久久综合网欧美综合网| 日韩国产欧美一区二区三区| 精品国产a毛片| 欧美激情视频免费看| 性xxxx18| 免费观看久久久4p| 欧美精品免费在线观看| 毛茸茸free性熟hd| 日韩免费小视频| 国产精品高清亚洲| 国产一区二区三区四区hd| aaa人片在线| 久久在线视频| 亚洲成人黄色网| 在线看的黄色网址| www在线看| 欧美国产日本韩| 国产成人精品免费视频大全最热| 国产黄色免费观看| 在线精品小视频| 日韩av资源在线播放| 中文字幕22页| av网站在线免费| 久久美女艺术照精彩视频福利播放 | 五月婷婷六月丁香| 另类调教123区| 2019亚洲日韩新视频| 小泽玛利亚一区二区免费| 牛牛精品成人免费视频| 欧美另类z0zxhd电影| 欧美亚洲国产成人| 草莓福利社区在线| 欧美极品美女视频| 国产尤物99| 国产绳艺sm调教室论坛| 久久99伊人| 欧美激情欧美狂野欧美精品| 亚洲精品视频网址| 日韩母乳在线| 日韩欧美黄色影院| 日本黄大片一区二区三区| 乡村艳史在线观看| 亚洲国产乱码最新视频| 中文字幕日韩一区二区三区不卡| 天堂√在线中文官网在线| 国产成人精品三级麻豆| 国产精品中文字幕在线| 无码人妻aⅴ一区二区三区有奶水| 欧美特黄一区| 久热精品视频在线观看一区| 永久免费av无码网站性色av| 理论片一区二区在线| 日韩色在线观看| 99精品在线免费视频| 日韩三级电影视频| 亚洲免费观看高清完整| 一区二区三区四区不卡| 国内精品一区视频| 久久美女艺术照精彩视频福利播放 | www.涩涩爱| 美女少妇全过程你懂的久久| 亚洲国产高清自拍| 日韩精品视频一区二区| 免费观看亚洲天堂| 欧美一区二区观看视频| www,av在线| 亚洲欧洲一二区| 欧美在线视频不卡| 国产裸体免费无遮挡| 日韩精品99| 欧美在线观看视频在线| 性欧美大战久久久久久久| 福利在线视频网站| 悠悠色在线精品| 人人妻人人澡人人爽欧美一区| 中文字幕有码在线观看| 亚洲国产毛片aaaaa无费看 | а√天堂资源地址在线下载| 中文字幕欧美一| 日韩一级免费看| 国产美女福利在线观看| 午夜视频一区二区三区| 久久久免费视频网站| 新片速递亚洲合集欧美合集| 欧美手机在线视频| 日本美女视频一区| 视频免费一区二区| 亚洲国产黄色片| 日本性生活一级片| 视频一区欧美| 色yeye香蕉凹凸一区二区av| 成人在线观看小视频| 欧美精品97| 欧美性做爰毛片| 亚洲乱码国产乱码精品| 六月丁香综合在线视频| 超碰97网站| 午夜激情在线视频| 中文一区在线播放| 国产传媒久久久| 黄色综合网址| 欧美亚洲愉拍一区二区| 台湾佬美性中文| 国产99亚洲| 麻豆一区二区在线观看| 久久久久久久久久久久久久免费看| 亚洲大片在线| 国产精品高潮在线| www.97av| 国产日产欧美一区二区视频| 日本三日本三级少妇三级66| 悠悠资源网亚洲青| 制服丝袜日韩国产| 少妇毛片一区二区三区| 丝袜久久网站| 久热精品视频在线观看| 日本一级黄色大片| 另类专区欧美蜜桃臀第一页| 国产一区不卡在线观看| 日本激情视频在线观看| 亚洲国产欧美在线人成| 中文字幕 91| 蜜桃一区av| 久久精品视频在线播放| 久久国产精品免费看| 国产在线播放一区| 奇米精品在线| 91麻豆免费在线视频| 91成人在线精品| 黄色性视频网站| 成人在线免费观看网站| 午夜精品福利电影| 精品久久久无码中文字幕| 国产人成一区二区三区影院| 免费成人深夜夜行网站视频| 成人教育av| 337p日本欧洲亚洲大胆精品| 黄色录像免费观看| 青青草97国产精品免费观看无弹窗版| 国产精品手机视频| 中文字幕中文字幕在线十八区| 日韩欧美中文字幕在线播放| 中文字幕在线观看91| 国产精品久久久久久麻豆一区软件| 久久久亚洲精选| 99久久婷婷国产一区二区三区| 国产性做久久久久久| 六月婷婷在线视频| 99re8这里有精品热视频免费 | 久久日韩视频| 欧美视频裸体精品| 久久人人妻人人人人妻性色av| 欧美有码视频| 亚洲sss综合天堂久久| 日本中文字幕伦在线观看| 日本高清不卡在线观看| 国产精品毛片一区二区| 久久久久欧美精品| 欧美日韩亚洲在线| 伊人久久视频| 亚洲免费影视第一页| 欧美国产成人精品一区二区三区| 成人av在线一区二区| 青青草国产免费| xxxxxhd亚洲人hd| 97婷婷涩涩精品一区| 草逼视频免费看| 亚洲影院理伦片| 大桥未久恸哭の女教师| 欧美日韩成人| 国产精品乱码视频| 国产不卡123| 亚洲人高潮女人毛茸茸| 天天综合网久久综合网| 国产三级三级三级精品8ⅰ区| 好男人www社区| 久久精品播放| 国产不卡视频在线| 999国产在线视频| 欧美一区二区三区在线电影| 波多野结衣喷潮| 国产成人一区在线| 老太脱裤让老头玩ⅹxxxx| 欧美91在线| 日韩av免费网站| avtt亚洲| 日韩三级.com| 天天综合天天干| 国产精品夫妻自拍| 国产精品久久久久野外| 99热在线精品观看| 视频在线精品一区| 日韩精品一区二区三区中文| 欧美精品中文字幕一区| 日韩一卡二卡在线| 欧洲另类一二三四区| 午夜激情福利电影| 波多野结衣中文字幕一区| 免费黄色福利视频| 欧美成人自拍| 国产亚洲自拍偷拍| 日韩欧美激情| 91国产高清在线| av在线电影播放| 日韩美女视频一区二区在线观看| 国产中文字幕免费| 国产精品免费久久| 男女性杂交内射妇女bbwxz| 久久久噜噜噜| 男人草女人视频| 免费国产自久久久久三四区久久| 91精品美女在线| 牛牛精品一区二区| 欧美成人手机在线| 亚洲毛片在线播放| 欧美日韩在线观看一区二区| 久久久久久久久99| 久久久久久久久久久电影| 亚洲女人在线观看| 日本不卡视频在线观看| 丁香色欲久久久久久综合网| 精品香蕉视频| 97超碰资源| 亚洲狼人综合| 国产成人福利网站| 范冰冰一级做a爰片久久毛片| 久久久这里只有精品视频| av大片在线| 伦理中文字幕亚洲| а√天堂8资源在线官网| www国产91| 午夜看片在线免费| 中文字幕欧美国内| av大片在线观看| 日韩中文在线视频| 日本欧美在线视频免费观看| 日韩在线观看视频免费| 亚洲成人影院麻豆| 色综合伊人色综合网站| 亚洲乱亚洲乱妇| 久久精品久久久久| caoporn97在线视频| 欧美另类极品videosbest最新版本| 色大18成网站www在线观看| 色阁综合伊人av| 视频三区在线| 久久999免费视频| 9lporm自拍视频区在线| 91国语精品自产拍在线观看性色 | 久久九九99| 99久久激情视频| 日本麻豆一区二区三区视频| 手机在线成人免费视频| 精品一区二区三区香蕉蜜桃| 丰满人妻一区二区三区53视频| 国产精品12区| 真人bbbbbbbbb毛片| 久久蜜臀中文字幕| 激情五月激情综合| 一区av在线播放| 免费在线观看黄网站| 色屁屁一区二区| 亚洲在线免费观看视频| 日韩午夜av一区| 午夜成人鲁丝片午夜精品| 亚洲无线码在线一区观看| 日本三级在线播放完整版| 色综合久久久888| 色老头在线一区二区三区| 国产精品黄色av| 国产亚洲观看| 久久久一本精品99久久精品66| 精品成人影院| 亚洲色婷婷久久精品av蜜桃| 99精品视频网| 中文字幕丰满乱码| 成人国产精品免费观看视频| 日韩一级av毛片| 一区二区三区中文字幕精品精品 | 国产麻豆一精品一av一免费 | 亚洲自拍与偷拍| 亚洲男人第一av| 欧美高清视频不卡网| 日本xxxxwww| 中文字幕国产亚洲| 成人免费网站观看| 国产欧美亚洲视频| 老牛影视av一区二区在线观看| 亚洲v国产v在线观看| 伊人成年综合电影网| 蜜臀av免费观看| 99精品视频一区| 极品久久久久久| 色婷婷综合久色| 亚洲高清视频网站| 伊人精品在线观看| cao在线视频| 成人国产精品免费视频| 免费电影一区二区三区| 97中文字幕在线| 久久精品国产色蜜蜜麻豆| 99精品一区二区三区无码吞精| 国产精品三级在线观看| 免费在线观看黄网站| 777午夜精品视频在线播放| 青青草在线免费视频| 久久久久久午夜| 精品国产三区在线| 天堂av一区二区| 久久成人国产| 在线观看国产三级| 一区二区日韩av| 97人妻精品一区二区三区软件| 亚洲人成免费电影| av资源在线| www久久99| 欧美精品综合| 91香蕉视频免费看| 中文字幕在线一区免费| 亚洲中文无码av在线| 国产视频精品一区二区三区| 福利成人导航| 国产91精品入口17c| 欧美99久久| 自拍一级黄色片| 亚洲欧美另类图片小说| 一卡二卡三卡在线观看| 国产亚洲精品高潮| 亚洲成人人体| 欧美日韩国产免费一区二区三区| 很黄很黄激情成人| 国产精品99久久久精品无码| 亚洲精品第一国产综合野| japanese国产| 久久成人国产精品| 国产激情精品一区二区三区| 亚洲在线观看一区| 久久精品国产精品亚洲精品 | 舔着乳尖日韩一区| 搡老岳熟女国产熟妇| 97人人模人人爽人人喊中文字| 成人18夜夜网深夜福利网| 欧美一区二区视频在线播放| 东方aⅴ免费观看久久av| 久久久久久久久99| 亚洲国产精品国自产拍av秋霞| h片视频在线观看| 久久精品人成| 久久国产毛片| 国产性猛交xx乱| 欧美精品第1页| 一色桃子av在线| 九九九久久久| 天堂影院一区二区| 欧美乱大交做爰xxxⅹ小说| 91精品婷婷国产综合久久竹菊| 婷婷色在线播放| 精品高清视频| 全部av―极品视觉盛宴亚洲| 亚洲天堂精品一区| 日韩精品在线网站| 波多野一区二区| 日韩性感在线| 国产一区福利在线| 国产精品成人国产乱| 亚洲片国产一区一级在线观看| 日本精品在线一区| 日韩精品一区二区三区电影| 成人免费三级在线| 无码人妻一区二区三区线| 日韩专区在线观看| 97视频一区| 狠狠热免费视频| 自拍偷自拍亚洲精品播放| 蜜臀久久精品久久久久| 人人做人人澡人人爽欧美| 欧美疯狂party性派对| 师生出轨h灌满了1v1| 欧美日韩一二三四五区| 欧美日韩视频在线播放| 国产精品免费一区二区三区在线观看 | 91免费视频大全| 97成人在线观看| 91精品国产91久久久久久| 成人情趣视频网站| 久久久久无码国产精品一区李宗瑞| 日韩欧美视频一区二区三区| 蜜桃视频网站在线观看| 久热这里只精品99re8久| 激情另类小说区图片区视频区| 久久久久久久久久免费视频| 久久精品人人做人人爽| 日韩精品福利一区二区三区| 爽爽爽在线观看| 色婷婷精品久久二区二区蜜臀av | 欧美午夜国产| 国产精品久久免费观看| 亚洲国产欧美一区二区丝袜黑人 | 国产网红在线观看| 亚洲精品高清视频|