Less mixin with optional parameters

大憨熊 提交于 2019-11-27 03:14:29

问题


I have a Less mixin defined as:

.fontStyle(@family, @size, @weight: normal, @style: normal, @color: #ffffff, @letter-spacing: normal) {
  font-family: @family;
  font-size: @size;
  color: @color;
  font-weight: @weight;
  font-style: @style;
 letter-spacing: @letter-spacing;
}

How can I define usage like:

.fontStyle('NimbusSansNovCon-Reg', 12px, , , , 0.1em);

I.E. use the defaults for @weight, @style, @color


回答1:


To supply a parameter that far down the string of arguments, you have to also supply the expected variable it is to define. So this:

.fontStyle('NimbusSansNovCon-Reg', 12px, @letter-spacing: 0.1em);

Produces this (note how color, font-weight, and font-style used the defaults):

font-family: 'NimbusSansNovCon-Reg';
font-size: 12px;
color: #ffffff;
font-weight: normal;
font-style: normal;
letter-spacing: 0.1em;



回答2:


See the documentation

http://lesscss.org/features/#mixins-parametric-feature-mixins-with-multiple-parameters

Note: you should get in the habit of using semicolons to separate parameters since some css values can contain commas.



来源:https://stackoverflow.com/questions/17116082/less-mixin-with-optional-parameters

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!