div垂直居中
来源:互联网 发布:万得股票mac版 编辑:程序博客网 时间:2024/05/19 14:54
前端应用场景、笔试、面试中经常遇到div垂直居中问题,我暂且把它分为两类:
1、高度固定的div在父元素中垂直居中情况(相对简单些):
方法1:无副作用;兼容性:IE8及以上
css:
.father{height: 300px;position: relative;background-color: green;}
.son{height: 100px;position: absolute;left: 0;right: 0;top: 0;bottom: 0;margin: auto 0;background-color: red;}html:
<div class="father">
<div class="son"></div>
</div>
方法2:无副作用;兼容性:IE6及以上
css:
.father{height: 300px;position: relative;background-color: green;}
.son{height: 100px;position: absolute;width: 100%;top: 50%;margin-top: -50px;background-color: red;}html:
<div class="father">
<div class="son"></div>
</div>
相信大家还有很多方法,我暂时说到这。
2、高度不定(自适应)的div在父元素中垂直居中(这个情况稍微复杂些):
方法1:无副作用;兼容性IE9及以上
css:
.father{height: 200px;width: 300px;background-color: green;}
.son{position: relative;top: 50%;transform: translateY(-50%);background-color: red;word-break: break-all;}html:
<div class="father">
<div class="son">ssssssssssddddddddddddddd
ddddddssssssssssdddddddddddddddddddddss
ssssssssdddddddddddddddddddddssssssssssd
dddddddddddddddddddd</div>
</div>
方法2:有副作用(中间多了一层div);兼容性IE6及以上
css:
.out{display: table;width: 300px;height: 200px;border: 1px solid #ddd;}
.mid{display: table-cell;vertical-align: middle;border: 1px solid green;}
.in{border: 1px solid red;}
/* 兼容IE7 */
*+html .out{position: relative;text-align: center;}
*+html .mid{position: absolute;top: 50%;}
*+html .in{position: relative;top: -50%;left: -50%;}
/* 兼容IE6(实测IE5.5也行) */
*html .out{position: relative;text-align: center;}
*html .mid{position: absolute;top: 50%;}
*html .in{position: relative;top: -50%;left: -50%;}
html:<div class="out">
<div class="mid">
<div class="in">666dasdadasdadasdadasdasdasds
adsadsadasdsadsadsadsadasdsadsadsadasdasd
sassssssssssssssssssssssssssssssssssssssssss
</div>
</div>
</div>
方法3:无副作用,最简单,但是兼容性只能到IE10及以上
css:
.out{display: flex;align-items: center;justify-content: center;width: 300px;height: 200px;border: 1px solid #ddd;}
html:
<div class="out">
<div>aaaaaa</div>
</div>
------------------------ 分隔线呀分隔线 ------------------------------
试着写写前端学习的历程,有错误之处欢迎拍砖(可以打脸)
- div 水平居中 垂直居中
- DIV水平居中、垂直居中
- div垂直居中 水平居中
- DIV水平居中、垂直居中
- div垂直居中
- div 垂直居中
- DIV图片垂直居中
- DIV垂直居中
- div内容垂直居中
- Div垂直居中
- div水平垂直居中
- 关于DIV垂直居中
- DIV 水平垂直居中
- 子div垂直居中
- div 水平垂直居中
- div垂直居中
- DIV内容垂直居中
- div 垂直居中
- C++ 虚表(探索多态的原理)和菱形继承
- 这些违规落地页广告,你都知道吗?
- Jsp/Servlet及其相关技术详解复习总结
- 监听浏览器hash变化和html5 pullstate特性
- [LeetCode 27 Remove Element ]
- div垂直居中
- 关于java.util.NoSuchElementException的其中一种解决方案
- oracle回滚误操作导致数据丢失且已提交的数据
- (java)多个附件打包成压缩文件(*.ZIP)以及打包时常见的文件乱码和文件名乱码以及丢失文件或文件损坏问题解决办法
- Java使用IE打开网页和使用默认浏览器打开网页的3种方法
- 控制台程序异常:ERROR: JDWP…
- Android declare-styleable自定义控件属性
- Chrome使用自定义协议打开本地程序…
- oracle使用like匹配特殊字符解决办法