【发布时间】:2020-06-09 14:46:06
【问题描述】:
我想知道如何使对象从中心变宽,而不是从左侧变宽。 这是我的 HTML:
<html>
<body>
<a href='#'>Hover</a>
</body>
</html>
这是我的 CSS:
body{
margin:0;
padding:0;
background-color:#262626;
}
a{
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
padding:10px 25px;
border:2px solid white;
text-decoration:none;
color:white;
font-family:verdana;
font-size:27px;
text-transform:uppercase;
letter-spacing:4px;
transform:1s;
}
a::before{
content:'';
position:absolute;
height:100%;
width:0%;
top:0;
left:50%;
z-index:-1;
background-image:linear-gradient(45deg, #eea949,#ff3984);
transition:.5s;
}
a:hover::before{
width:100%;
}
悬停时不是从中心变宽,而是从左侧变宽。我已经尝试添加 transform: translate(-50%, 0);到 a:hover::before 在 css 中,它有点工作,但它使它有点不稳定(我不知道如何解释它)。有人可以帮忙吗?
【问题讨论】:
-
您是在寻找之前的元素来增长并跨越整个链接,还是从左侧扩大是什么意思?否则,您可以将其 left 属性从 50% 更改为 0
标签: html css width transition