一、自適應高度
自適應高度是指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-hk/n/201130.html
微信掃一掃
支付寶掃一掃