CSS实现水平垂直居中方式
2018-06-24 01:40:45来源:未知 阅读 ()
1、定位
核心代码实现请看示例代码中的注释:
<!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>
效果同上,注意浏览器兼容性问题。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:本博客主题分享
下一篇:margin属性的正负值确定
- DIV居中的经典方法 2020-06-13
- CSS中的float和margin的混合使用 2020-06-11
- Html/css 列表项 区分列表首尾 2020-06-11
- css与javascript重难点,学前端,基础不好一切白费! 2020-06-11
- ie8下透明度处理 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash