Meteor 如何使用多个 .less 文件

2024-01-11

我正在尝试在 Meteor 应用程序中使用两个 .less 文件。所有文件都位于单个 Meteor 应用程序文件夹中。我有一个 .less 文件,它定义了一般 UI 外观

在 ui.less 中:

.ui-gradient-topdown(@from, @to) {  
   background-color: @from; 

   /* Safari 4+, Chrome 1-9 */
   background-image: -webkit-gradient(linear, 0% 0% 0% 100%, from(@from), to(@to));

   /* Safari 5.1+, Mobile Safari, Chrome 10+ */
   background-image: -webkit-linear-gradient(top, @from, @to); 

   /* Firefox 3.6+ */
   background-image: -moz-linear-gradient(top, @from, @to);

   /* IE 10+ */
   background-image: -ms-linear-gradient(top, @from, @to);

   /* Opera 11.10+ */
   background-image: -o-linear-gradient(top, @from, @to);
}

在 myapp.less 中

@import "ui";

html {
    min-height: 100%;
    min-width: 320px;
}

body {
  .ui-gradient-topdown(#000, #FFF);
}

#new_message_input {
  background: #F00; 
  overflow: scroll;
}

然而,在 Meteor 提供的页面中,我得到:

<!DOCTYPE html>
<html>
<head>
  <link rel="stylesheet" href="/ui.less.css">

  ... more stuff below ...

myapp.less 样式表未导入?

我想要一个应用程序 .less 文件,可以 @import 各种 mixin .less 文件。做这个的最好方式是什么?


因为这个问题似乎仍然存在,所以我尝试回答它。

在较新版本的meteor中(从v0.7.1.1开始).lessimport已被弃用。新方法是.import.less。实现它的方法是:

// client/mixins.import.less

.opacity(@opacity) {
  opacity: @opacity;
  // IE8 filter
  @opacity-ie: (@opacity * 100);
  filter: ~"alpha(opacity=@{opacity-ie})";
}

然后在你想要使用 mixin 的样式表中@import它:

// client/main.less

@import "mixins.import.less";
// relative to the current file
// if absolute it will be relative to your project root

.some-div {
  .opacity(0.5);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Meteor 如何使用多个 .less 文件 的相关文章

随机推荐