一、sass语法
sass功能 :
它使用自己的语法并编译为可读的CSS
可以在更少的时间内轻松地编写CSS代码
是一个开源的预处理器,被解释为CSS
可以兼容所有的CSS版本
sass 动态的css
写一些语法规范 变量 嵌套 类的重用....
考拉使用 :
拖拽css目录
设置输出路径 scss文件要输出的css文件
识别中文 : @charset "utf-8";
sass语法
1、注释 : // 不能被css识别 /**/ 可以被css识别
sass中有哪些注释类型 : //注释 /*注释*/
2、变量定义 : $变量
3、嵌套 :
传统css:
.nav {
...
}
.nav ul{
...
}
.nav ul li{
...
}
嵌套方式:
.nav{
width:960px;
height : 40px;
ul{
margin-left : 20px;
li{
float: left;
}
}
}
复合属性嵌套:
border:{
color: red;
style:solid;
width:1px;
}
&表示继承父级标签
a{
&:hover{ color:red }
}
在sass的嵌套的过程中,如果需要用到父元素,在 SASS 中通过(& )符号引用父属性
4、代码重用、混合(函数): sass如何实现代码重用 ,有几种方式 ~~~
width:960px;
margin:0 auto;
第一种方案 : 类的继承 使用.定义一个类 然后通过 @extend 调用这个类(缺点:不能定义参数)
.public{ //无参数 使用 @extend .public;
width:960px;
}
总结:sass中定义一个类,要继承这个类,需要使用的关键字是 (@extend)
第二种方案 : 使用 @mixin 定义一个代码块 使用 @include 调用这个代码块 (先定义 后调用) 该方式可以定义参数
该方式用于定义可重复使用的样式,避免了使用无语意的class
如果参数有默认值 该参数放到后面
@mixin public{ //可以定义参数 使用 : @include 导入 先定义 后调用 (混合定义)
....
}
@mixin public($height:200px){//定义一个默认值
width: 960px;
height: $height;
margin: 0 auto;
}
#header{
@include public(400px);给具体的参数值 默认值无效,如果不传递参数 就按照默认值执行
}
总结:sass中使用@mixin定义了一段代码块,需要使用的关键字是 : ( @include)
sass中混合和函数的不同点:
函数有返回值 sass混合没有
混合的结果是一段代码
5、导入: @import "xxx.scss" 将多个scss文件合并成一个css文件
sass中用于导入一个新文件的关键字是 :@import
6、if语句 :
$type : monster;
$flag : false;
@if $type==monster {
display :inline ;
}
@if $flag {
p {color :red; }
} @else{
p {color :blue; }
}
例如 :
这个代码正确输出是
p {
@if 1 + 1 == 2 { border: 1px solid; }
@if 5 < 3 { border: 2px dotted; }
@if 5 >6 { border: 4px dotted; }
@if null { border: 3px double; }
}
7、for 语句:
@for $i from 1 through 3 {
.item-#{$i } { width: 2em * $i ; } // .item1 .item2 .item3
}
循环语句两种写法:
@for $i from 1 to 4 { 语句;}
@for $i from 1 through 4{ 语句;}
二、git
git 分布式版本管理控制工具
git优点:
适合分布式开发,强调个体
公共服务器压力和数据量都不会太大
速度快,灵活
可以离线工作
svn优点 :
管理方便,逻辑明确
集中式管理更能保证安全性
适合开发人数不多的项目开发
三个概念:
版本库 : 在初始化git版本库之后会生成一个隐藏的文件 .git ,可以将该文件理解为git的版本库 repository
工作区 : 项目目录
暂存区 : .git 目录中的 index 文件 就是暂存区 同时 : git还为我们自动生成了一个分支master以及指向该分支的指针head 在.git文件夹中
三者关系 : 可以理解为我们打开开发环境如Hbuilder,里面的内容即工作区的内容,在工作区里面有的代码以及配置文件等我们需要提交到版本库里面,最终是到了分支master上面,暂存区只是一个临时保存修改文件的地方
svn : 集中式版本管理控制工具 一台服务器控制很多客户端 使用过程中不能断网
git : 分布式版本管理工具 , 一台电脑 既可以是客户端 也可以是服务器端 , 工作过程中 可以断开网络
git使用:
1、创建一个项目目录
2、检出git的项目仓库 命令 ---- git init 在本地创建仓库
git status 查看当前被git管理的文件
3、本地项目文件夹新增的文件 首先要进行 添加 操作,添加到 本地的项目仓库下 , 命令 --- git add 文件全称
添加当前目录的所有文件到暂存区
将全部文件添加到git项目中 : git add . 或 git add --all
Git中将工作区的内容全部加入暂存区的方法有 : git add . 或 git add --all
或 git add * 或 git add -A
仅将工作区中修改的文件添加到暂存区(新增文件不添加),以备提交,用什么命令标记最快? git add -u
如果提示提交内容为空、不能提交,则最为合适的处理方式是 :执行 git status 查看状态,再执行 git add 命令选择要添加的文件,然后提交。 总结 : 先添加 再提交
4、添加好后的文件,需要提交到git的服务器上 从暂存区到了master分支上面 使用git status 看不到暂存区的东西啦
git commit -m"日志" 日志必填
5、添加好的文件 如果被修改 ,先 做git add操作 ,再 git commit 操作
6、git log GIT命令查看当前分支的版本历史 查看日志信息 自动退出 一些系统需要手动退出的 使用 英文q退出 window下会自动退出的 不需要这个命令了
回退到某个版本上 :git reset --hard 日志版本号前六位
7、git恢复刚刚手动删除的文件 : git checkout 提交生成码 文件全名
总结 :
工作区:就是你在电脑上看到的目录,比如目录下xxx里的文件(.git隐藏目录版本库除外)。或者以后需要再新建的目录文件等等都属于工作区范畴。
版本库(Repository):工作区有一个隐藏目录.git,这个不属于工作区,这是版本库。其中版本库里面存了很多东西,其中最重要的就是stage(暂存区),还有Git为我们自动创建了第一个分支master,以及指向master的一个指针HEAD。
我们前面说过使用Git提交文件到版本库有两步:
- 第一步:是使用 git add 把文件添加进去,实际上就是把文件添加到暂存区。
- 第二步:使用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支上。
分支操作
查看分支 : git branch 列出所有本地分支
创建分支: git branch 分支名称
切换分支 : git checkout 分支名称
创建并切换到某个分支 (合并上面两个操作): git checkout -b 分支名称
在master上合并分支 : git merge 分支名 (切换到master分支上)
git branch -d new2 删除master下的分支
面试题 L说出github上项目路径 :
域名 用户名 文件夹名
将本地项目上传到github上
步骤 :
1、在github上创建一个仓库
2、将github上的仓库 检出 到本地磁盘上 仓库路径 :
在桌面上打开gitbash 通过 git clone 仓库路径 将线上的仓库克隆到本地上 (获取仓库的内容)
3、切换gitbash的路径到 项目仓库中
4、添加文件 提交文件 add commit
5、 将本地git服务器上的内容 提交到github 上 进行备份 : git push -v origin master
github git的服务提供商 通过GitHub可以上传项目 项目可以通过github来管理
git clone 克隆github上的项目到本地文件夹
本地操作项目修改后,将修改的新项目重新推送到远端github : git push -v origin master
如果在github的线上做项目的修改,线下同步: 1--重新克隆 2 --- 在当前的项目目录下,使用命令: git pull origin master
总结 :
线下 克隆 github项目 git clone 地址
线下修改项目 , 将修改后的项目 推送到github上 先add 在commit 在 git push -v origin master
如果在线上修改项目 ,同步到线下 ,可以重新克隆 ,也可以 在该目录下 git pull origin master