91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何解決CSS的active偽類無效的問題

發布時間:2021-08-04 22:46:09 來源:億速云 閱讀:1615 作者:chen 欄目:web開發

這篇文章主要介紹“如何解決CSS的active偽類無效的問題”,在日常操作中,相信很多人在如何解決CSS的active偽類無效的問題問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何解決CSS的active偽類無效的問題”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

:active偽類常用于設定點擊狀態下或其他被激活狀態下一個鏈接的樣式。最常用于錨點<a href="#">這種情況,一般主流瀏覽器下也支持其他元素,如button等。在多按鍵的鼠標系統中,:active只適用于主按鍵,目前的大部分情況都是左鍵即主鍵。
該偽類下定義的CSS樣式只在按下鼠標按鈕與釋放鼠標按鈕之間的短暫瞬間被觸發顯示。使用鍵盤的tab鍵也可以觸發:active狀態。


說到:active偽類就不得不提到:link,:visited,:hover,:active這個四個,最常用的是用于a鏈接,設定鼠標交互時不同的鏈接顏色。如下示例:

CSS Code復制內容到剪貼板

  1. a:link { /* Essentially means a[href], or that the link actually goes somewhere */     

  2.   colorblue;     

  3. }     

  4. a:visited {     

  5.   colorpurple;     

  6. }     

  7. a:hover {     

  8.   colorgreen;     

  9. }     

  10. a:active {     

  11.   colorred;     

  12. }    


上述代碼中,將 :visited放到最后,則會導致以下結果:若鏈接已經被訪問過,a:visited會覆蓋:active和:hover的樣式聲明,鏈接將總是呈現為紫色,無論鼠標懸停還是按下激活,鏈接都將保持為紫色。

基于此原因,上述代碼必須按照順序定義,一般稱為LVHA-order: :link &mdash; :visited &mdash; :hover &mdash; :active,為方便記憶,可記為“LOVE HATE”

L :link
O
V :visited
E


H :hover
A :active
T
E


瀏覽器兼容性:
如何解決CSS的active偽類無效的問題
項目中是移動端頁面要做一個按鈕狀態切換的效果,在PC上測試沒有問題,到了手機端發現安卓的正常,iOS則沒有效果。


源碼:

CSS Code復制內容到剪貼板

  1. .slotbtn{     

  2.     width: 5.5rem;     

  3.     height: 4rem;     

  4.     backgroundurl(../images/sbtn.png) no-repeat 0 0;     

  5.     -webkit-background-size: 100% auto;     

  6.     background-size: 100% auto;     

  7.     overflowhidden;     

  8.     cursorpointer;     

  9.     -webkit-tap-highlight-color:transparent;     

  10.     -webkit-user-select:none;     

  11. }     

  12. .slotbtn:active, .slotbtn:focus{     

  13.     background-imageurl(../images/sbtn_active.png);     

  14. }    

html代碼:

XML/HTML Code復制內容到剪貼板

  1. <div class="row tc row-sbtn"><span id="slotbtn" class="slotbtn"></span></div>    

頁面截圖:
如何解決CSS的active偽類無效的問題
雖然知道jQuery Mobile框架中常會用操作class的方法來進行按鈕狀態切換,不過覺得非常繁瑣,性能不好。而且我們有:active的天然定制屬性,為何不用而舍近求遠呢??

經過一番查找,之后在mozilla開發社區找到了:active不起作用的答案:

[1] By default, Safari Mobile does not use the :active state unless there is a touchstart event handler on the relevant element or on the <body>.

看來在iOS系統的移動設備中,需要在按鈕元素或body/html上綁定一個touchstart事件才能激活:active狀態。

CSS Code復制內容到剪貼板

  1. document.body.addEventListener('touchstart', function () { //...空函數即可});    

將上述事件監聽代碼加上后,Safari Mobile上就可以看到按鈕按下后的切換效果了。

到此,關于“如何解決CSS的active偽類無效的問題”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

汉源县| 城口县| 中超| 无棣县| 雅江县| 凌云县| 巫溪县| 龙井市| 舒城县| 泊头市| 盈江县| 荥阳市| 肃北| 正镶白旗| 石河子市| 高州市| 河北区| 安远县| 兴海县| 金门县| 平乐县| 西畴县| 崇信县| 五常市| 同江市| 漳州市| 进贤县| 兰溪市| 河池市| 汝城县| 青岛市| 新沂市| 历史| 商洛市| 巴南区| 潮州市| 上虞市| 乌兰察布市| 洛扎县| 遂昌县| 镇安县|