我写的这个Vue的Less样式为什么没有生效?
<template>
<div class="grid-list">
<slot />
</div>
</template>
<script setup>
import {computed} from 'vue';
const props = defineProps({
itemWidth: {
type: String,
default: '300px',
},
});
const itemWidth = computed(() => {
return props.itemWidth;
});
</script>
<style lang="less">
.grid-list {
display: grid;
gap: 16px;
grid-auto-rows: minmax(172px, auto);
}
@iw: e(%('%d', v-bind(itemWidth)));
.loop(@index) when (@index < 20) {
@media (min-width: calc(288px + 16px * (@index - 1) + @iw * @index)) {
.grid-list {
grid-template-columns: repeat(@index, 1fr);
}
}
.loop(@index + 1);
}
.loop(1);
</style>
上面是我写的一个自定义组件,但是@media这里的代码没有生效,请问我这里少了什么步骤吗?
把@media的样式代码放到下面,确保嵌套层级一样,就会覆盖上面的。