html - Webkit 任何覆盖用户代理样式表
问题描述
我在样式表中手动指定 h1 字体大小:
h1 {
font-size: 2em;
margin: 1.5em 0;
}
在本地这工作得很好,但只要我将样式表传输到浏览器,开发工具就会向我显示:
:-webkit-any(article,aside,nav,section) h1 {
font-size: 1.5em;
margin-block-start: 0.83em;
margin-block-end: 0.83em;
}
和
h1 {
font-size: 2em; <--- this is crossed out
}
这只是 Chrome 中的问题,Firefox 在本地和服务器上都可以正常工作。我通过以下方式推迟了样式表的加载:
<noscript id="deferred-styles">
<link rel="stylesheet" type="text/css" href="css/styles.css">
</noscript>
和
<script>
var loadDeferredStyles = () => {
var addStylesNode = document.getElementById("deferred-styles");
var replacement = document.createElement("div");
replacement.innerHTML = addStylesNode.textContent;
document.body.appendChild(replacement)
addStylesNode.parentElement.removeChild(addStylesNode);
};
var raf = window.requestAnimationFrame || window.mozRequestAnimationFrame ||
window.webkitRequestAnimationFrame || window.msRequestAnimationFrame;
if (raf) raf(function() { window.setTimeout(loadDeferredStyles, 0); });
else window.addEventListener('load', loadDeferredStyles);
</script>
此样式表中的某些样式不会在 Web 上设置,例如 h1、正文边距等。然而,其他设置得很好:图像大小、字体(也异步加载)和间距。
如何解决这个问题?
解决方案
推荐阅读
- java - 这里的注释是什么意思?
- git - 如何将分支内容移动到另一个存储库以保留历史记录并避免复制原始存储库的完整历史记录?
- docker - 容器之间的连接被拒绝
- firebase - 使用 Firestore 进行本地离线开发
- javascript - 外部可执行文件无法加载必要的文件
- python - python:如何在布尔逻辑中包含 0
- laravel - 获取 Laravel 中每个不同项目名称的最小值和最大值的集合项目
- javascript - 类型错误:尝试获取资源时出现网络错误
- javascript - 规范化深度嵌套的对象
- php - 用户登录后在 Laravel 上使用模态表单进行重定向