CSS3入门与提高(一)
程序员文章站
2022-05-11 08:15:30
...
学会使用CSS选择器
标签选择器(元素选择器)
标签名{属性1:属性值1; 属性2:属性值2; 属性3:属性值3; } 或者
元素名{属性1:属性值1; 属性2:属性值2; 属性3:属性值3; }
类选择器
.类名{属性1:属性值1; 属性2:属性值2; 属性3:属性值3; }
标签调用的时候用 class=“类名” 即可
多类名选择器
1. 样式显示效果跟HTML元素中的类名先后顺序没有关系,受CSS样式书写的上下顺序有关。
2. 各个类名中间用空格隔开。
id选择器
#id名{属性1:属性值1; 属性2:属性值2; 属性3:属性值3; }
类选择器和id选择器之间的区别
W3C标准规定,在同一个页面内,不允许有相同名字的id对象出现,但是允许相同名字的class。
通配符选择器
* { 属性1:属性值1; 属性2:属性值2; 属性3:属性值3; }
伪类选择器
- 链接伪类选择器
- :link /* 未访问的链接 */
- :visited /* 已访问的链接 */
- :hover /* 鼠标移动到链接上 */
- :active /* 选定的链接 */
- 结构(位置)伪类选择器(CSS3)
- :first-child :选取属于其父元素的首个子元素的指定选择器
- :last-child :选取属于其父元素的最后一个子元素的指定选择器
- :nth-child(n) : 匹配属于其父元素的第 N 个子元素,不论元素的类型
- :nth-last-child(n) :选择器匹配属于其元素的第 N 个子元素的每个元素,不论元素的类型,从最后一个子元素开始计数。 n 可以是数字、关键词或公式
li:first-child { /* 选择第一个孩子 */
color: pink;
}
li:last-child { /* 最后一个孩子 */
color: purple;
}
li:nth-child(4) { /* 选择第4个孩子 n 代表 第几个的意思 */
color: skyblue;
}
- 目标伪类选择器(CSS3)
:target目标伪类选择器 :选择器可用于选取当前活动的目标元素(与a标签一起使用)
:target {
color: red;
font-size: 30px;
}
css注释
使用 /* 需要注释的内容 */
熟记CSS外观属性
- color:文本颜色
- line-height:行间距
- text-align:水平对齐方式
- text-indent:首行缩进
- letter-spacing:字间距
- word-spacing:单词间距(适用于英文)
熟练掌握CSS3外观属性
- 颜色半透明
color: rgba(r,g,b,a) a 是alpha 透明的意思 取值范围 0~1之间 color: rgba(0,0,0,0.3) - 文字阴影
text-shadow:水平位置 垂直位置 模糊距离 阴影颜色;
引入CSS样式表(书写位置)
- 行内式(内联样式)
<标签名 style="属性1:属性值1; 属性2:属性值2; 属性3:属性值3;"> 内容 </标签名>
- 内部样式表(内嵌式)
<head>
<style type="text/CSS">
选择器 {属性1:属性值1; 属性2:属性值2; 属性3:属性值3;}
</style>
</head>
- 外部样式表(外链式)
<head>
<link href="CSS文件的路径" type="text/CSS" rel="stylesheet" />
</head>
熟练掌握CSS三种显示模式
- 块级元素(block-level)
常见的块元素有 <h1>~<h6>、<p>、<div>、<ul>、<ol>、<li>等,其中<div>标签是最典型的块元素。
- 行内元素(inline-level)
常见的行内元素有<a>、<strong>、<b>、<em>、<i>、<del>、<s>、<ins>、<u>、<span>等,其中<span>标签最典型的行内元素。
- 块级元素和行内元素之间的区别
块级元素的特点:
(1)总是从新行开始
(2)高度,行高、外边距以及内边距都可以控制。
(3)宽度默认是容器的100%
(4)可以容纳内联元素和其他块元素。
行内元素的特点:
(1)和相邻行内元素在一行上。
(2)高、宽无效,但水平方向的padding和margin可以设置,垂直方向的无效。
(3)默认宽度就是它本身内容的宽度。
(4)行内元素只能容纳文本或则其他行内元素。
注意:
1. 只有文字才能组成段落 因此 p 里面不能放块级元素,同理还有这些标签h1,h2,h3,h4,h5,h6,dt,他们都是文字类块级标签,里面不能放其他块级元素。
2. 链接里面不能再放链接。
行内块元素(inline-block)
在行内元素中有几个特殊的标签——<img />、<input />、<td>
,可以对它们设置宽高和对齐属性,有些资料可能会称它们为行内块元素。
行内块元素的特点:
(1)和相邻行内元素(行内块)在一行上,但是之间会有空白缝隙。
(2)默认宽度就是它本身内容的宽度。
(3)高度,行高、外边距以及内边距都可以控制。
CSS复合选择器
- 交集选择器
交集选择器由两个选择器构成,其中第一个为标签选择器,第二个为class选择器,两个选择器之间不能有空格,
交集选择器 是 并且的意思。 即…又…的意思
比如: p.one 选择的是: 类名为 .one 的 段落标签。 - 并集选择器
并集选择器 和 的意思, 就是说,只要逗号隔开的,所有选择器都会执行后面样式。
比如 .one, p , #test {color: #F00;} - 后代选择器
子孙后代都可以这么选择。 或者说,它能选择任何包含在内 的标签。 - 子元素选择器
子元素选择器只能选择作为某元素子元素的元素。其写法就是把父级标签写在前面,子级标签写在后面,中间跟一个 > 进行连接,注意,符号左右两侧各保留一个空格
.nav li { /* 空格 后代选择器 可以选择 儿子 孙子 重孙子.. */
color: red;
}
.nav > li { /* 大于号 子元素选择器 只选择 亲儿子 */
color: pink;
}
属性选择器
**选择器 | **示例 | **含义 |
---|---|---|
E[attr]**** | 存在attr属性即可 | |
E[attr=val]**** | 属性值完全等于val | |
E[attr*=val]**** | 属性值里包含val字符并且在“任意”位置 | |
E[attr^=val]**** | 属性值里包含val字符并且在“开始”位置 | |
E[attr$=val]**** | 属性值里包含val字符并且在“结束”位置 |
伪元素选择器(CSS3)
- E::first-letter文本的第一个单词或字(如中文、日文、韩文等)
- E::first-line 文本第一行;
- E::selection 可改变选中文本的样式;
CSS 背景(background)
background-color | 背景颜色 |
---|---|
background-image | 背景图片地址 |
background-repeat | 是否平铺 |
background-position | 背景位置 |
background-attachment | 背景固定(fixed)还是滚动(scroll) |
背景的合写(复合属性) | |
background:背景颜色 背景图片地址 背景平铺 背景滚动 背景位置 |
- 背景平铺(repeat)
语法:
background-repeat : repeat | no-repeat | repeat-x | repeat-y
参数:
repeat : 背景图像在纵向和横向上平铺(默认的)
no-repeat : 背景图像不平铺
repeat-x : 背景图像在横向上平铺
repeat-y : 背景图像在纵向平铺
设置背景图片时,默认把图片在水平和垂直方向平铺以铺满整个元素。
repeat-x : 背景图像在横向上平铺
- 背景位置(position)
/*
/* 1.利用方位名词 top bottom 来更改背景图片位置 */
/*background-position: left top; 默认的是 左上角 */
/*background-position: bottom right ; 方位名词没有顺序,谁在前都可以 */
/* background-position: center center ; */
/* background-position: left; 如果方位名词只写一个,另外一个默认为center */
/* background-position: 10px 30px;
2. 精切单位 第一值一定是x坐标 第二个值一定是y坐标,注意这里的 坐标轴的圆心在左上角 */
/* 3. 混搭 */
background-position: center 10px ;
/* center 10px 水平居中的 垂直是 10px
10px center 水平10px 垂直是 居中 */
- 背景附着
background-attachment: fixed; /* 默认的是 scroll 滚走的 */
- 背景透明(CSS3)
最后一个参数是透明度,在0-1之间
background: rgba(0,0,0,0.3);
- 多背景(CSS3)
background-image: url('images/gyt.jpg'),url('images/robot.png');
熟练掌握CSS三大特性
- CSS层叠性
是浏览器处理冲突的一个能力,如果一个属性通过两个选择器设置到同一个元素上,那么这个时候一个属性就会将另一个属性层叠掉 - CSS继承性
所谓继承性是指书写CSS样式表时,子标签会继承父标签的某些样式,如文本颜色和字号。想要设置一个可继承的属性,只需将它应用于父元素即可。 - CSS优先级
关于css权重关系——CSS特殊性(Specificity)
specificity用一个四位的数 字串(CSS2是三位)来表示,更像四个级别,值从左到右,左面的最大,一级大于一级,数位之间没有进制,级别之间不可超越。
继承或者* 的贡献值 | 0,0,0,0 |
---|---|
每个元素(标签)贡献值为 | 0,0,0,1 |
每个类,伪类贡献值为 | 0,0,1,0 |
每个ID贡献值为 | 0,1,0,0 |
每个行内样式贡献值 | 1,0,0,0 |
每个!important贡献值 | ∞ 无穷大 |
上一篇: css3中的transition与animation的学习
下一篇: CSS3入门与提高(五)