CSS实现水平垂直居中方式
2017-07-24 10:08
531 查看
1、定位
核心代码实现请看示例代码中的注释:
效果:
2、table-cell布局
核心代码实现请看示例代码中的注释:
效果同上。
3、flex布局
核心代码实现请看示例代码中的注释:
效果同上,注意浏览器兼容性问题。
4、translate+relative定位
核心代码实现请看示例代码中的注释:
效果同上,注意浏览器兼容性问题。
核心代码实现请看示例代码中的注释:
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8" /> <title>CSS水平垂直居中实现方式--定位实现</title> <style type="text/css"> *{ margin: 0; padding: 0; } .p{ /*父元素为除了static以外的定位方式*/ position: relative; /*position: absolute;*/ /*position: fixed;*/ width: 500px; height: 500px; border: 1px solid red; } .c{ /*子元素为绝对定位*/ position: absolute; width: 200px; height: 200px; /*top、bottom、left和right 均设置为0*/ top: 0; bottom: 0; left: 0; right: 0; /*margin设置为auto*/ margin:auto; border: 1px solid green; } </style> </head> <body> <div class="p"> <div class="c"> 子元素 </div> </div> </body> </html>
效果:
2、table-cell布局
核心代码实现请看示例代码中的注释:
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8" /> <title>CSS水平垂直居中实现方式--定位实现</title> <style type="text/css"> *{ margin: 0; padding: 0; } .p{ width: 500px; height: 500px; border: 1px solid red; display: table-cell; /*vertical-align: middle; 实现垂直居中*/ vertical-align: middle; } .c{ width: 200px; height: 200px; border: 1px solid green; /*margin: 0 auto; 实现水平居中*/ margin: 0 auto; } </style> </head> <body> <div class="p"> <div class="c"> 子元素 </div> </div> </body> </html>
效果同上。
3、flex布局
核心代码实现请看示例代码中的注释:
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8" /> <title>CSS水平垂直居中实现方式--定位实现</title> <style type="text/css"> * { margin: 0; padding: 0; } .p { width: 500px; height: 500px; border: 1px solid red; /*flex 布局*/ display: flex; /*实现垂直居中*/ align-items: center; /*实现水平居中*/ justify-content: center; } .c { width: 200px; height: 200px; border: 1px solid green; } </style> </head> <body> <div class="p"> <div class="c"> 子元素 </div> </div> </body> </html>
效果同上,注意浏览器兼容性问题。
4、translate+relative定位
核心代码实现请看示例代码中的注释:
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8" /> <title>CSS水平垂直居中实现方式--定位实现</title> <style type="text/css"> * { margin: 0; padding: 0; } .p { width: 500px; height: 500px; border: 1px solid red; } .c { width: 200px; height: 200px; border: 1px solid green; /*relative 定位*/ position: relative; /*top和left偏移各为50%*/ top: 50%; left: 50%; /*translate(-50%,-50%) 偏移自身的宽和高的-50%*/ transform: translate(-50%, -50%); } </style> </head> <body> <div class="p"> <div class="c"> 子元素 </div> </div> </body> </html>
效果同上,注意浏览器兼容性问题。
相关文章推荐
- html中div使用CSS实现水平/垂直居中的多种方式
- css实现水平居中和垂直居中的常见方式
- 纯CSS完美实现垂直水平居中的6种方式
- 纯CSS完美实现垂直水平居中的6种方式
- CSS实现水平垂直居中方式
- [分享] 纯CSS完美实现垂直水平居中的6种方式
- css实现文字水平方向垂直方向同时居中的方式
- 纯CSS完美实现垂直水平居中的6种方式
- CSS实现垂直、水平居中方式
- CSS实现水平垂直居中的1010种方式
- [分享] 纯CSS完美实现垂直水平居中的6种方式
- [分享] 纯CSS完美实现垂直水平居中的6种方式
- 翻译:盘点8种CSS实现垂直居中水平居中的绝对定位居中技术
- 盘点8种CSS实现垂直居中水平居中的绝对定位居中技术
- css水平垂直居中三种实现方法
- CSS(3)实现水平垂直居中效果
- css点滴1—八种方式实现元素垂直居中
- 盘点8种CSS实现垂直居中水平居中的绝对定位居中技术
- 使用CSS实现垂直水平居中
- 盘点8种CSS实现垂直居中水平居中的绝对定位居中技术