LESS 属性 在 Firefox 中加载不一致
LESS property loading inconsistently in Firefox
我正在通过在 index.html 中添加 less.js 来编译我的 LESS 文件。我的代码如下:
<head>
<link rel="stylesheet/less" type="text/css" href="style.less"/> <!--my own styles go in this file -->
</head>
<body>
<div class="blue-text">Hello</div>
<div class="blue-background"></div>
<script src="jquery.js"></script>
<script src="less.js"></script>
<script src="script.js"></script> <!--my own script file -->
</body>
//style.less
.blue-text {
color: blue;
}
//script.js
(function(){
$('.blue-background').css('background', $('.blue-text').css('color'));
})();
现在,当我在浏览器中呈现此页面时,它在 Chrome 浏览器中呈现得很好。
但在 Firefox 中,蓝色背景并不是每次都能获得颜色。有时来有时不来。
我该怎么做才能解决这个问题?
发生这种情况是因为不同的浏览器在呈现页面时表现不同。
在你的例子中,script.js 是 运行,然后 less 文件被编译成 css 文件。所以它无法从蓝色文本 class 中读取它会将其应用于蓝色背景,因为 class 尚不可用于 dom。
唯一的解决办法是你必须手动将 less 编译成 css 并在 html 文件中使用 css 这样你就可以确保你的 less 在你的页面之前编译渲染。
如果你不想每次都手动完成,你可以使用一些自动化的 javascript 任务 运行ners 就像我使用 Gruntjs.
我正在通过在 index.html 中添加 less.js 来编译我的 LESS 文件。我的代码如下:
<head>
<link rel="stylesheet/less" type="text/css" href="style.less"/> <!--my own styles go in this file -->
</head>
<body>
<div class="blue-text">Hello</div>
<div class="blue-background"></div>
<script src="jquery.js"></script>
<script src="less.js"></script>
<script src="script.js"></script> <!--my own script file -->
</body>
//style.less
.blue-text {
color: blue;
}
//script.js
(function(){
$('.blue-background').css('background', $('.blue-text').css('color'));
})();
现在,当我在浏览器中呈现此页面时,它在 Chrome 浏览器中呈现得很好。 但在 Firefox 中,蓝色背景并不是每次都能获得颜色。有时来有时不来。
我该怎么做才能解决这个问题?
发生这种情况是因为不同的浏览器在呈现页面时表现不同。
在你的例子中,script.js 是 运行,然后 less 文件被编译成 css 文件。所以它无法从蓝色文本 class 中读取它会将其应用于蓝色背景,因为 class 尚不可用于 dom。
唯一的解决办法是你必须手动将 less 编译成 css 并在 html 文件中使用 css 这样你就可以确保你的 less 在你的页面之前编译渲染。
如果你不想每次都手动完成,你可以使用一些自动化的 javascript 任务 运行ners 就像我使用 Gruntjs.