居中(整理)

xiaoxiao2021-02-28  128

一、在一个div里的div左右垂直居中

  条件1:已知box1,box2宽高

  条件2:已知box1宽高,box2宽高未知(即box2宽高是可变的)

<div class="box1"> <div class="box2"></div> </div>       通用method1:

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style type="text/css"> .box1{width: 500px;height: 500px;border: 1px solid red;text-align: center;} .box2{width: 200px;height: 200px;border:1px solid green;display:inline-block;vertical-align: middle;} span{width: 0;height: 100%;display: inline-block;vertical-align: middle;} </style> </head> <body> <div class="box1"> <div class="box2"></div> <span></span> </div> </body> </html>

通用method2:

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style type="text/css"> .box1{width: 500px;height: 500px;border: 1px solid red;display: table-cell;vertical-align: middle;} .box2{width: 200px;height: 200px;border:1px solid green;margin: 0 auto;} </style> </head> <body> <div class="box1"> <div class="box2"></div> </div> </body> </html> 通用method3:

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style type="text/css"> .box1{width: 500px;height: 500px;border: 1px solid red;position: relative;} .box2{width: 200px;height: 200px;border:1px solid green;position: absolute;top: 0;right: 0;bottom: 0;left: 0;margin: auto;} </style> </head> <body> <div class="box1"> <div class="box2"></div> </div> </body> </html>

通用method4:

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style type="text/css"> .box1{width: 500px;height: 500px;border: 1px solid red;position: relative;} .box2{width: 200px;height: 200px;border:1px solid green;position: absolute; top: 50%;left: 50%;transform:translate(-50%,-50%);}//使用css3属性 </style> </head> <body> <div class="box1"> <div class="box2"></div> </div> </body> </html>

box2宽高已知时:(或不用定位,计算后用margin来实现)

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style type="text/css"> .box1{width: 500px;height: 500px;border: 1px solid red;position: relative;} .box2{width: 200px;height: 200px;border:1px solid green;position: absolute;top: 50%;left: 50%;margin: -100px 0 0 -100px;} </style> </head> <body> <div class="box1"> <div class="box2"></div> </div> </body> </html> 当需要文字(inline)居中时:line-height:容器高度;  text-align:center;(父元素)

  当需要图片居中时:可用method1或给父元素line-height:容器高度;img vertical-align:middle;

转载请注明原文地址: https://www.6miu.com/read-21855.html

最新回复(0)