CSS實現(xiàn)固定比例的長方形


在移動頁面中有時需要將banner做成與屏幕等寬長寬比例固定的長方性,以獲得最佳的視覺體驗效果。

banner-1

banner-2

假如我們要實現(xiàn)長寬比例為 2:1 ,移動設(shè)備屏幕寬度多種多樣,如何用CSS制作自適應的等比例且與屏幕等寬的長方體?

方案一:CSS3 vm單位#####

vw:viewport的寬度,1vw 等于viewport寬度的 1%。

<div class="banner-box"></div>```

.banner-box{
width: 100%;
height:50vw;
}```
使用vw可以簡潔地實現(xiàn),但是此屬性的瀏覽器兼容性不好。


vw瀏覽器兼容性
方案二:使用padding撐開容器#####

在 CSS 盒模型中,margin, padding 的百分比數(shù)值是相對父元素的寬度計算的。由此只需將元素垂直方向的一個 padding 值設(shè)定為與 1/2 width 相同的百分比,同時設(shè)置height: 0就可以實現(xiàn)目的。但是此方案設(shè)置 max-height 無效(max-height作用于元素的內(nèi)容高度,stackoverflow有更詳細的討論)。

方案三:使用偽元素撐開容器#####
.banner-box{
    width: 100%;
    overflow: hidden; /*防止偽元素與容器在垂直方向上產(chǎn)生外邊距折疊*/
}

.banner-box : after {
    content: '';
    display: block;
    margin-top: 50%; /* margin 百分比相對父元素寬度計算 */
} ```
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

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