You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用JavaScript正确获取Less中定义的HTMLElement计算属性?

问题:getComputedStyle获取Less动态编译样式返回"none"

使用JavaScript的getComputedStyle方法获取元素属性(比如max-block-size)时,返回结果为none,但在浏览器开发者工具的计算属性面板中可以看到该属性的真实值。将Less编译为CSS文件后,脚本就能正常获取到属性值。

代码示例

HTML代码

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>getComputedStyle test</title>
        <link rel="stylesheet/less" type="text/css" href="styles.less" />
        <script>
            less = {
                env: 'development',
            };
        </script>
        <script src="less.min.js" type="text/javascript"></script>
        <script>
            less.watch();
        </script>
        <!-- <link rel="stylesheet" href="styles.css" /> -->
    </head>
    <body>
        <div id="element">some text</div>
    </body>
    <script defer>
        const someElement = document.getElementById('element');
        const styles = getComputedStyle(someElement);
        const maxBlockSize = styles.getPropertyValue('max-block-size');
        console.log(maxBlockSize);
    </script>
</html>

styles.less代码

#element {
    outline-style: solid;
    background-color: cadetblue;
    max-inline-size: 10rem;
    max-block-size: 5rem;
}

尝试过的解决方法

曾考虑脚本可能在Less编译完成前执行,尝试在脚本开头添加sleep函数延迟执行,但无效果。

环境说明

使用VSC + Live Preview

内容的提问来源于stack exchange,提问作者Korney Chervonenko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 19:46:21