html - 基于对 CSS 自定义属性的支持加载样式表?

标签 html css media-queries graceful-degradation

<link>支持 media有条件地加载 CSS 的属性。有没有媒体查询可以近似support for CSS variables ?有点像这样。如果某些支持 CSS vars 的浏览器也得到了遗留而不是相反,那就没关系了。仅加载一个样式表很重要。

<link rel="stylesheet" href="legacy.css" media="(???)">
<link rel="stylesheet" href="modern.css" media="(???)">

最佳答案

据我所知,我认为您无法在媒体查询中做到这一点。但是,您可以测试对 JavaScript 的支持并相应地注入(inject) CSS。

var newLink = document.createElement('link');
newLink.rel = 'stylesheet';

if (window.CSS.supports('--modern-var', 0)) {
    newLink.src = 'modern.css';
}
else {
    newLink.src = 'legacy.css';
}

document.head.appendChild(newLink);

关于html - 基于对 CSS 自定义属性的支持加载样式表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48454954/

相关文章:

html - 垂直对齐等宽字体中的 html 实体字符?

css - 如何使 Bootstrap 3 在 IE8 中响应(使用动态加载的 CSS)

css - 如何使用媒体查询隐藏/显示一个 div 但不是当它在另一个 div 中时

css - Chrome 没有正确显示媒体查询内容

jquery - SVG map onclick 背景颜色应为黑色 "#000"

html - 具有多种厚度(或 div 边界)的表格单元格边界?

css - 媒体查询不适用于 dc.js 图表

javascript - POST HTML图像对象作为文件

javascript - 延迟框淡入动画

html - CSS 悬停过渡