程度居中
  • 内联元素
text-align:center
  • 块级元素程度居中

定宽状况下:
1、利用margin

margin-left:auto;margin-right:auto;

2、margin负值+相对定位

<!DOCTYPE html><html>   <head>       <style>          .parent{              position: relative;              width: 100%;          }          .child{              width: 200px;              height: 200px;              position: absolute;              left: 50%;              margin-left: -100px;              background-color: cyan;          }       </style>   </head>   <body>       <div class="parenet">           <p class="child">margin负值+相对定位设置程度居中</p>       </div>    </body></html>

3、相对定位+margin auto

<!DOCTYPE html><html>   <head>       <style>          .parent{              position: relative;              width: 100%;          }          .child{              width: 200px;              height: 200px;              position: absolute;              left: 0;              right: 0;              margin: auto;              background-color: cyan;          }       </style>   </head>   <body>       <div class="parenet">           <p class="child">相对定位+margin auto设置程度居中</p>       </div>    </body></html>

4、flex布局

<!DOCTYPE html><html>   <head>       <style>          .parent{              display: flex;              justify-content: center;              width: 100%;          }          .child{              width: 200px;              background-color: cyan;          }       </style>   </head>   <body>       <div class="parent">           <p class="child">flex程度居中</p>       </div>    </body></html>

宽度未知状况下:
1、相对定位,左右间隔设置雷同

<!DOCTYPE html><html>   <head>       <style>          .parent{              position: relative;          }          .child{              position: absolute;              left:25%;              right: 25%;              background-color: cyan;          }       </style>   </head>   <body>       <div class="parenet">           <p class="child">相对定位设置程度居中,宽度未知</p>       </div>    </body></html>

2、相对布局+translate

<!DOCTYPE html><html>   <head>       <style>          .parent{              position: relative;          }          .child{              position: absolute;              left: 50%;              transform: translate(-50%);              background-color: cyan;          }       </style>   </head>   <body>       <div class="parenet">           <p class="child">相对定位设置程度居中,宽度未知</p>       </div>    </body></html>
垂直居中
  • 行内元素状况
    height 和 line-height 相等
  • 块级元素

和程度居中解决原理雷同