我下载了一个项目,在其中使用less
编写样式表。
在脚本代码name: own-space
和less
代码中,有&-btn-box
,&-tra
和&-input-identifycode-con
选择器。
我有两个问题:
我不知道.own-space
in less和name: own-space
的关系。
以及&-btn-box
,&-tra
和&-input-identifycode-con
的含义是什么?它们的功能是什么?
我的代码如下:
<template>
<div>
.....
</div>
</template>
<script>
export default {
components: {
},
name: 'own-space',
data () {
...
};
},
methods: {
...
}
};
</script>
<style lang="less" rel="stylesheet/less">
...
.own-space {
&-btn-box {
margin-bottom: 10px;
button {
padding-left: 0;
span {
color: #2D8CF0;
transition: all .2s;
}
span:hover {
color: #0C25F1;
transition: all .2s;
}
}
}
&-tra {
width: 10px;
height: 10px;
transform: rotate(45deg);
position: absolute;
top: 50%;
margin-top: -6px;
left: -3px;
box-shadow: 0 0 2px 3px rgba(0, 0, 0, .1);
background-color: white;
z-index: 100;
}
&-input-identifycode-con {
position: absolute;
width: 200px;
height: 100px;
right: -220px;
top: 50%;
margin-top: -50px;
border-radius: 4px;
box-shadow: 0 0 2px 3px rgba(0, 0, 0, .1);
}
}
</style>
答案 0 :(得分:4)
Less允许您在父样式中使用嵌套子样式编写CSS代码。 (除了变量等其他东西)。所以你不必每次都写出孩子的路径。例如,如果您有像
这样的结构parent { styles }
parent child { styles }
parent child grandchild { styles }
在纯CSS中,为你要编写的每个元素设置样式
parent {
some parent styles
& child {
some child styles
& grandchild {
some grandchild styles
}
}
&:hover { hover styles on parent }
&:before { pseudo element styles }
}
使用Less(以及其他预处理器,如SCSS),您可以执行以下操作
&
等
因此,.own-space
的使用是为与父元素(在您的情况下为btn-box
)的关系中的元素启用样式编写。
-tra
,-input-identifycode-con
,own-space
是button
元素的直接子元素,btn-box
是span
的子元素,{{1} } {是button
的孩子,btn-box
的孙子和own-pace
的grandgrandchild(:))。无论如何,你得到了ideea:)
对于代码的其他部分(script
部分),它与我的反应似乎没有关系(或者可能是别的东西),导出名为own-space
的组件(附加了一些数据和方法),其他地方在页面上呈现,就像一个className为own-space
的元素。