CSS基础2
该随笔为pink老师前端入门教程的笔记
Emmet语法
Emmet语法前身是Zen Coding,它使用缩写来提高html/CSS的编写速度。
快速生成html结构语法
-
生成标签 直接输入标签名按
TAB键即可输入
div按TAB键,即生成了<div></div> -
如果生成多个标签,加上
*div*2+TAB可快速生成3个div -
父子级关系的标签可以用
>ul>li
-
兄弟级标签用
+div+p
-
生成带有类名或id名,直接写
.demo或者#two+TAB -
自增符号
$使生成div类名有顺序.demo$*5
-
如果生成标签里默认显示几个文字
div
快速生成CSS样式
通过首字符快速生成
快速格式化代码
右键-格式化文档
保存时自动格式化代码:
-
文件->【首选项】->【设置】
-
搜索emmet.include;
-
在settings.json下【用户】添加
"editor.formatOnType":true, "editor.formatOnSave":true新版本直接搜索format有个保存自动格式化的选项勾上就行了
CSS的复合选择器
将基础选择器组合成为复合选择器
后代选择器
又称包含选择器,可以选择父元素的子元素。将外层标签写在前面,内层标签写在后面,之间用空格分隔。当标签发生嵌套时,内层标签就成为外层标签的后代。
/*选择元素1里的所有元素2*/
元素1 元素2 {
}
/*ol里面的li选出来改为pink*/
ol li {
color:pink;
}
/*ol里面的li里面的a选出来改为pink*/
ol li a {
color:red;
}
/*元素1元素2可以是任意基础选择器*/
.class li a {
color:yellow;
}
子选择器
只能选择作为某元素的最近一级子元素。
元素1>元素2 {
样式声明
}
/*选择元素1里面的所有直接后代元素2*/
div>p { 样式声明 }
注意子选择器与后代选择器区别
并集选择器
可以选择多组标签,同时定义
/*任何形式的选择器都可以作为并行选择器的一部分*/
元素1,
元素2 { 样式声明 }
/*选择ul和div标签元素*/
ul,
div { 样式 }
/*选择p,div,pi类里的li标签元素*/
p,
div,
.pi li { color:pink; }
伪类选择器
用于某些选择器添加特殊效果
用冒号(:)表示,如 :hover
种类:链接伪类、结构伪类、表单伪类等
链接伪类选择器
a:link /* 选择所有未访问过的链接 */
a:visited /* 选择所有已被访问的链接 */
a:hover /* 选择鼠标指针位于其上的链接 */
a:active /* 选择活动链接(鼠标按下未弹起) */
注意:
- 为了使链接伪类生效,要按照
LVHA(:link - :visited - :hover - :active) 顺序声明 - a在浏览器有默认样式,所以工作中要单独指定样式
实际应用:
a {
color:#333;
text-decoration: none;
}
a:hover {
color:#369;
text-decoration: underline;
}
:focus 伪类选择器
用于选取获得焦点的表单元素。
焦点就是光标,一般情况<input>类表单才能获取
input:focus {
background-color:yellow;
}
CSS的元素显示模式
显示模式就是元素(标签)以什么形式进行显示。HTML元素一般分为块元素和行内元素。
块元素
<h1>~<h6>、<p>、<div>、<ul>、<ol>、<li>等
- 独占一行。
- 高度、宽度、外边距以及内边距都可以控制。
- 宽度默认是容器(父级宽度)的100%。
- 是一个容器及盒子,里面可以放行内或块级元素。
注意:
- 文字类的元素内不能使用块级元素 如
<p>、<h1>~<h6>
行内元素
<span>为最典型的行内元素,有些地方行内元素也交内联元素
- 相邻元素在一行,一行显示多个
- 高宽直接设置无效
- 默认宽度就是它本身内容的宽度
- 行内元素只能容纳文本或其他行内元素
注意:
- 链接里面不能放链接
- 特殊情况
<a>里面可以放块元素;但是给<a>转换一下块模式最安全
行内块元素
在行内元素中有几个特殊标签——<img/>、<input/>、<td>,它们同时具有块元素和行内元素的特点。
- 和相邻行内元素在一行上,但是它们之间有空白缝隙,一行可以显示多个(行内元素特点
- 默认宽度就是它本身内容的宽度(行内元素特点
- 高度、行高、外边距以及内边距都可以控制(块元素特点
元素模式转换
特殊情况下,我们需要元素模式的转换,即一个模式的元素需要另外一种模式的特性
- 转换为块元素:
display:block
a {
width: 150px;
display:block;
}
- 转换为行内元素:
display:inline - 转换为行内块元素:
display:inline-block
CSS背景
背景颜色
语法:
background-color: transparent | color
参数:
transparent:背景色透明(默认)
color:指定颜色
背景图片
语法:
background-image: none | url (url)
参数:
none :无背景图(默认)
url : 使用绝对或相对地址指定背景图像
例子:
code { background-image: url("comet.jpg"); }
背景平铺
语法:
background-repeat : repeat | no-repeat | repeat-x | repeat-y
参数:
repeat : 背景图像在纵向和横向上平铺
no-repeat : 背景图像不平铺
repeat-x : 背景图像在横向上平铺
repeat-y : 背景图像在纵向平铺
背景图像固定
语法:
background-attachment : scroll | fixed
参数:
scroll : 背景图像是随对象内容滚动
fixed : 背景图像固定
背景图片位置
语法:
background-position : length length
background-position : position position
-
参数为方位名词
position : top | center | bottom || left | center | right-
如果指定两个值都是方位名词,则两个值前后顺序无关,如
left top与top left一样 -
如果只指定一个方位名词,另一个值省略,则第二个值默认居中对齐
-
-
参数是精确单位
length : 百分数 | 由浮点数字和单位标识符组成的长度值。
- 第一个为x轴,第二个为y轴(左上为原点,右为x,下为y)
- 只写一个,一定为x轴,y轴垂直居中
-
混合使用
- 第一个值为x轴,第二为y轴
背景复合写法
background:颜色 图片地址 平铺 图像滚动 图片位置
背景半透明
CSS3提供背景半透明效果(IE9+版本支持)
background: rgba(0,0,0,0.3)
- 最后一个参数为透明度,取值0~1 (1为透明)

浙公网安备 33010602011771号