中的实现效果属性位置

CSS中的translate(-50%,-50%)实现水平垂直居中效果

编程开发 2020-10-19 03:20:14 28

导读

translate(-50%,-50%)属性:向上和左,移动自身长宽的50%,使其居于中心位置。与使用margin实现居中不同的是,margin必须知道自身的宽高,而translate可以在不知道宽高的情况下进行居中,tranlate函数中的百分比是相对于自身宽高的百分比(使用top和left为50%时,以窗口左上角……

translate(-50%,-50%) 属性:
向上和左,移动自身长宽的 50%,使其居于中心位置。

与使用margin实现居中不同的是,margin必须知道自身的宽高,而translate可以在不知道宽高的情况下进行居中,tranlate函数中的百分比是相对于自身宽高的百分比
(使用top和left为50%时,以窗口左上角为原点)。

示例:

<!DOCTYPE html> <html> <head>     <meta charset="UTF-8">     <meta name="viewport" content="width=device-width, initial-scale=1.0">     <meta http-equiv="X-UA-Compatible" content="ie=edge">     <title>Document</title>     <style media="screen">         .container {             position: relative;             width: 50%;         }         .container img {             width: 100%;             display: block;             height: auto;         }         .overlay {             width: 100%;             height: 100%;             position: absolute;             left: 0;             top: 0;             right: 0;             bottom: 0;             opacity: 0;             transition: 0.5s ease;             background: rgb(0, 0, 0);         }         .container:hover .overlay {             opacity: 0.5;         }         .text {             color: white;             font-size: 20px;             position: absolute;             top: 50%;             left: 50%;             transform: translate(-50%, -50%);             -ms-transform: translate(-50%, -50%);         }     </style> </head> <body>     <h2>淡入效果</h2>     <div>         <img src="./img/photo2.jpg" alt="Avatar">         <div>             <div>Hello World</div>         </div>     </div> </body> </html>

效果:

CSS中的translate(-50%,-50%)实现水平垂直居中效果


1253067 TFnetwork_cn