一、自适应高度
自适应高度是指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; }