三种css方法实现DIV居中
程序员文章站
2022-03-20 18:20:54
...
本文主要和大家分享css实现p居中的方法,css代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友参考下,希望能帮助到大家。
下面给大家分享p居中的实现代码,具体代码如下所示:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>demo</title> </head> <body> <style type="text/css"> .p1{ width: 100px; height: 100px; border: 1px solid #000000;} .p2{ width:40px ; height: 40px; background-color: green;} </style> <p class="p1"> <p class="p2"> </p> </p> </body> </html>
如上的两个p,实现p2在p1里面是居中显示
一、方法一
利用margin,p1的宽减去p2的宽就是p2margin-left的数值:(100-40)/2=30
p1的高减去p2的高就是p2margin-top的数值:(100-40)/2=30
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>demo</title> </head> <body> <style type="text/css"> .p1{ width: 100px; height: 100px; border: 1px solid #000000;} .p2{ width:40px ; height: 40px; background-color: green;} .p22{ margin-left: 30px;margin-top: 30px; } </style> <p class="p1"> <p class="p2 p22"> </p> </p> </body> </html>
二、方法二
利用css的 position属性,把p2相对于p1的top、left都设置为50%,然后再用margin-top设置为p2的高度的负一半拉回来,用marg-left设置为宽度的负一半拉回来,css如下设置
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>demo</title> </head> <body> <style type="text/css"> .p1{ width: 100px; height: 100px; border: 1px solid #000000;} .p2{ width:40px ; height: 40px; background-color: green;} .p11{ position: relative; } .p22{ position: absolute;top:50%;left: 50%;margin-top: -20px;margin-left: -20px; } </style> <p class="p1 p11"> <p class="p2 p22"> </p> </p> </body> </html>
三、方法三
还是用css的position属性,如下的html
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>demo</title> </head> <body> <style type="text/css"> .p1{ width: 100px; height: 100px; border: 1px solid #000000;} .p2{ width:40px ; height: 40px; background-color: green;} .p11{ position: relative; } .p22{ position: absolute;margin:auto; top: 0;left: 0;right: 0;bottom: 0; } </style> <p class="p1 p11"> <p class="p2 p22"> </p> </p> </body> </html>
四、方法四
利用css3的新增属性table-cell
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>demo</title> </head> <body> <style type="text/css"> .p1{ width: 100px; height: 100px; border: 1px solid #000000;} .p2{ width:40px ; height: 40px; background-color: green;} .p11{ display: table-cell;vertical-align: middle; } .p22{ margin: auto; } </style> <p class="p1 p11"> <p class="p2 p22"> </p> </p> </body> </html>
这个方法还有一个好处就是,p2的高度可以不固定,如下
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>demo</title> </head> <body> <style type="text/css"> .p1{ width: 100px; height: 100px; border: 1px solid #000000;} .p2{ width:40px ; background-color: green;} .p11{ display: table-cell;vertical-align: middle; } .p22{ margin: auto; } </style> <p class="p1 p11"> <p class="p2 p22"> p居中方法 </p> </p> </body> </html>
相关推荐:
以上就是三种css方法实现DIV居中的详细内容,更多请关注其它相关文章!
上一篇: HTML中制作滚动文字的实例代码
推荐阅读
-
css中position:fixed实现div居中_html/css_WEB-ITnose
-
div居中问题_html/css_WEB-ITnose
-
php递归函数三种实现方法及如何实现数字累加_php实例
-
CSS实现的兼容所有浏览器的div悬浮在网页一侧的代码_html/css_WEB-ITnose
-
PHP实现数据采集的三种方法
-
php实现快速排序的三种方法
-
CSS之“绝对定位”的盒子使用margin:0px auto;不能实现水平居中的解决方案
-
CSS实现的兼容所有浏览器的div悬浮在网页一侧的代码_html/css_WEB-ITnose
-
JavaScript使用三种方法定义函数的实现代码分析
-
php实现递归的三种方法实例