【发布时间】:2021-01-27 05:15:24
【问题描述】:
我在一个项目中使用 Bootstrap 5.0 beta1 和我自己的 css 文件,并在我的 css 中为自定义登录按钮编写了这些选择器(顺便说一下,这是一个 <a> 元素):
.login-button{
text-decoration: none;
background-color: red;
color: #ffffff;
border-radius: 4px;
padding: 4px 6px;
transition: 2s;
}
.login-button:hover{
text-decoration: none;
background-color: blue;
color: #ffffff;
border-radius: 4px;
padding: 4px 6px;
}
但是当我打开网页时,奇怪的是,登录链接从无样式表单转换为它应该开始的原始表单:
我的网页中的其他一些元素也会出现延迟。例如,当我重新加载页面时,导航栏似乎根本没有样式,几分之一秒后,我在自定义 css 文件中编写的自定义 css 样式(和引导程序样式)适用于它们。
PS:当我使用内部 css(<style> 标签)应用样式时,它工作正常!
【问题讨论】:
-
我猜这是因为渲染阻塞。您的网站上还有哪些其他脚本?浏览器需要时间来渲染元素。对于这个特定的
button,您可以轻松地将transition仅应用于background-color,因为这是您在hover上唯一更改的内容。在你有缓存机制之前,navbar几乎没有什么关系。 -
删除过渡属性,这将修复它。
-
@NathanielFlick 为什么 OP 会删除过渡?然后链接不会在悬停时转换。
-
@disinfor 它与 Chrome 的渲染引擎有关,因为它在 Firefox 上都能正常工作
-
我敢打赌,如果您在 Firefox 中进行几次硬刷新,您可能可以让它复制您在 Chrome 中看到的内容。您确实有 brdtheo 的回答和我的其他评论中指出的修复方法。其他的东西肯定是渲染阻塞。
标签: html css twitter-bootstrap bootstrap-5