CSS3移動(dòng)端單擊背景是一種接觸用戶體驗(yàn)的設(shè)計(jì)方式,它可以提高頁(yè)面的互動(dòng)性和美感。通過此設(shè)計(jì),用戶在單擊頁(yè)面元素之外的任意位置時(shí),背景會(huì)出現(xiàn)交互效果,從而增加頁(yè)面的趣味性,提高用戶留存度。下面我們來(lái)看一下使用CSS3實(shí)現(xiàn)移動(dòng)端單擊背景的代碼實(shí)現(xiàn)。
/* CSS代碼 */ body { background: #ffffff; -webkit-tap-highlight-color: rgba(255, 255, 255, 0); /* 隱藏點(diǎn)擊高亮 */ } .mask { /* 設(shè)置mask的高度為100% */ height: 100%; /* 設(shè)置mask的寬度為100% */ width: 100%; /* 設(shè)置mask的背景顏色及透明度 */ background: rgba(0, 0, 0, 0.8); /* 設(shè)置mask的z-index為999 */ z-index: 999; /* position屬性absolute */ position: absolute; /* 初始時(shí)將mask隱藏 */ display: none; }
通過上面的代碼,我們定義了一個(gè)名為mask的類,其樣式屬性包括:寬度、高度、背景顏色及透明度、z-index和position。其中,height和width屬性值都為100%,代表mask占據(jù)整個(gè)屏幕,使得用戶在單擊mask區(qū)域之外的位置時(shí)可以產(chǎn)生交互效果。另外,display屬性設(shè)置為none,初始時(shí)將mask隱藏,等待觸發(fā)單擊事件。
接下來(lái),我們需要使用JavaScript實(shí)現(xiàn)單擊事件,當(dāng)用戶在頁(yè)面任意位置單擊時(shí),觸發(fā)事件,將mask顯示出來(lái)。
// JavaScript代碼 document.addEventListener('click', function(e) { var target = e.target; while(target.parentNode) { if(target.classList.contains('mask')){ // 如果target是mask,則忽略單擊事件 return false; } target = target.parentNode; } showMask(); // 自定義方法showMask,用于顯示mask }, false); function showMask(){ var mask = document.querySelector('.mask'); mask.style.display = 'block'; }
通過監(jiān)聽click事件,當(dāng)用戶單擊頁(yè)面時(shí),首先判斷單擊目標(biāo)是否是mask本身,若是則忽略單擊事件,否則則顯示mask。這樣,我們就實(shí)現(xiàn)了CSS3移動(dòng)端單擊背景的設(shè)計(jì)。