gpt4 book ai didi

html - 绝对定位元素和 CSS 过渡的问题

转载 作者:行者123 更新时间:2023-11-28 18:29:21 25 4
gpt4 key购买 nike

我正在制作一个包含大量绝对定位元素的网站。我将它们包含在以页面为中心的“页面换行”中。它是相对定位的,所以包含的元素是相对于它布置的。页面上的某些元素是其他页面的 anchor ,在 :hover 上,这些元素会转换为另一种状态,使用缩放转换和增加的框阴影使它们看起来像是从页面上抬起。

但是,当我将鼠标悬停在一个这样的元素上时,所有在标记中跟随它的元素都会表现出奇怪的行为,例如在过渡期间稍微移动位置。如果它们不包含在页面换行中或者如果页面换行不再设置为相对定位(在这种情况下从布局 Angular 来看基本上是相同的),则不会发生此问题。

在我看来,页面换行使这些元素居中然后它们相对于它进行布局这一事实在某种程度上影响了过渡的呈现,但我完全被卡住了。我已经尝试了所有我能想到的方法,现在正在寻求帮助。另外我应该说我只在 Webkit 浏览器上测试过这个问题,所以这个问题可能不会出现在其他浏览器上。

这是一些精简的代码:

HTML:

<body>
<div id="page-wrap">

<a class="card" href="text.html"><div class="vert"><div class="card-content">
Here is<br/>some text
</div></div></a>

<a class="card" href="somemore.html"><div class="vert"><div class="card-content">
Here is<br/>some more text
</div></div></a>

<a class="card" href="evenmore.html"><div class="vert"><div class="card-content">
Here is<br/>even more text
</div></div></a>

</div>
</body>

CSS:

body {
background: hsl(60, 80%, 90%);
}

#page-wrap {
margin: 0 auto;
position: relative;
width: 800px;
}

.card {
background: hsl(80, 0%, 97%);
box-shadow: 0 1px 7px hsla(0,0%,0%,.2);
display: table;
height: 150px;
margin: 0px;
position: absolute;
width: 300px;
-webkit-transition: all 0.2s linear;
}

.vert {
display: table-cell;
margin 0px;
padding: 0px;
vertical-align: middle;
width: 100%;
}

.card-content {
font: 40px 'Annie Use Your Telescope', cursive;
margin: 0px;
text-align: center;
width: 100%;
}

a.card {
background: hsl(120, 90%, 35%);
color: hsl(60, 80%, 90%);
text-decoration: none;
text-shadow: -2px 2px hsl(60, 80%, 35%);
z-index: 3;
}

a:hover {
box-shadow: 0 0 40px 15px hsla(0,0%,0%,.3);
-webkit-transform: scale(1.2);
}

最佳答案

添加 -webkit-backface-visibility: hidden;.card

已回答here .

关于html - 绝对定位元素和 CSS 过渡的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14786269/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com