Css Grow on Hover 是在 div 上垂直移动文本
Css Grow on Hover is moving text vertically across the div
我有一个 css 过渡,这样当有人将鼠标悬停在图像上时,h2 就会变大。它确实有点作用,但除了增加 h2 之外,它还在 div 上移动。这以前从未发生在我身上,我不明白为什么。如果您滚动到页面底部并将鼠标悬停在我们的故事和我们的团队上,您可以在此处看到它的行为:https://katherinemade.com/staging/mission-vision-values/
这是我的 html:
<div class="img-relative-position">
<h2 class="over-image-text">Our Story</h2>
<a href="#"> <img /> </a>
</div>
还有我的css:
.img-relative-position {
position: relative;
}
.over-image-text {
position: absolute;
top: 45%;
left: 50%;
transform: translate(-50%, -50%);
}
.img-relative-position h2 {
transition: all .2s ease-in-out;
}
.img-relative-position:hover h2 {
transform: scale(1.5);
}
有谁知道是什么导致我的 h2 在 div 上垂直移动,我如何才能保持它居中但仍然增长?
我认为你应该缩放一个“父”容器,所以如果你创建这样的东西
<div class="img-relative-position"> // <-- the Image
<div class="scale-this-on-hover"> // <-- new container this one has to be scaled
<h2 class="over-image-text">Our Story</h2>
<a href="#"> <img /> </a>
</div>
</div>
无需添加比例 属性 来增加文本大小
.img-relative-position:hover h2 {
/* transform: scale(1.5); */ // Remove This Line
font-size: 60px; // Add font-size
}
谢谢
我认为您在 h2 上缺少 transform-origin: center
。我为你做了一个片段。看看。
稍后谢谢我。
* {
box-sizing: border-box;
}
.wrap {
margin: 40px;
width: 300px;
height: 200px;
line-height: 200px;
background: green;
color: #fff;
text-align: center;
}
.wrap h2 {
transition: .3s ease;
transform-origin: center center;
}
.wrap:hover h2 {
transform: scale(1.5);
}
<div class="wrap">
<h2>Hello Test</h2>
</div>
对于额外的悬停效果你可以使用这个Css我希望你喜欢它:)
.img-relative-position {
position: relative;
overflow: hidden;
}
.over-image-text {
position: absolute;
top: 45%;
left: 50%;
transform: translate(-50%,-50%);
z-index: 2;
transition: all 0.5s ease-in-out;
}
.img-relative-position:hover h2 {
font-size: 60px;
}
.img-relative-position a {
display: block;
}
.img-relative-position img {
transition: all 0.5s ease;
}
.img-relative-position:hover img {
transform: scale(1.2) rotate(-5deg);
}
谢谢
你可以这样做
.img-relative-position {
position: relative;
}
.over-image-text {
position: absolute;
top: 45%;
left: 50%;
transform: translate(-50%, -50%);
}
.img-relative-position h2 {
transition: all .2s ease-in-out;
}
.img-relative-position:hover h2 {
transform: scale(1.5);
}
<div class="img-relative-position">
<div class = "over-image-text"> //new div
<h2 class="over-image-text-cstm">Our Story</h2>
</div>
<a href="#"> <img /> </a>
</div>
我有一个 css 过渡,这样当有人将鼠标悬停在图像上时,h2 就会变大。它确实有点作用,但除了增加 h2 之外,它还在 div 上移动。这以前从未发生在我身上,我不明白为什么。如果您滚动到页面底部并将鼠标悬停在我们的故事和我们的团队上,您可以在此处看到它的行为:https://katherinemade.com/staging/mission-vision-values/
这是我的 html:
<div class="img-relative-position">
<h2 class="over-image-text">Our Story</h2>
<a href="#"> <img /> </a>
</div>
还有我的css:
.img-relative-position {
position: relative;
}
.over-image-text {
position: absolute;
top: 45%;
left: 50%;
transform: translate(-50%, -50%);
}
.img-relative-position h2 {
transition: all .2s ease-in-out;
}
.img-relative-position:hover h2 {
transform: scale(1.5);
}
有谁知道是什么导致我的 h2 在 div 上垂直移动,我如何才能保持它居中但仍然增长?
我认为你应该缩放一个“父”容器,所以如果你创建这样的东西
<div class="img-relative-position"> // <-- the Image
<div class="scale-this-on-hover"> // <-- new container this one has to be scaled
<h2 class="over-image-text">Our Story</h2>
<a href="#"> <img /> </a>
</div>
</div>
无需添加比例 属性 来增加文本大小
.img-relative-position:hover h2 {
/* transform: scale(1.5); */ // Remove This Line
font-size: 60px; // Add font-size
}
谢谢
我认为您在 h2 上缺少 transform-origin: center
。我为你做了一个片段。看看。
稍后谢谢我。
* {
box-sizing: border-box;
}
.wrap {
margin: 40px;
width: 300px;
height: 200px;
line-height: 200px;
background: green;
color: #fff;
text-align: center;
}
.wrap h2 {
transition: .3s ease;
transform-origin: center center;
}
.wrap:hover h2 {
transform: scale(1.5);
}
<div class="wrap">
<h2>Hello Test</h2>
</div>
对于额外的悬停效果你可以使用这个Css我希望你喜欢它:)
.img-relative-position {
position: relative;
overflow: hidden;
}
.over-image-text {
position: absolute;
top: 45%;
left: 50%;
transform: translate(-50%,-50%);
z-index: 2;
transition: all 0.5s ease-in-out;
}
.img-relative-position:hover h2 {
font-size: 60px;
}
.img-relative-position a {
display: block;
}
.img-relative-position img {
transition: all 0.5s ease;
}
.img-relative-position:hover img {
transform: scale(1.2) rotate(-5deg);
}
谢谢
你可以这样做
.img-relative-position {
position: relative;
}
.over-image-text {
position: absolute;
top: 45%;
left: 50%;
transform: translate(-50%, -50%);
}
.img-relative-position h2 {
transition: all .2s ease-in-out;
}
.img-relative-position:hover h2 {
transform: scale(1.5);
}
<div class="img-relative-position">
<div class = "over-image-text"> //new div
<h2 class="over-image-text-cstm">Our Story</h2>
</div>
<a href="#"> <img /> </a>
</div>