hssfworkbook 设置自适应宽度_「CSS很简单」CSS 实现宽高等比自适应容器
在最近開發(fā)移動(dòng)端頁面,遇到這么一個(gè)情況:當(dāng)頁面寬度 100% 時(shí),高度為寬度一半,并隨手機(jī)寬度變化依然是一半。
于是我們就需要實(shí)現(xiàn)一個(gè)寬度自適應(yīng),高度為寬度一半的容器。
這里先以高度為寬度一半為例,也可以是其他任意比例。
一、思考如何實(shí)現(xiàn)
這個(gè)問題類似于:我們?cè)谝苿?dòng)端頁面,上面有一張寬度 100% 的圖片,如果我們沒設(shè)置高度,則圖片會(huì)根據(jù)原有尺寸,等比縮放。
我們可以借助這個(gè)想法,根據(jù)元素高度,來為元素設(shè)置一個(gè)相應(yīng)比例的高度即可。
二、實(shí)現(xiàn)方法1 - 通過 vw 視口單位實(shí)現(xiàn)
所謂視口單位(viewport units)是相對(duì)于視口(viewport)的尺寸而言,100vw 等于視口寬度的 100%,即 1vw 等于視口寬度的 1%。
我們就可以利用這個(gè)特性,實(shí)現(xiàn)移動(dòng)端的寬高等比自適應(yīng)容器。
- 為什么 .box 高度為 51.5vw 呢?
原因是圖片原來的尺寸是 884 * 455的寬高比例,即 455 / 884 = 51.5%。
這個(gè)方法相比原來圖片的等比縮放,有個(gè)優(yōu)點(diǎn):無論圖片是否加載成功,容器高度始終是計(jì)算完成,不會(huì)造成頁面抖動(dòng),也不會(huì)造成頁面重繪,從而提升性能。
下面看看這種情況下,圖片加載成功和失敗的對(duì)比:
三、實(shí)現(xiàn)方法2 - 通過子元素 padding 實(shí)現(xiàn)
通過設(shè)置子元素的 padding 屬性來實(shí)現(xiàn),是比較常用,也是效果比較好的一種,這里需要理解的是:子元素的 padding 屬性百分比的值是先對(duì)父容器的寬度而言。
這里看下面代碼和效果圖理解下:
分析:
這里我們將父容器 .box 寬度設(shè)置為 200px,子元素 .text 的 padding:10% ,因此 .box 的 padding 計(jì)算結(jié)果為 20px;
接下來結(jié)合主題,我們利用這個(gè)原理,來實(shí)現(xiàn)等比例的問題:
這里 .text 的 padding-bottom: 51.5%; 也是按照第一個(gè)方法,用圖片原始尺寸的寬高比計(jì)算出來的,需要注意,這里將 .text 設(shè)置 height: 0; 會(huì)出現(xiàn)高度比實(shí)際高的問題,因此為了避免這個(gè)情況,就需要設(shè)置 height: 0;。
于是我們通過2種方法解決了這個(gè)問題。
總結(jié)
以上是生活随笔為你收集整理的hssfworkbook 设置自适应宽度_「CSS很简单」CSS 实现宽高等比自适应容器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: kubelet启动失败_《蹲坑学kube
- 下一篇: html樱花飘落代码_爱心飘落特效