一、自適應高度
自適應高度是指div高度根據內容自動調整,當內容超出div的高度時,高度會自動增加,內容不足時則會自動減小。
實現div自適應高度的方法有多種,以下是其中兩種比較常用的方法:
1. 使用clear:both清除浮動,使得父容器可以包裹浮動元素。然後使用padding-bottom撐開高度,最後使用負margin消除padding-bottom的影響。
.parent { overflow: hidden; zoom: 1; } .child { float: left; } .clearfloat { clear: both; height: 0; line-height: 0; font-size: 0; } .parent:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
2. 使用display: table將div變成表格布局,然後使用display:table-row讓其中一個div佔據一整行,使得整個表格布局的高度隨之變化。
.parent { display: table; width: 100%; } .child { display: table-row; }
二、div寬度減固定值自適應
有時候我們需要讓div的寬度隨着瀏覽器的寬度自適應,但是需要減去一定的固定值,可以使用CSS3的calc()函數。
例如,以下代碼讓div的寬度自適應,但是減去了100px的固定值:
.mydiv { width: calc(100% - 100px); }
三、div的高度怎麼自適應
除了以上提到的方法外,還有以下幾種方法可以實現div的高度自適應:
1. 使用絕對定位,將底部鎖死在父容器底部,頂部不設定高度。
.parent { position: relative; } .child { position: absolute; bottom: 0; }
2. 使用flex布局,將父容器設置為display:flex,然後設置flex:1使得子元素佔據可用空間。
.parent { display: flex; } .child { flex: 1; }
3. 使用JavaScript獲取div高度,然後手動設置高度。
var divHeight = document.getElementById("mydiv").offsetHeight; document.getElementById("mydiv").style.height = divHeight + "px";
四、div設置高度自適應
如果我們需要設置div的高度自適應,並且不希望使用JavaScript,可以使用以下方法:
1. 使用vh單位設置高度,1vh等於視口高度的1%。
.mydiv { height: 100vh; }
2. 使用min-height和max-height同時設置為100%實現自適應高度。
.mydiv { min-height: 100%; max-height: 100%; }
五、div高度根據內容自適應
除了以上提到的自適應高度方法,也可以使用以下方法實現div高度根據內容自適應:
1. 使用line-height與font-size相同的值,使得文本的行高與字體大小相同,從而讓div高度隨之適應。
.mydiv { font-size: 16px; line-height: 16px; }
2. 使用尺寸為0的偽元素設置padding-top和padding-bottom。
.mydiv:before, .mydiv:after { content: ""; display: block; height: 0; width: 0; visibility: hidden; } .mydiv:before { padding-top: 100%; } .mydiv:after { padding-bottom: 100%; }
六、html高度自適應的代碼
除了以上提到的方法外,也可以使用以下代碼使得html元素高度自適應:
html { height: 100%; }
七、html高度自適應
如果我們想讓html元素的高度自適應,可以使用以下方法:
1. 使用min-height和max-height同時設置為100%實現自適應高度。
html { min-height: 100%; max-height: 100%; }
2. 使用vh單位設置高度,1vh等於視口高度的1%。
html { height: 100vh; }
八、css高度自適應怎麼實現
除了以上提到的方法外,CSS也有一些屬性可以實現高度自適應:
1. 使用height:auto。
.mydiv { height: auto; }
2. 使用min-height和max-height實現自適應高度。
.mydiv { min-height: 50px; max-height: 100px; }
3. 使用display:table-cell使得元素表現為表格單元格,height屬性可以自適應單元格高度。
.mydiv { display: table-cell; }
九、div盒子高度自適應
除了以上提到的方法外,還有以下方法可以實現div盒子高度自適應:
1. 使用display: inline-block、vertical-align: middle以及一個span元素,並設置span元素的高度等於line-height,使得div與span元素一樣高。
.mydiv { display: inline-block; vertical-align: middle; } .mydiv span { display: inline-block; height: 50px; line-height: 50px; }
2. 使用clearfix技巧清除浮動後,使用padding-top實現等高效果。
.parent:after { content: ""; display: block; clear: both; } .child { float: left; width: 50%; padding-top: 50%; position: relative; } .child .content { position: absolute; top: 0; left: 0; bottom: 0; right: 0; }
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/201130.html