less

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<template>
<div class="layout">
<Menu></Menu>
<div class="layout-right">
<Header></Header>
<Content></Content>
</div>
</div>
</template>

<script setup lang="ts">
import Menu from './Menu/index.vue'
import Header from './Header/index.vue'
import Content from './Content/index.vue'
</script>

<style lang="less" scoped>
.layout {
display: flex;
height: 100%;
overflow: hidden;
&-right {
flex: 1;
display: flex;
flex-direction: column;
}
}
</style>

&表示父级,拼接在一起为全称。这种写法更清晰,简便。

scoped

写vue的时候,原本分开的文件打包时可能会合并在一起,scoped可以将同名样式区分开,防止冲突。