less - 可以替换其他混合中使用的混合吗?
问题描述
我有一些 Less mixin 用于创建站点导航,这在每个项目中基本相同。
我已经通过全局变量使其可编辑,但是对于嵌套元素,这些变量变得冗长且笨拙。例如:
@nav-main-sub-menu-item-title-text-transform: uppercase;
如果我可以禁用特定的嵌套 mixin,然后手动重新实例化它,那就太好了。
// Main nav
.Nav() {
.nav {
display:block;
& when (@Nav-Item = default) {
.Nav-Item();
}
// Would be nice to insert a custom .Nav-Item() here
// when @Nav-Item is set to 'custom'
}
}
.Nav();
// Enables Nav-Item
@Nav-Item: default;
// Nav item
.Nav-Item(@color: red) {
.item {
color: @color;
}
}
// Override
@Nav-Item: custom;
.Nav-Item(@color: blue);
我可以将 '.nav' 添加到项目 mixin 本身中以使其更加自我封装,但这违背了“不要重复自己”的口头禅......
另外,媒体查询等使事情变得比这个简单的例子更复杂。
.Nav-Item(@color: red) {
.nav {
.item {
color: @color;
}
}
}
我不知道是否有一个好的解决方案,但我只是想我会把它放在那里。
解决方案
推荐阅读
- jquery - .outerheight() 有问题
- html - 我需要制作一个 4 列 3 行的图片库,所有这些图片的大小都相同
- maven - 如何为 gradle 安装 sdkman
- javascript - 还有另一种在 URL http Delete 请求上添加 ID 的方法吗?
- javascript - Apollo Server gql 使用推荐
- python - 带有 dask sel 的 xarray 很慢
- python - Arduino到Python的Unicode转换为整数的问题
- c - 我无法从链接列表中删除所有节点
- javascript - Javascript - 使用户能够使用键盘上的指定键点亮页面上的框/项目
- python - 导入tensorflow导致python抛出错误并运行另一个脚本