jQuery CSS 类作为 LESS mixins

标签 jquery less

another question, 提供我最近发现LESS.不幸的是,我无法让它做我想做的事。

我的 .less 文件如下所示:

#user_box {
    .ui-widget-content;
    .ui-corner-all;
    position: fixed; 
    left: 10px; 
    top: 10px; 
    padding: 5px;
    z-index: 100; 
    height: 40em; 
    width: 16em;
    background-color: white;
}

我试图将特定的 div 与这对 jQuery 类关联起来。然而,这不起作用;格式被完全忽略。但是当我删除那对 mixins 时,它就开始工作了。 (当然,减去 #user_box div 被视为具有这两个类。)这让我怀疑 LESS 的 JS 解析器无法找到这两个类并且正在中止。

我做错了吗,还是 LESS 根本不允许你将其他 .css 文件的类作为 mixin 引入? FWIW,我在所有 jQuery 链接/脚本调用之后放置了“stylesheet/less”链接和 less.js 脚本。


编辑:数学指出我需要使用 @import 语句,但我仍然在挣扎。 .less 文件位于 /team/css ,我尝试导入的文件位于 /team/css/custom-theme 。以下语句均无效:

@import "/team/css/custom-theme/jquery-ui-1.8.21.custom.css";
@import "custom-theme/jquery-ui-1.8.21.custom.css";
@import "jquery-ui-1.8.21.custom.css";

无论 <link type="text/css" href="/team/css/custom-theme/jquery-ui-1.8.21.custom.css" rel="Stylesheet" /> 是否存在,这都是事实。已包含在 HTML 文件中。


编辑2:另外,我在客户端做的工作较少;不知道这是否会影响任何事情。

最佳答案

您需要导入/引用要在当前作用域/文件中使用其 mixin 的任何文件。

因此,如果您的 mixins 是在 mixins.less 中定义的,则您的 less 文件应如下所示:

@import "mixins" /* NOTE THIS IMPORT */

#user_box {
    .ui-widget-content;
    .ui-corner-all;
    position: fixed; 
    left: 10px; 
    top: 10px; 
    padding: 5px;
    z-index: 100; 
    height: 40em; 
    width: 16em;
    background-color: white;
}

您无法从当前 LESS 文件不知道的文件中提取类。但是,您可以使用 LESS 编译器来组合文件,这样您只需一两个文件即可导入其他文件,从而使所有类都可用。


感谢 @zzzBov 指出 LESS 不解析带有 CSS 扩展名的文件;对于要在 LESS 中访问其规则的任何文件,您需要将扩展​​名从 .css 更改为 .less

关于jQuery CSS 类作为 LESS mixins,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11144878/

相关文章:

javascript修改

javascript - 在 jQuery 中停止项目多次滑动

javascript - 将 CSS Transition 与点击事件联系起来

javascript - jQuery 函数在 WordPress 中不起作用

css - LESS 使用变量

css - 网络包 4 : How to get CSS source maps working with LESS?

jquery - 将对象转换为 JSON 字符串

css - 如何通过更少修复空格或引号来创建随机关键帧名称

css - 在 Windows 中基于 urls 获取 less 文件的 css 文件的最简单方法

html - 如何使用 BEM 方法为自适应网页构建 css?