CSS實現16 9等比例盒子

2022-01-20 09:02:58 字數 529 閱讀 9965

問題:的寬度100%,高度要始終自適應為16:9。

解決方案:

1、通過js程式算出絕對高度再進行設定。這是解決問題最容易想到的方法。

2、但是,我們的原則是能用css實現的功能盡量用css,這有利於後期專案的維護。css同樣可以實現這個問題,我們可以利用邊距的百分比屬性定義來優雅實現。

我們通過百分比設定寬度,根據寬度的比例數值*9/16,計算出高度的百分比數值,設定內邊距為高度的數值,最後用絕對定位把百分百填充到我們設定的區域裡面。

那麼外面盒子寬度100%,高度0,但是因為有padding-bottom為9/16的比例,所以外層盒子始終是16:9等比例,再絕對定位設定寬高都100%即可。

class="

scale

">

class="

item

"/>

css**:

.scale 

.item

這樣即可,比較簡單,就是思維上的靈活運用。

AutoCAD中實現不等比例縮放

autocad中大多數物件都是不支援non uniform scale的,但我這兩天卻遇到了類似的需求,需要將線 多段線等物件進行不等比例縮放,比如x方向放大2倍,y方向放大0.4倍,於是就想著自己寫 實現,但轉換矩陣怎麼計算卻被難住了,自己看的書還是遠遠不夠啊!從書架上翻出的第一本書中有類似的公式...

前端實現 iframe 等比例縮放顯示頁面

在做 生成器時,有種業務場景,就是在乙個小的頁面下預覽 生成的頁面效果 預覽的頁面比較大 這個時候需要等比例縮小顯示。先上個圖 這裡是 實現的思路是 1 transform scale 0.55 進行等比例縮放 2 為iframe 設定乙個父標籤,由於iframe 本身高寬比較大,因此父標籤 加上 ...

css 一行自適應等比例布局

row item該樣式相容性較好,但是無法實現當裡面的列增多時比例也隨著變化,必須手動修改,當然你也可以使用乙個js來調整了。row item我們知道 可以根據內容進行劃分,css也有乙個樣式是display table來實現類似 的布局,不過不支援ie8以下瀏覽器。row item.row ite...