時間:2023-09-09 06:00:01 | 來源:網(wǎng)站運(yùn)營
時間:2023-09-09 06:00:01 來源:網(wǎng)站運(yùn)營
響應(yīng)式網(wǎng)頁中的高度設(shè)計(jì),需要降低瀏覽器的高度嗎?:大家看到這個標(biāo)題可能會以為是不是又寫錯別字了,響應(yīng)式高度設(shè)計(jì)?你認(rèn)真的嗎? 因?yàn)椤绊憫?yīng)式Web設(shè)計(jì)”通常是在多個寬度和設(shè)備尺寸上檢查瀏覽器。 我們一般通過減小寬度調(diào)整水平方向的響應(yīng)能力,但是我很少看到通過減小瀏覽器高度來進(jìn)行垂直響應(yīng)的考慮。 此時,智米么內(nèi)心可能有一絲的波動,并帶有許些疑問:我們需要降低瀏覽器的高度嗎? 是的,我們一直探討一下。@media (min-width: 700px) { .element { /* do something.. */ }}
較少使用的是垂直媒體查詢,它檢查視口高度。@media (min-height: 500px) { .element { /* do something.. */ }} /* or */ @media (orientation: landscape) { .element { /* do something.. */ }}
.hero__title { margin-bottom: calc(10px + 5vh);}
如上所示,大比較大的屏幕(例如iMac 27英寸),下邊距就會變的很大。我們有兩種方式來解決邊距過大的問題。@media (min-width: 2200px) { .hero__title { margin-bottom: 40px; }}
另一種方法是使用CSS clamp()比較函數(shù),clamp() 函數(shù)的作用是返回一個區(qū)間范圍的值。.hero__title { margin-bottom: clamp(10px, 5vh, 40px);}
<p class="hero"> <p class="hero__wrapper"> <p class="hero__content"><!-- content --></p> <img class="hero__thumb" src="figure.png" alt="" /> </p></p>
css.hero { height: 100vh;}.hero__thumb { flex: 0 0 550px; width: 550px;}
下面是解決此類問題幾種解決方案:.hero__thumb { width: 400px; height: 300px; object-fit: contain; /* To avoid compressing the image */}@media (min-height: 700px) { .hero { height: 100vh; }}
好的,現(xiàn)在我們同意使用垂直媒體查詢更好。然而,使用100vh是有風(fēng)險(xiǎn)的,因?yàn)榧词刮覀兿拗屏瞬鍒D的大小,也可能無法對文本內(nèi)容執(zhí)行相同的操作。如果文本內(nèi)容變長,同樣的問題會再次發(fā)生,參見下圖:@media (min-height: 700px) { .hero { min-height: 100vh; }}
@media (min-height: 700px) { .site-header { /* position: fixed or position: sticky */ }}
.nav__item--secondary { display: none;}@media (min-height: 700px) { .nav__item--secondary { display: block; }}
.nav__item { padding-top: 4px; padding-bottom: 4px;} @media (min-height: 700px) { .nav__item { padding-top: 10px; padding-bottom: 10px; }}
.modal__body { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 500px;}
但是,當(dāng)內(nèi)容變長時就會有問題,模態(tài)框會垂直填滿屏幕,用戶將無法滾動它。.modal__body { position: absolute; left: 50%; top: 3rem; transform: translateX(-50%); width: 500px; min-height: 200px; max-height: 500px; overflow-y: auto;} @media (min-height: 700px) { .modal__body { top: 50%; transform: translate(-50%, -50%); }}
注意,我使用了min-height和max-height。 min-height是即使內(nèi)容很短也要保持模態(tài)看起來好,max-height是使用特定值限制其高度,而不是添加固定的高度。關(guān)鍵詞:高度,降低,瀏覽,設(shè)計(jì),響應(yīng)
客戶&案例
營銷資訊
關(guān)于我們
微信公眾號
版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。