html - 如何纠正悬停 css 效果颤抖/晃动?

标签 html css

我在我的网站上制作了一个悬停效果,它引用了一张不透明度为 65% 的原始图片。问题是,这只会发生一次,只有我第一次将它悬停时,一切都会摇晃/颤抖,但随后一切都会开始正常工作。也许我的悬停代码中缺少某些东西?你能看出哪里出了问题吗?

感谢您的帮助:)

我正在使用的 css 代码:

#rebface
{

content:url("http://static.tumblr.com/g1c47pc/Td2n783c4/nface.png");  
position:relative;    
left:8%;
margin-left:20px;
    display:block;
    box-sizing: border-box;
}

#rebface:hover {
content:url("http://static.tumblr.com/g1c47pc/alcn783j0/nface_65.png"); 
transition: 0.5s linear;
position:relative;    

  display: block;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

HTML:

<div style="margin-top:20px; display:flex;">    

        <a target="_blank" href="http://www.facebook.com/sharer.php?u={Permalink}"><div id="rebface"></div></a>

</div>

你可以在这里看到:(这个网站目前只支持chrome/safari)

http://testedesignfranjas.tumblr.com/post/87336302788/blend-food-culture-magazine-concepcao-de

最佳答案

您正在交换 CSS 内容属性中的图像。我很确定这些不会在页面加载时缓存,因此它们会在悬停时加载,这会导致短暂的闪烁。

您可以通过使用 opacity 而不是其他图像来简单地避免这种情况。

.facebook
{
  content:url("http://static.tumblr.com/g1c47pc/jhDn7hp40/sitef_1.png");
  left:50px;
  z-index:2;  
  position:absolute; 
  top:110px;
  left:0px;
  z-index:50;
}

.facebook:hover {
  opacity: 0.6;
  -webkit-backface-visibility: hidden;
}

作为旁注——使用 background 而不是通过 content 属性添加背景图像。它适用于较旧的浏览器,更像是一种最佳实践。

关于html - 如何纠正悬停 css 效果颤抖/晃动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24384703/

相关文章:

CSS3 旋转动画不适用于 Firefox

html - 垂直居中对齐文本

html - Bootstrap 4 - 流体高度布局

javascript - CSS:当 image1 动画不正确时,图像集会移动,而它们应该留在原处

html - 突出显示表列组

php - 自定义 Paypal 支付的输入

sticky-footer - 带有粘性页脚的渐变背景

css - 没有边缘排水沟的 SASS 网格系统

html - 响应式设计的@media 查询(手机/平板电脑/桌面)

html - 如何更改一个文档中所有页面的页脚?