css - 更少的混合建议

标签 css less

我正在尝试为我的字体大小和行高创建一个 LESS mixin,但是当我尝试运行它时出现错误。任何人都可以建议我可能在哪里出错:

.font( @size: 1.6, @line: @size * 1.5 ){
  @fontSizeRem: @size;
  @fontSizePx: ( @size * 10 );
  @lineHeightRem: @line;
  @lineHeightPx: ( @line * 10 );
  font-size: ~"@{fontSizePx}px";
  font-size: ~"@{fontSizeRem}rem";
  line-height: ~"@{lineHeightPx}px";
  line-height: ~"@{lineHeightRem}rem";
}

h1{
 .font(1.6);
}

最佳答案

LESS 不支持依赖于其他参数的参数。要实现可选的第二个参数,您可以添加另一个混合:

.font( @size:1.6 ) {
  .font(@size, @size * 1.5)
}
.font( @size, @line ) {
    /* ... See question for the remainder ... */

编译为:

h1 {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 24.000000000000004px;
  line-height: 2.4000000000000004rem;
}

关于css - 更少的混合建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11757841/

相关文章:

css - 在 Rails 的 less 样式表中使用相对路径的正确方法是什么?

javascript - Javascript 评估是否在 LESS(精简 CSS)中工作?

css - Stylus 通过循环创建混合

javascript - Textarea block 重音字母和 alt 代码符号

css - LESS CSS 有多动态?

CSS 预处理器,可以在@media 查询中定义变量

css - 禁用 LESS-CSS 覆盖 calc()

html - CSS 在 Safari 中因内联 block 而损坏 - 未设置零宽度

html - 悬停时在 z-index 中模糊图像

jquery - 悬停/选定的菜单显示背景