加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 电商 > 正文

CSS实现DIV居中的三种方法

发布时间:2020-05-12 20:29:18 所属栏目:电商 来源:站长网
导读:下面给大家分享div居中的实现代码,具体代码如下所示: !DOCTYPE htmlhtmlheadmeta charset=UTF-8titledemo/title/headbodystyle type=text/css.div1{ width: 100px; height: 100px; border: 1px solid #000000;}.div2{ width:40px ; height: 40px; backgr

下面给大家分享div居中的实现代码,具体代码如下所示:

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>demo</title> </head> <body> <style type="text/css"> .div1{ width: 100px; height: 100px; border: 1px solid #000000;} .div2{ width:40px ; height: 40px; background-color: green;} </style> <div class="div1"> <div class="div2"> </div> </div> </body> </html>

如上的两个div,实现div2在div1里面是居中显示

一、方法一

  利用margin,div1的宽减去div2的宽就是div2margin-left的数值:(100-40)/2=30

  div1的高减去div2的高就是div2margin-top的数值:(100-40)/2=30

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>demo</title> </head> <body> <style type="text/css"> .div1{ width: 100px; height: 100px; border: 1px solid #000000;} .div2{ width:40px ; height: 40px; background-color: green;} .div22{ margin-left: 30px;margin-top: 30px; } </style> <div class="div1"> <div class="div2 div22"> </div> </div> </body> </html>

二、方法二

  利用css的 position属性,把div2相对于div1的top、left都设置为50%,然后再用margin-top设置为div2的高度的负一半拉回来,用marg-left设置为宽度的负一半拉回来,css如下设置

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>demo</title> </head> <body> <style type="text/css"> .div1{ width: 100px; height: 100px; border: 1px solid #000000;} .div2{ width:40px ; height: 40px; background-color: green;} .div11{ position: relative; } .div22{ position: absolute;top:50%;left: 50%;margin-top: -20px;margin-left: -20px; } </style> <div class="div1 div11"> <div class="div2 div22"> </div> </div> </body> </html>

三、方法三

  还是用css的position属性,如下的html

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>demo</title> </head> <body> <style type="text/css"> .div1{ width: 100px; height: 100px; border: 1px solid #000000;} .div2{ width:40px ; height: 40px; background-color: green;} .div11{ position: relative; } .div22{ position: absolute;margin:auto; top: 0;left: 0;right: 0;bottom: 0; } </style> <div class="div1 div11"> <div class="div2 div22"> </div> </div> </body> </html>

四、方法四

  利用css3的新增属性table-cell

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>demo</title> </head> <body> <style type="text/css"> .div1{ width: 100px; height: 100px; border: 1px solid #000000;} .div2{ width:40px ; height: 40px; background-color: green;} .div11{ display: table-cell;vertical-align: middle; } .div22{ margin: auto; } </style> <div class="div1 div11"> <div class="div2 div22"> </div> </div> </body> </html>

这个方法还有一个好处就是,div2的高度可以不固定,如下
 

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>demo</title> </head> <body> <style type="text/css"> .div1{ width: 100px; height: 100px; border: 1px solid #000000;} .div2{ width:40px ; background-color: green;} .div11{ display: table-cell;vertical-align: middle; } .div22{ margin: auto; } </style> <div class="div1 div11"> <div class="div2 div22"> div居中方法 </div> </div> </body> </html>

总结

以上所述是小编给大家介绍的CSS实现DIV居中的三种方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读