javascript - 将多个值和名称添加到 CSS 样式属性

标签 javascript css fonts

我目前正在使用 Font.js 加载字体。该字体有多个我想要设置动画的 AXIS 值。由于 CSS 属性 font-variation-settings,它相当简单。

问题:我无法设置 CSS 属性。字体变化设置需要显示为

.class{
 font-variation-settings: "wght" 200, "slnt" 150, "mono" 0;
}

如何将这些属性添加到 CSS 中? 我无法使用像 container.style.setProperty(slider.id, slider.value) 这样的命令,因为这只会向属性添加一个轴。

最佳答案

您可以将值存储在对象中并将它们映射到样式属性,如下所示:

var axes = {
    'wght': 200,
    'slnt': 150,
    'mono': 0,
}

function makeFontVariationSettings(obj) {
    return Object.keys(obj)
        .map(function(key) { 
            return `"${key}" ${obj[key]}`; 
        })
        .join(', ');
}

var fontVariationSettings = makeFontVariationSettings(axes);
container.style.setProperty('font-variation-settings', fontVariationSettings);

关于javascript - 将多个值和名称添加到 CSS 样式属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60814505/

相关文章:

css - 如何使用颜色选择器angular js更改div背景

css - 对 CSS 移动查询的更改不再响应

javascript - 在 javascript 上更改 css 的背景 gif

android - 更改 EditText setError() 的字体系列

python - 需要使用 beautifulsoup 提取所有字体大小和文本

javascript - 我的 parseFloat 简单 JavaScript 代码忽略了小数

javascript - 当我们现在在浏览器中支持原生 ESM 时,为什么我们仍然需要模块 bundler

javascript - sails.js 如何传递多个模型的 View 变量

css - 如何在 flutter/dart 中使用设定大小的自定义字体?

Javascript - 如何自动选择另一个下拉列表