Emmet语法
提示:确认键可以是Tab键也可以是回车键
快速生成HTML标签
- 生成标签,直接输入标签名按确认键即可。比如输入
div
后按确认键就可以生成<div></div>
。 - 如果要生成多个相同的标签,加上*号就可以了,比如
div*3
,就可以快速生成3个div
。 - 如果有父子级关系的标签,可以用
>
符号比如ul>li
就可以。 - 如果有兄弟关系的标签,可以用
+
号,比如div+p。
如果要生成有类名或是有id名字的标签直接写
.demo
或者#two
确认键就可以了。- 类名可以写做
.demo
可以生成一个带demo类的div标签。 - id可以写做
#two
,可以生成一个id名为two的div标签。 - 其他标签生成用
标签名.demo 或 标签名#two
按下确认键就可以了,如p.demo 或 p#two
。
- 类名可以写做
- 如果生成的
div
类名是有顺序的,可以用自增符号$
,如div.demo$*5
。 如果想要生成的标签内部写内容可以用
{}
表示,如div{木小果是大帅哥}
。- 如果要生成多个且自增可以这样写
div{木小果是大帅哥$}*5
。
- 如果要生成多个且自增可以这样写
快速生成CSS样式
CSS基本采取简写的形式就可以了,以此类推
- 比如
w200
按确认键可以生成width: 200px;
- 比如
h200
按确认键可以生成height: 200px;
- 比如
lh26
按确认键可以生成line-height: 26px;
- 比如
tac
按确认键可以生成text-align: center;
- 比如
ti20
按确认键可以生成text-indent: 200px;
- 比如
tdn
按确认键可以生成text-decoration: none;
复合选择器
带星号的是重点要记住的
选择器 | 作用 | 特征 | 使用情况 | 隔开符号及方法 |
---|---|---|---|---|
*后代选择器 | 用来选择后代元素 | 可以是"子孙后代" | 较多 | 符号是空格:nav a |
子代选择器 | 选择最近一级元素 | 只能选择"亲儿子" | 较少 | 符号是大于:nav>p |
*并集选择器 | 选择某些相同样式的元素 | 可以用于集体声明 | 较多 | 符号是逗号:.nav, .header |
*链接伪类选择器 | 选择不同状态的链接 | 跟连接相关 | 较多 | 重点记住:a{} 和a:hover 实际开发的写法 |
:focus选择器 | 选择获得光标的表单 | 跟表单相关 | 较少 | 记住这个写法:input:focus |
块元素
常见的块元素有<h1>~<h6>、<p>、<div>、<ul>、<li>
等标签,其中<div>
是最典型的块元素。
块级元素的特点
- 比较“霸道”、自己独占一行。
- 高度、宽度、外边距、内边距都可以控制。
- 宽度默认是容器(父级宽度)的100%。
- 是一个容器及盒子,里面可以放行内或者块级元素。
注意
- 文字类的元素内不能使用块级元素。
<p>
标签主要用于存放文字,因此<p>
标签里面不能放块级元素,特别是不能放<div>
。- 同理,
<h1>~<h6>
等都是文字类块级标签,里面也不能放其他块级元素。
行内元素
常见的行内元素有 <a> <strong> <b> <em> <i> <del> <s> <ins> <u> <spam>
等,其中 <span>
标签是最典型的行内元素,有的地方也将行内元素称之为内联元素。
行内元素的特点
- 响铃行内元素在一行上,一行可以显示多个。
- 高、宽直接设置是无效的。
- 默认宽度就是它本身容器的宽度。
- 行内元素只能容纳文本或其他行内元素。
注意
- 链接里面不能再放链接。
- 特殊情况链接
<a>
里面可以放块级元素,但是给<a>
转换一下块级模式最安全。
行内块元素
行内块元素的特点
- 和相邻的行内元素(行内块)在一行上,但是它们之间会有空白缝隙。一行可以显示多个行(行内块元素特点)。
- 默认的宽度就是他本身内容的宽度(行内元素特点)。
- 高度、行高、外边距以及内边距都可以控制(块级元素特点)。
元素显示模式总结
元素模式 | 元素排列 | 设置样式 | 默认宽度 | 包含 |
---|---|---|---|---|
块级元素 | 一行只能放一个块级元素 | 可以设置宽度高度 | 容器的100% | 容器级可以包含任何标签 |
行内元素 | 一行可以放多个行内元素 | 不可以直接设置宽度高度 | 它本身内容的宽度 | 容纳文本或者其他行内元素 |
行内块元素 | 一行可以放多个行内块元素 | 可以设置快读和高度 | 它本身内容的宽度 |
元素显示模式转换
特殊情况下我们需要元素模式的转换,简单理解一个模式的元素需要另一种模式的特性比如想要增加链接<a>
标签的触发范围
转换为块元素
p {
display: block;
}
转换为行内元素
div {
display: inline;
}
转换为行内块
div {
display: inline-block;
}
背景图片
利用background-position
属性可以改变图片在背景中的位置。
background-position: x y;
参数代表的意思是:x坐标和y坐标,可以使用方位名词 或者 精确单位
参数值 | 说明 | |||||
---|---|---|---|---|---|---|
length | 百分数 \ | 由浮点数字和单位标识符组成的长度单位 | ||||
position | top \ | center \ | bottom \ | left \ | center \ | right 方位名词 |
如果参数是方位名词
- 如果指定的两个数值都是方位名词,则两个值前后顺序无关,比如 left top 和 top left 效果是一样的
- 如果只指定了一个方位名词,另一个值省略,则第二个值默认居中对齐
如果参数是精确单位
- 如果参数值是精确坐标,那么第一个肯定是x坐标,第二个一定是y坐标
- 如果至指定一个数值,那该数值一定是x坐标,另一个默认垂直居中
如果参数是混合单位
- 如果指定的两个值是精确单位和方位名词混合使用,则第一个值是x坐标,第二个值是y坐标
背景图像固定(背景附着)
background-attachment
属性设置背景图像是否固定或者随着页面的其余部分滚动。
background-attachment
后期可以制作视差滚动的小果
background-attachment: scroll | fixed
参数 | 作用 |
---|---|
scroll | 背景图像是随着对象内容滚动 |
fixed | 背景图像固定 |
背景复合写法
为了简化背景属性的代码,我们可以将这些属性合并简写在同一个属性background
中,从而节约代码量。
当使用简写属性时,没有特定的书写顺序,一般习惯约定顺序为:
background: 背景颜色 背景图片地址 背景平铺 背景图像滚动 背景图片位置
background: transparnt url(img.jpg) repeat-y fixed top;
背景颜色半透明
CSS3提供了背景颜色半透明的效果
background: rgba(0, 0, 0, 0.3);
- 最后一个参数是alpha透明度,取值范围在0~1之间
- 我们习惯把0.3的0去掉,写为
background: rgba(0, 0, 0, .3);
- CSS3新增属性,是IE9+版本浏览器才支持的
- 但是现在实际开发我们不太关注兼容性写法了,可以放心使用
- 注意:半透明背景是指盒子背景半透明,盒子里面的内容不会受到影响
背景总结
属性 | 作用 | 值 |
---|---|---|
background-color | 背景颜色 | 预定义的颜色值/十六进制/RGB代码 |
background-image | 背景图片 | url(图片地址) |
background-repeat | 是否平铺 | repeat/no-repeat/repeat-x/repeat-y |
background-position | 背景位置 | length/position 分别是x和y坐标 |
background-attachment | 背景附着 | scroll (背景滚动) /fixed (背景固定) |
背景简写:background | 书写简单 | 背景颜色 背景图片地址 背景平铺 背景滚动 背景位置 |
背景色半透明 | 背景颜色半透明 | background: rgba(0, 0, 0, 0.3) 必须是四个值 |
背景图片实际开发常见于logo或者一些装饰性的小图片或者是超大的背景图片,优点是非常便于控制位置(精灵图也是一种运用场景)