CSS中的translate(-50%,-50%)实现水平垂直居中效果
(编辑:jimmy 日期: 2024/11/28 浏览:3 次 )
translate(-50%,-50%) 属性:
向上和左,移动自身长宽的 50%,使其居于中心位置。
与使用margin实现居中不同的是,margin必须知道自身的宽高,而translate可以在不知道宽高的情况下进行居中,tranlate函数中的百分比是相对于自身宽高的百分比
(使用top和left为50%时,以窗口左上角为原点)。
示例:
<!DOCTYPE html> <html lang="en"> <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 class="container"> <img src="./img/photo2.jpg" alt="Avatar" class="image"> <div class="overlay"> <div class="text">Hello World</div> </div> </div> </body> </html>
效果:
下一篇:CSS 屏幕大小自适应的实现示例