6-4 使用者體驗(yàn) -- 透過(guò)變暗降低吸引力

  1. 這不僅僅是在APP等移動(dòng)端常常見(jiàn)到的應(yīng)用,在網(wǎng)頁(yè)中也常常遇到。作者在書中給出了4種解決方法,我測(cè)試了這幾種方法,當(dāng)然不是每一種方法都和合適,所以推薦大家三種常用的方法

  2. 我們可以看看其最終的效果

lightbox

小測(cè)試

方法1 -- HTML添加一個(gè)深色覆蓋圖層

html

<div class="overlay">
    <div class="lightbox"> </div>
</div>

第一步:
將overlay設(shè)置成fixed,并占滿屏幕,調(diào)整期背景色為半透明深色
css

position: fixed;
top: 0; right: 0; bottom: 0; left: 0;
background: rgba(0,0,0,.8);

第二步:
我們將lightbox設(shè)置成fixed布局,并設(shè)置其圖層為

z-index : 1

其次就是居中顯示了(常常用于dialog對(duì)話框)
css

.lightbox{ 
   position: fixed; 
   width: 200px;  
   height: 200px;  
   background: white;  
   left: calc(50% - 100px); 
   top: calc(50% - 100px);  
   z-index:  1;   
 
}

到此就達(dá)到了上述效果

但這種方法有缺點(diǎn)

  1. 增加了html結(jié)構(gòu)
  2. 當(dāng)我們顯示對(duì)話框時(shí),便不能再與頁(yè)面其他組件進(jìn)行交互(有時(shí)候卻是一個(gè)優(yōu)點(diǎn))

方法2 -- 添加一個(gè)偽元素來(lái)解決

首先我們不再需要上述復(fù)雜的html標(biāo)簽,我們只需簡(jiǎn)單的在body或者這個(gè)容器上套用類名(dimmed)
---這真的是一個(gè)比較大的不足之處,假如我們要在容器上加入其它偽元素,這個(gè)方法就力不從心了
css

body.dimmed::before{ 
   content: ''; 
   position: fixed;  
   top: 0; right: 0; bottom: 0; left: 0; 
   z-index: 1; 
   background: rgba(0,0,0,.8);
}

lightbox和方法一中一樣,我們讓其居中顯示


方法3 -- boxshadow解決方法

利用擴(kuò)大box-shadow的擴(kuò)散半徑,并把平移值和模糊設(shè)置為0,建立一個(gè)非常大的陰影

box-shadow: 0 0 0 999px rgba(0,0,0,.8);

但是存在一個(gè)問(wèn)題,它并不支持 非常大的解析度(>2000px),所以采用了可視范圍單位vmax

1vmax 等于 1vw或1vh,取決于哪個(gè)更大選擇哪個(gè)

所以設(shè)置成:

box-shadow: 0 0 0 50vmax rgba(0,0,0,.8);

這里有個(gè)需要注意的地方,這個(gè)方法最好使用在元素有固定定位和網(wǎng)頁(yè)不能滾動(dòng)時(shí)使用
當(dāng)然還有一個(gè)很重要的特性,box-shadow不會(huì)捕捉任何鼠標(biāo)互動(dòng),所以頁(yè)面中的其他元素我們?nèi)匀豢梢渣c(diǎn)擊使用

總結(jié):

當(dāng)我們可以使用第二種方法時(shí)盡量使用第二種方法,
其次第一種方法可以作為備用
第三種方法當(dāng)要求與頁(yè)面其他元素互動(dòng)時(shí)使用比較合適

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 問(wèn)答題47 /72 常見(jiàn)瀏覽器兼容性問(wèn)題與解決方案? 參考答案 (1)瀏覽器兼容問(wèn)題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,109評(píng)論 1 92
  • <a name='html'>HTML</a> Doctype作用?標(biāo)準(zhǔn)模式與兼容模式各有什么區(qū)別? (1)、<...
    clark124閱讀 3,814評(píng)論 1 19
  • 在線閱讀 http://interview.poetries.top[http://interview.poetr...
    前端進(jìn)階之旅閱讀 115,532評(píng)論 24 450
  • 她們已經(jīng)睡的很香,晚安^ω^
    幕小沐閱讀 281評(píng)論 0 0
  • 第九周的周五 今天真的是睡到了自然醒 惺忪的雙眼看了看在一旁擺放的手機(jī) 8:45
    淮鎮(zhèn)閱讀 147評(píng)論 0 0

友情鏈接更多精彩內(nèi)容