摘要:開發(fā)中經(jīng)常需要加入點擊二態(tài),即用戶點擊頁面某個部分時該部分的樣式進(jìn)行相應(yīng)的變化來相應(yīng)用戶的點擊操作,這樣能夠帶來更好的用戶體驗,今天我們要討論的是如何給圖標(biāo)加上點擊的二態(tài)效果。如果添加蒙層我們先用最容易想到的方法來實現(xiàn)這個需求。
webapp開發(fā)中經(jīng)常需要加入點擊二態(tài),即用戶點擊(tap)頁面某個部分時該部分的樣式進(jìn)行相應(yīng)的變化來相應(yīng)用戶的點擊操作,這樣能夠帶來更好的用戶體驗,今天我們要討論的是如何給圖標(biāo)加上點擊的二態(tài)效果。
先來看下需求吧~
如果判斷用戶的點擊操作?這個應(yīng)該不用多說,使用css的偽類選擇:active即可,這兒需要注意的是不要使用:hover,有些新手往往會直接使用:hover,一方面兼容性比較差,另一方面響應(yīng)用戶操作表現(xiàn)時會有些怪異。
如果添加蒙層?我們先用最容易想到的方法來實現(xiàn)這個需求。
我們可以添加一個和圖標(biāo)同樣尺寸的dom蒙層元素,當(dāng)圖標(biāo)被點擊時我們利用JavaScript來顯示這個蒙層
html
雖然能夠?qū)崿F(xiàn),但是有一些問題
1、使用了額外的JavaScript來進(jìn)行行為控制
2、需要添加額外的DOM結(jié)構(gòu)
3、mask的尺寸樣式定義需要依賴于icon的尺寸
相信大家也想到了,我們可以使用css3中的::after來規(guī)避上面提到的一些問題
html
css
.icon { ... position: relative border-raidus: 50%; } .icon::after { ... content: ""; width: 100%; height: 100%; position: absolute; left: 0; top: 0; border-radius: 50%; display: none; background: rgba(0, 0, 0, .5); } .icon:active::after { display: block; }
現(xiàn)在好多了,HTML已經(jīng)非常簡潔了,不需要定義額外的結(jié)構(gòu),而且不需要依賴JavaScript,但是css還是有一些問題:
1、需要改變.icon的position為relative
2、蒙層還是與icon的結(jié)構(gòu)有依賴(比如border-radius:50%)
3、css代碼偏多,不夠簡潔
好了,讓我們快速結(jié)束吧,下面給出一種簡潔的方案,相信也不用進(jìn)行解釋了
.icon:active { box-shadow: inset 0 0 1000px rgba(0, 0, 0, .5); }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/111426.html
摘要:開發(fā)中經(jīng)常需要加入點擊二態(tài),即用戶點擊頁面某個部分時該部分的樣式進(jìn)行相應(yīng)的變化來相應(yīng)用戶的點擊操作,這樣能夠帶來更好的用戶體驗,今天我們要討論的是如何給圖標(biāo)加上點擊的二態(tài)效果。如果添加蒙層我們先用最容易想到的方法來實現(xiàn)這個需求。 webapp開發(fā)中經(jīng)常需要加入點擊二態(tài),即用戶點擊(tap)頁面某個部分時該部分的樣式進(jìn)行相應(yīng)的變化來相應(yīng)用戶的點擊操作,這樣能夠帶來更好的用戶體驗,今天我們...
摘要:導(dǎo)航欄導(dǎo)航欄用的組件,設(shè)置其水平方向滑動,點擊到的字體會變換樣式。而且,導(dǎo)航欄點擊不同的類別會將主頁替換成不同的結(jié)構(gòu),這就要將最開始的主頁結(jié)構(gòu)隱藏起來。 前言 購物節(jié)又要來啦!!(撒花撒花!)零食打折啦!!衣服打折了!!小伙伴們準(zhǔn)備好買買買了嗎!!!讓我看看我還多少余額哈!(滿心期待(* ̄︶ ̄))(10秒后......)好吧我還是寫個電商小程序過過癮好了。[冷漠臉]咳咳,讓我們進(jìn)入正題...
摘要:導(dǎo)航欄導(dǎo)航欄用的組件,設(shè)置其水平方向滑動,點擊到的字體會變換樣式。而且,導(dǎo)航欄點擊不同的類別會將主頁替換成不同的結(jié)構(gòu),這就要將最開始的主頁結(jié)構(gòu)隱藏起來。 前言 購物節(jié)又要來啦!!(撒花撒花!)零食打折啦!!衣服打折了!!小伙伴們準(zhǔn)備好買買買了嗎!!!讓我看看我還多少余額哈!(滿心期待(* ̄︶ ̄))(10秒后......)好吧我還是寫個電商小程序過過癮好了。[冷漠臉]咳咳,讓我們進(jìn)入正題...
摘要:導(dǎo)航欄導(dǎo)航欄用的組件,設(shè)置其水平方向滑動,點擊到的字體會變換樣式。而且,導(dǎo)航欄點擊不同的類別會將主頁替換成不同的結(jié)構(gòu),這就要將最開始的主頁結(jié)構(gòu)隱藏起來。 前言 購物節(jié)又要來啦!!(撒花撒花!)零食打折啦!!衣服打折了!!小伙伴們準(zhǔn)備好買買買了嗎!!!讓我看看我還多少余額哈!(滿心期待(* ̄︶ ̄))(10秒后......)好吧我還是寫個電商小程序過過癮好了。[冷漠臉]咳咳,讓我們進(jìn)入正題...
摘要:但是,在蒙層元素中滑動的時候,滑到內(nèi)容的盡頭時,再繼續(xù)滑動,蒙層底部的頁面會開始滾動,顯然這不是我們想要的效果,因此需要阻止這種行為。部分安卓機(jī)型以及中,無法無法阻止底部頁面滾動。為蒙層容器節(jié)點簡單粗暴,滾動時底部頁面也無法動彈了。 場景概述 彈窗是一種常見的交互方式,而蒙層是彈窗必不可少的元素,用于隔斷頁面與彈窗區(qū)塊,暫時阻斷頁面的交互。但是,在蒙層元素中滑動的時候,滑到內(nèi)容的盡頭時...
閱讀 2216·2021-09-07 09:58
閱讀 3390·2019-08-30 14:07
閱讀 1305·2019-08-29 12:32
閱讀 667·2019-08-29 11:06
閱讀 3692·2019-08-26 18:18
閱讀 3730·2019-08-26 17:35
閱讀 1381·2019-08-26 11:35
閱讀 611·2019-08-26 11:35