css设置div居中的方法
1、利用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>
效果如下:
2、利用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>
效果如下:
3、利用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>
© 著作权归作者所有
举报
发表评论
0/200