0
点赞
收藏
分享

微信扫一扫

Less语言特性 - 命名空间和访问器

花海书香 2022-03-11 阅读 59

它用于将mixins分组在通用名称下。 使用命名空间可以避免名称冲突,并从外部封装mixin组。

less是css的预编译语言,类似于用函数编程的方式去定义css。所以自然会涉及到调用的问题,我们在写.net/java时,需要调用外部对象方法时,其实在头部就是先引用了该对象方法的命名空间,在这个地方,命名空间的主要目的就是划分模块,自然每个模块是互不干扰的,避免了不同命名空间下的重名冲突等。也正因如此,增加了代码的可读性。

例如下面的例子,先做了定义, 最外层是headerClass, 内部有两个leftClass和rightClass:

.headerClass {
.leftClass {
float: left;
}
.rightClass {
float: right;
}
}

定义好了层次结构之后便可以直接调用了,例如:

.container .left {
.headerClass > .leftClass;
}

如此一来,便有了一定的复用功能,且因为有了命名空间不会造成代码使用的混乱。

示例

Less语言特性 - 命名空间和访问器_css

index.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet/less" type="text/css" href="./index.less" />
<script src="../../less.min.js" ></script>
<title>Document</title>
</head>
<body>
<div class="container">
<div class="header">
<div class="left">左侧内容</div>
<div class="right">右侧内容</div>
</div>
</div>
</body>
</html>

index.less

.headerClass {
.leftClass {
float: left;
}
.rightClass {
float: right;
}
}

.container .left {
.headerClass > .leftClass;
}

.container .right {
.headerClass > .rightClass;
}
举报

相关推荐

0 条评论