将嵌套的 css 转换为 less

问题描述 投票:0回答:2
.carView .carList .carContent.carName .icon, .carView .carList .carContent.carFrom .icon {
    padding-inline-end: 0.5rem;
    line-height: normal;
    min-width: 1.2rem;
}

我有这个 css 文件,想把它改成 Less,也想使用我现有的 Less 代码。

.carView {
  .carList {
 
  }
}

我尝试的是让它像下面的代码一样。

.carView {
  .carList {
    .carContent {
            &.carName .icon, &.carFrom.icon {
                padding-right: 0.5rem;
                line-height: normal;
                min-width: 1.2rem;
            }
        }
    }
 }

正确吗?

css less
2个回答
1
投票

正确的代码是:

.carView {
    .carList {
        &.carContent.carName .icon,
        &.carContent .carFrom .icon {
            padding-inline-end: 0.5rem;
            line-height: normal;
            min-width: 1.2rem;
        }
    }
}

.carView {
    .carList {
        &.carContent {
            &.carName .icon,
            .carFrom .icon {
                padding-inline-end: 0.5rem;
                line-height: normal;
                min-width: 1.2rem;
            }
        }
    }
}

因为

.carList.carContent.carName
.carList.carContent .carFrom
.carList
.carContent
之间没有空间。


0
投票

稍微不同的方法——如果你不想增加选择器的特异性——那么你可以忽略父选择器,完全删除嵌套并简单地定位图标和它的直接父级。

包括多个父项的唯一原因是区分特定元素——但完全有可能只有一个类“carName”——因此它与该类的父项无关。

.carName .icon,
.carFrom .icon {
    padding-inline-end: 0.5rem;
    line-height: normal;
    min-width: 1.2rem;
}
© www.soinside.com 2019 - 2024. All rights reserved.