主流 CSS 布局(水平居中、垂直居中、居中 ) (2)

display:block + margin 属性实现水平方向居中,table-cell + vertical-align 属性实现垂直方向居中
注:[优点] 浏览器兼容性比较好 [缺点] 父元素与子元素都需要增加代码

<style> * { margin: 0; padding: 0; } .parent { width: 1000px; height: 600px; background-color: #00ffff; /* 实现垂直居中 */ /* <td> */ display: table-cell; vertical-align: middle; } .child { width: 200px; height: 300px; background-color: #ff0000; /* 实现水居中 */ /* <table> */ /* display: table; */ display: block; margin: 0 auto; } </style> <body> <div> <div></div> </div> </body>

absolute + transform 属性实现水平和垂直方向的居中
注:[优点] 无论父级元素是否脱离文档流,不影响子级元素的垂直居中的效果,不考虑浏览器兼容性,优于第一中方案 [缺点] transform 属性是 CSS 3 中新增的属性 浏览器支持情况不好同时子父元素都增加了代码

<style> * { margin: 0; padding: 0; } .parent { width: 1000px; height: 600px; background-color: #00ffff; /* 相对定位 不脱离文档流*/ position:relative; } .child { width: 200px; height: 300px; background-color: #ff0000; /* 绝对定位 ———— 子绝父相 */ position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); /* transform: translateX(-50%); transform: translateY(-50%); */ } </style>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwysgj.html