CSS3扩展技术
我们使用扩展技术编写代码时,需要先用编译器将我们的文件进行编译,编译后的文件才能够使用。
less技术相关语法
less相对来说比较简单,语法也较少:
变量的定义:
@w:20px;
变量的使用:
.p2{
width:@w
}
编译后的结果为:
.p2{
width:20px;
}
混合使用:
先定义:
.radius{
border-radius:10px;
}
引用:
.p1{
.radius
}
传参数:
.radius(@a){
border-radius:@a;
}
引用:
.p1{
.radius(10px);
}
伪类的定义:
.p1{
&:hovor
}
以上的&表示当前元素的父元素,上面的代码转译之后为:
.p1:hovor{ };
sass技术
sass的功能比less强大许多,语法也有些不同,sass的文件后缀名有.sass,也有.scss,现在多用.scss。
下面来看语法:
导入css文件:
@import "a.css"
导入scss文件:
@import "b"//不用写后缀名
变量的定义:
$color:blue !default;//default为设置的默认值,可允许修改
在元素中嵌入一个变量,需要用#{}将变量括起来
$direct:top;
.border-#{$direct}{ };
多值变量:
$num:1px 2px 3px 4px;
.p1{
padding:$num
}
margin:nth($num,1)//nth:根据下标序号获取数组中的值(1px)
$num1:1px 2px,3px 4px;
margin:nth($num1,2)//3px,4px
键值对:
$map:(a1:10px,a2:5px,a3:3px,a4:1px);
取值:
.p{
width:map-get($map,a1)
height:map-get($map,a2)
}
伪元素的定义:
.p2{
&:hovor{
}
}//&为此元素的父元素
div{
@at-root p{
color:red
}
}
p的执行结果:
div{};
p{
color:red
}
@at-root是表示跳出父元素
属性的嵌套:
.d2{
border:{
top:20px;
left:25px;
}
}
编译为:
.d2{
border-top:20px;
border-left:25px;
}
scss中,加了:会编译成(-)属性,不加:为选择器的嵌套
反选:
.child{
@at-root .p1 &{
}
}
译成:
.p1 .child{}
混合:
先定义:
@mixin whb{
width:200px;
height:100px;
}
引用:
div{
@include whb
}
混合,传参的定义:
@mixin whb($w,$h){
width:$w;
height:$h
}
调用:
div{
@include whb(20px,10px);
}
继承:
%h1{
font-size:12px;
}//%会将h1隐藏,不会显示在CSS代码中
应用:
p2{
@extend %h1
}
scss混合和继承
如果重用的代码里面没有参数,就用继承,有参数,用混合。
CSS3扩展技术的更多相关文章
- css的扩展技术
CSS的扩展技术 (在原来的CSS语言的基础上扩展了js,可以在里面写js ) 一.less 定义: @color:red; //定义颜色 @body-color:blue; @div-color:y ...
- 手把手教你玩转 CSS3 3D 技术
css3的3d起步 要玩转css3的3d,就必须了解几个词汇,便是透视(perspective).旋转(rotate)和移动(translate).透视即是以现实的视角来看屏幕上的2D事物,从而展现3 ...
- 手把手教你玩转CSS3 3D技术
手把手教你玩转 CSS3 3D 技术 要玩转css3的3d,就必须了解几个词汇,便是透视(perspective).旋转(rotate)和移动(translate).透视即是以现实的视角来看屏幕上 ...
- Python 扩展技术总结(转)
一般来说,所有能被整合或导入到其他Python脚本中的代码,都可以称为扩展.你可以用纯Python来写扩展,也可以用C/C++之类的编译型语言来写扩展,甚至可以用java,C都可以来写 python扩 ...
- 【CSS】330- 手把手教你玩转 CSS3 3D 技术
点击上方"前端自习课"关注,学习起来~ CSS3的3D起步 要玩转css3的3d,就必须了解几个词汇,便是透视(perspective).旋转(rotate)和移动(transla ...
- Css3小技术
圆角border-radius border-radius:length *注: 这是一个缩写,相当于四个角设置同样的值,用px或者百分比都可以,想要成为圆形,就用50%,你也可以单独设置每个角,语法 ...
- Java管理扩展指南之JMX技术总览
JMX(Java管理扩展)系列 JMX(Java管理扩展)系列旨在介绍包含于Java基础版本(Java SE)中的JMX技术.本系列提供了如何使用JMX重要技术特性的诸多示例. 一.JMX技术总览简要 ...
- 大话ASP.NET开发(第一章 html5+css3+解耦问题的探讨)
一.拉近我们的距离 我想,很多人会问,如今IE6还占据颇多份额的中国,html5.css3是否还很遥远?我会很直接告诉他们:其实就在你的眼前.我们来看两个图: ...
- CSS3 动画基础
该文为译文转载,原文地址:http://tech.163.com/mobile/10/0106/09/5SB96QSM00112K88.html 译文:你需要知道的CSS3 动画技术 原文:Wha ...
随机推荐
- SSIS excel2003文件导入列名显示为F1,F2 - FN
问题现象: 数据源2003版本的EXCEL文件,第一列是空白,数据是从第二列开始的.所以SSIS中用EXCEL数据源倒入这个EXCEL时,所有的列显示不出来,显示的是F1,F2 - FN. 解决方法 ...
- AJAX第二发
开始总结自己在项目上的使用AJAX的情况: 该图为向后台请求的数据,前台返回的结果,返回的数据类型为object,businessObj由许多key组成,我们项目前台需要调用的数据就藏在数组recor ...
- Python网络连接
import appuifw as ui import httplib from os import abort uia=ui.app uin=ui.note uiq=ui.query e32=ui. ...
- node.js + webstorm :配置开发环境
一.配置开发环境: 1.先安装node (1).访问http://nodejs.org打开安装包,正常安装,点击next即可. 为了测试是否安装成功,打开命令提示符,输入node,则进入node.js ...
- 日期控件,layui
<link rel="stylesheet" href="<%=path%>/layui/css/layui.css" type=" ...
- 学习PYTHON之路, DAY 6 - PYTHON 基础 6 (模块)
一 安装,导入模块 安装: pip3 install 模块名称 导入: import module from module.xx.xx import xx from module.xx.xx impo ...
- MacOS长按无效问题
defaults write -g ApplePressAndHoldEnabled -bool FALSE 注销并重新登录系统使其更改生效. 如果需要恢复长按键盘可以重音字符或非英文字符的功能,请打 ...
- sql server 脚本创建数据库和表
USE [master] GO IF EXISTS(SELECT 1 FROM sysdatabases WHERE NAME=N'HkTemp') BEGIN DROP DATABASE HkTem ...
- IOS跳转到设置特定项
App如何跳转到系统Settings 标签: IOS开发App转到Settings 2015-12-04 15:56 550人阅读 评论(1) 收藏 举报 分类: IOS开发(21) 版权声明:本 ...
- docker index服务概述
index顾名思义“索引”,index服务主要提供镜像索引以及用户认证的功能.当下载一个镜像的时候,首先会去index服务上 做认证,然后查找镜像所在的registry的地址并放回给docker客户端 ...