- objective-c - iOS 5 : Can you override UIAppearance customisations in specific classes?
- iphone - 如何将 CGFontRef 转换为 UIFont?
- ios - 以编程方式关闭标记的信息窗口 google maps iOS
- ios - Xcode 5 - 尝试验证存档时出现 "No application records were found"
我尝试在 margin
和 padding
属性上应用 CSS transition。
我想在悬停时使背景在视觉上变大。因此,我在悬停时增加了填充并相应地减少了边距,以便文本将保留在当前位置。
.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.btn
的 display
制作成 inline-block
稍微减少了延迟。可能是什么问题?
最佳答案
解决方法是在具有背景色的伪元素上应用过渡,并在悬停时缩放它。这样,文本保持“未转换”并且不会摆动:
CSS:
a.btn {
position:relative;
color: #fff;
text-decoration: none;
font-size: 35px;
padding: 10px;
text-shadow: 2px 2px 2px #696969;
}
a.btn:before{
content:'';
position:absolute;
top:0; left:0;
border-radius: 5px;
width:100%; height:100%;
background-color: #5C9E42;
z-index:-1;
-webkit-transition: all .3s ease;
transition: all .3s ease;
}
a.btn:hover:before {
background-color: #23570E;
-webkit-transform: scaleX(1.1) scaleY(1.2);
-ms-transform: scaleX(1.1) scaleY(1.2);
transform: scaleX(1.1) scaleY(1.2);
}
您应该为 transition
和 transform
CSS 属性包含供应商前缀,检查 CanIUse了解更多信息。
关于css - 为什么 'margin' 和 'padding' 上的转换在 webkit 浏览器中滞后?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25361459/
String 有 PadLeft 和 PadRight。我需要左右填充(居中对齐)。是否有执行此操作的标准化方法,或者更好的是,是否有实现相同目标的内置方法? 最佳答案 据我所知没有。如果您发现自己经
我刚开始学习 CSS,所以我的问题很基础。如图,如果设置padding:10px;的,但在结果中,似乎只有顶部和左侧工作,为什么会这样,我的意思是如果使用工作流程,它应该是最后两个底部和左侧工作吗?
我正在尝试重新创建类似于 this 的内容.我注意到输入字段不能在 内因为那样他们会得到难看的填充物。另一方面,按钮需要此填充,否则它会粘在没有任何填充的一侧。 以下代码不起作用,因为它将按钮放置在
我正在尝试将以下 Keras 模型代码转换为 pytorch,但在处理 padding='same' 时遇到问题。 model = Sequential() model.add(Con
与主题中的问题相同,有时是否可以将 pad 从例如 decodebin 元素链接到其他兼容元素的 pad? 我正在尝试做这样的事情: GstElement *decodebin = gst_eleme
尝试使用相同的数据集依次评估一堆 transformers 模型,以检查哪个模型表现更好。 模型列表是这个: MODELS = [ ('xlm-mlm-enfr-1024' ,"XLM
尝试使用相同的数据集依次评估一堆 transformers 模型,以检查哪个模型表现更好。 模型列表是这个: MODELS = [ ('xlm-mlm-enfr-1024' ,"XLM
根据 http://www.maxdesign.com.au/articles/inline/ ,名为“内联元素和填充”的部分说 While padding can be applied to all
在 的左侧和右侧有 3px 的填充标记导致顶部和底部填充。请参阅此处的示例...(但是对于这个 jsfiddle,我只复制了底部的填充,而不是顶部的填充)。 #xyz { padding-r
我有一个滚动时间线 ( demo ),我遇到了 padding-left 在滚动之前隐藏时间线左侧的时间线分支图像的问题, 但 padding-right 无法隐藏右侧的分支图像。 我尝试使用的方法是
我不想用这个来骚扰你,但我在互联网上的任何地方都找不到对“位填充”到底是什么的详细解释,也没有找到与位填充相关的线程的任何答案在 StackOverflow 上。 我还在 ISO 9899-1990
在检查一些代码时,我发现了这个新声明:-webkit-padding-start 但我无法理解与现有的 padding-left 有什么区别属性(property)。我已经阅读了 Mozilla De
这是我的CSS: body { margin: 0px; background-color: white; } #navbar { background-color: red; margin: 0 a
所以我试图获得一些带有填充的文本修饰符,在我导入 androidx.compose.foundation.layout.padding 之前一切都很好以及 Modifier.padding(10.dp
我正在尝试使用 Python 的 base64.b64decode(str) 方法对字符串进行 Base64 解码(转换为字节): 46oWrWpy2gTEGwNnN6Ayy 并且我确保它有 4 个
两台不同的计算机(相同的 python 版本)为 time.ctime() 返回不同的格式。一个返回 "Sun May 6 14:04:28 2018" 月份前有2个空格;其他返回 "Sun May
代码中没有设置右边距或右边距的地方,当在 Chrome 的开发者工具中查看表单元素时,它在样式列表中同时显示“padding: 0”和“margin: 0”,但是 确实将鼠标悬停在表单元素上时显示边距
有没有办法在 Flexbox 中将 padding-left 和 padding-right 设置为元素宽度的 10%。我尝试使用 padding: 0 10%;,但它不是元素宽度的 10%。 .fl
image codepen 你好,我需要 CSS 样式方面的帮助。 我正在尝试有一个响应式主菜单,但无法想出一种方法来保持文本在元素框中水平居中,一旦这些由于视口(viewport)宽度较低而开始缩小
androidx.compose.material3.Scaffold 填充错误地添加了导航栏填充,即使在打开软键盘时添加了 IME 填充,导致导航栏填充量加倍(请参见下面的屏幕截图,分隔线应该接触到
我是一名优秀的程序员,十分优秀!