效果:
css
第一種方法(絕對定位 + 負margin)flex
<div class="div1"> <div class="div2"></div> </div> <style type="text/css"> .div1{ width: 100px; height: 100px; border: 1px solid #000000; position: relative; } .div2{ width: 40px; height: 40px; background-color: green; position: absolute; top: 50%; left: 50%; margin-top: -20px; margin-left: -20px; } </style>
2.第二種方法(絕對定位 + margin: auto)spa
<div class="div1"> <div class="div2"></div> </div> <style type="text/css"> .div1{ width: 100px; height: 100px; border: 1px solid #000000; position: relative; } .div2{ width: 40px; height: 40px; background-color: green; position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; } </style>
3.第三種方法(flex)code
<div class="div1"> <div class="div2"></div> </div> <style type="text/css"> .div1{ width: 100px; height: 100px; border: 1px solid #000000; display: flex; } .div2{ width: 40px; height: 40px; background-color: green; margin: auto; } </style>
效果:
或orm
方法:display:table-cell:圖片
<div class="div1"> <div class="div2">張三丰</div> </div> <style type="text/css"> .div1{ width: 100px; height: 100px; border: 1px solid #000000; display: table-cell; vertical-align: middle; } .div2{ width: 40px; background-color: green; margin: 0 auto; } </style>
效果:
ip
1.CSS3 flexit
<div class="div1"> <div class="div2">小阿三</div> </div> <style type="text/css"> .div1{ width: 100px; height: 100px; border: 1px solid #000000; display: flex; align-items: center; justify-content: center; } .div2{ background-color: green; } </style>
2.transform:io
<div class="div1"> <div class="div2">小阿三</div> </div> <style type="text/css"> .div1{ width: 100px; height: 100px; border: 1px solid #000000; position: relative; } .div2{ background-color: green; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } </style>
效果:
table
<div class="div1"> <img src="images/2.png" alt=""> </div> <style type="text/css"> .div1{ width: 100px; height: 100px; border: 1px solid #000000; display: table-cell; vertical-align: middle; text-align: center; } </style>