【发布时间】:2014-10-11 06:10:49
【问题描述】:
我尝试在 margin 和 padding 属性上应用 CSS 过渡。
我想让悬停时的背景在视觉上更大。因此,我在悬停时相应地增加了填充并减少了边距,以便文本将保持在其当前位置。
这是代码
.content {
width: 600px;
margin: auto;
}
a.btn {
background-color: #5C9E42;
color: #fff;
text-decoration: none;
font-size: 35px;
border-radius: 5px;
padding: 10px;
text-shadow: 2px 2px 2px #696969;
transition: all 0.3s ease;
}
a.btn:hover {
background-color: #23570E;
padding: 20px;
margin: -10px;
}
<div class="content">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<a href="#" class="btn">Bello! How are you doing?</a>
</div>
当你运行你可以看到的代码时,过渡是滞后的,并且文本在悬停时会出现抖动。
但是,它只发生在 Chrome、Safari、Opera 和其他 webkit 浏览器中。 不过,它在 Firefox 和 IE 中运行良好。
P.S: 将a.btns display 改为inline-block 略微减少了延迟。可能是什么问题?
【问题讨论】:
标签: css google-chrome webkit css-transitions