mysql实现sass_SASS

导读

正文

关于SASS,这里有一个方便的

默认变量

默认变量在后面使用!default,存在的意思是定义一个默认值,根据具体的需求专门用来覆盖的。想要覆盖只需要在重新定义变量即可(很多文章说要在前面重新定义,经过本人测试,顺序并不重要!)。

选择器嵌套

&:hover{

color:#ddd;

}

}

}

的编译结果是:

top_nav li {

float: left;

}

top_nav a {

padding: 0 10px;

color: #fff;

}

top_nav a:hover {

color: #ddd;

}

其中&表示父级。

属性嵌套

属性嵌套一般是具有共同的前缀,例如border-width,border-color都是以border开头的:

Box2 {

border: {

style: solid;

left: {

width: 4px;

color: #888;

}

}

}

编译结果:

Box2 {

border-style: solid;

border-left-width: 4px;

border-left-color: #888;

}

混合声明和调用

使用@mixin和@include可以声明宏和调用宏(关于宏可以理解为C语言中的宏替换)。主要目的是复用代码:

// 调mixin

button{

@include border-radius;

}

有参mixin

在上面的例子中是一个最简单的mixin,下面看一个稍微复杂点的例子,该例子传入了一个默认值:

编译的css:

.opacity-80 {

opacity: 0.8;

filter: alpha(opacity=80);

}

多参mixin

多组值mixin

如果一个参数可以有多组值,如Box-shadow、transition等,那么参数则需要在变量后加三个点"..."表示,如$variables...。

Box-shadow($shadow...) {

-webkit-Box-shadow:$shadow;

Box-shadow:$shadow;

}

.Box{

border:1px solid #ccc;

@include Box-shadow(0 2px 2px rgba(0,.3),0 3px 3px rgba(0,0 4px 4px rgba(0,.3));

}

Box {

border: 1px solid #ccc;

-webkit-Box-shadow: 0 2px 2px rgba(0,0.3),0.3);

Box-shadow: 0 2px 2px rgba(0,0.3);

}

继承

选择器继承是说一个选择器可以继承为另一个选择器定义的所有样式。通过@extend语法实现:

IoUsError {

@extend .error;

border-width: 3px;

}

编译结果:

IoUsError {

border: 1px red;

background-color: #fdd;

}

.serIoUsError {

border-width: 3px;

}

关于extend和mixin的取舍

混合器主要用于展示性样式的重用,而类名用于语义化样式的重用。因为继承是基于类的(有时是基于其他类型的选择器),所以继承应该是建立在语义化的关系上。当一个元素拥有的类(比如说.serIoUsError)表明它属于另一个类(比如说.error),这时使用继承再合适不过了。

占位符%

从sass 3.2.0以后就可以定义占位选择器%。这种选择器的优势在于:如果不调用则不会有任何多余的css文件,避免了以前在一些基础的文件中预定义了很多基础的样式,然后实际应用中不管是否使用了@extend去继承相应的样式,都会解析出来所有的样式。占位选择器以%标识定义,通过@extend调用。

这段代码没有被 @extend 调用,他并没有产生任何代码块,只是静静的躺在你的某个 SCSS 文件中。只有通过 @extend 调用才会产生代码:

.btn {

@extend %mar;

@extend %pad;

}

.block {

@extend %mar;

span {

@extend %pad;

}

}

相关

总结

以上是编程之家为你收集整理的SASS全部内容,希望文章能够帮你解决SASS所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一个SASS多商户权限系统需要实现以下功能: 1. 多商户管理:系统需要支持多个商户的创建、管理和配置,每个商户都有自己的用户、权限、角色和资源等。 2. 用户管理:系统需要支持多个用户的创建、管理和配置,每个用户都属于某个商户,并且具有特定的角色和权限。 3. 权限管理:系统需要支持多种权限控制方式,包括基于角色、资源、URL等方式,以保证商户的数据和系统的安全性。 4. 角色管理:系统需要支持多个角色的创建、管理和配置,每个角色都包含一组权限,可以对商户内的用户进行权限控制。 5. 资源管理:系统需要支持多种资源的创建、管理和配置,包括数据表、页面、功能按钮等,以保证商户内的数据和系统的安全性。 6. 访问控制:系统需要根据商户的权限配置,对用户的访问进行控制,只有具有相应权限的用户才能访问相应的资源。 7. 日志管理:系统需要记录用户的操作日志和系统日志,以方便商户进行监管和审计。 8. 统计报表:系统需要支持统计分析商户的数据和用户的使用情况,以帮助商户进行经营决策。 9. 支持扩展:系统需要支持模块化开发,可以方便地扩展和定制各种功能。 为了实现以上功能,可以采用以下技术方案: 1. 后端框架:可以选择流行的Web框架,如Spring、Laravel、Django等,用于实现商户、用户、角色、权限、资源、访问控制、日志、统计报表等功能。 2. 数据库:可以选择关系型数据库,如MySQL、PostgreSQL、Oracle等,用于存储商户、用户、角色、权限、资源、访问控制、日志、统计报表等数据。 3. 前端框架:可以选择流行的前端框架,如Vue.js、React、Angular等,用于实现商户、用户、角色、权限、资源、访问控制、日志、统计报表等页面。 4. 权限控制:可以采用RBAC(基于角色的访问控制)等方式,对用户的访问进行控制,保证商户的数据和系统的安全性。 5. 日志管理:可以采用日志框架,如log4j、logback、ELK等,记录用户的操作日志和系统日志,以方便商户进行监管和审计。 6. 统计报表:可以采用数据分析和可视化工具,如Tableau、PowerBI等,实现商户的数据和用户的使用情况分析和报表展示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值