CSS實現自適應下保持寬高比

2021-09-28 18:30:02 字數 1543 閱讀 7105

在專案中,我們可能經常使得自己設計的網頁能自適應。特別是**中的,經常要求在網頁放大(或縮小)時,寬高同時放大(或縮小),而且不變形(即保持正常的長寬比)。為了不變形,常用的方法就是設定width值,然後高度height設定auto。如果是div,我們該如何處理呢。

背景寬高比固定

下面,我仿照了移動端的聚划算**中(中間一部分的布局。

圖中三個div的寬高都會隨著頁面的大小保持原有比例放大或縮小。其核心思想就是利用padding來拓寬盒子高度。通過padding-top來設定百分比,使其百分比與寬度的百分比為需要的比例。這裡需要注意的是:padding-top中設定的百分比與width中設定的百分比都是以父元素的width為參考的。

div寬高比固定

由於背景能覆蓋包括padding在內的空間,但是如果需要在子元素中放置其他內容,會擴大子元素的高度,這時應該如何處理呢。為了讓其不占用文件流空間,可設定其position:absolute;具體**如下:

1

doctype html

>

2<

html

lang

="en"

>

3<

head

>

4<

meta

charset

="utf-8"

>

5<

title

>高度自適應

title

>

6<

style

>7*

11.main

16.main:after

17.main div

27.main div:nth-child(1)

31.main div:nth-child(2)

35.main div:nth-child(3)

39.p1

51style

>

52head

>

53<

body

>

54<

div

class

="main"

>

55<

div><

p class

="p1"

>圖中三個div的寬高都會隨著頁面的大小保持原有比例放大或縮小。其核心思想就是利用padding來拓寬盒子高度。通過padding-top來設定百分比,使其百分比與寬度的百分比為需要的比例。這裡需要注意的是:padding-top中設定的百分比與width中設定的百分比都是以父元素的width為參考的

p>

div>

56<

div>

div>

57<

div>

div>

58div

>

59body

>

60html

>

更多專業前端知識,請上

【猿2048】www.mk2048.com

CSS實現div高度自適應

1 有時候,我們希望容器有乙個固定高度,但當其中的內容多的時候,又希望高度能夠自適應,也即容器在縱向能被撐開,且如果有背景,也能夠自適應。在一般情況下,使用min height即可解決。但是廣大網民的首選瀏覽器ie6並不支援min height。ie7,opera,火狐,谷歌沒有問題。所以採用以下寫...

CSS 自適應布局

說明 左列固定右列自適應,也可以為右列固定左列自適應,常見於中臺管理介面 移動端web的列表展示等等。固定寬度 自適應 說明 左邊的固定列設定為 float left,右邊的自適應列設定為 float none。css container left right 說明 自適應列的width根據calc...

css實現兩欄自適應布局

前端經典的兩欄布局 1 左側定寬,左浮動 右側寬度100 doctype html 兩欄布局 左側定寬左浮動,右側寬度100 left right 2 使用彈性布局,父元素display flex,左側定寬,右側flex 1,佔滿容器寬度 body left right 3 父元素相對定位,左側定寬...