文章目录
1.浮动
1.1常见的网页布局
(1) 普通流(标准流)
(2)浮动
(3) 定位
1.2 浮动的作用
1.3 浮动的语法
选择器{
float: 属性值;
}
属性值 | 描述 |
---|---|
none | 元素不浮动 |
left | 元素左浮动 |
right | 元素右浮动 |
1.4 浮动的特性
(1)浮动元素会脱离标准(脱标)
(2)浮动元素会一行内显示并且元素顶部对齐
(3)浮动元素会具有行内块元素的特性
1.5 浮动元素经常和标准父级元素搭配
1.6 浮动布局注意点
1.7 清除浮动的方法
1.7.1 额外标签法(隔墙法)
1.7.2 父级添加overflow属性
1.7.3 父级添加after属性
.clearfix: after {
content: "";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
.clearfix: {
/*IE 6, 7专有*/
*zoom: 1;
}
1.7.4 父级添加双伪元素
.clearfix: before, .clearfix: after {
content: "";
display: table;
}
.clearfix: after {
clear: both;
}
.clearfix: {
/*IE 6, 7专有*/
*zoom: 1;
}
2.伪元素和伪类
2.1伪元素
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>demo1</title>
<style type="text/css">
.style1:before{
content: "my before";
background-color: powderblue;
}
.style2:after{
content: "my after";
background-color: burlywood;
}
</style>
</head>
<body>
<h1 class="style1">Hello World</h1><br/>
<h2 class="style2">Welcome to CSS</h2>
</body>
</html>
2.2伪类
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>伪类</title>
<style type="text/css">
.style1:focus{
background-color:red;
}
</style>
</head>
<body>
<label>
<input class="style1" type="text" value="Hello World"/>
</label>
</body>
</html>
鼠标放到文本框中时背景变红色。
2.3伪元素和伪类的区别
2.4 a标签的伪类
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>demo</title>
<style type="text/css">
a:link{
color: red;
}
a:visited{
color: yellow;
}
a:hover{
color: blue;
}
a:active{
color:green;
}
</style>
</head>
<body>
<a href="#/demo1">demo1</a>
<a href="#/demo2">demo2</a>
<a href="#/demo3">demo3</a>
<a href="#/demo4">demo4</a>
</body>
</html>
2.5浮动与行内元素
3.定位
3.1 定位的作用
定位可以使得某个盒子在某个盒子内自由的移动或者固定在某个盒子的某个地方,并且可以压住某个盒子。
3.2 定位组成
定位 = 定位模式 + 定位偏移
定位模式:用于指定一个元素在文档中的定位方式。
定位偏移:用于指定该元素的最终位置。
3.3 定位模式
通过元素的position属性来设置。
值 | 模式 |
---|---|
static | 静态定位 |
relative | 相对定位 |
absolution | 绝对定位 |
fixed | 固定定位 |
3.3.1 静态定位
定义:静态定位就是元素的默认定位方式,无定位的意思。
语法:css选择器 {position : static;}
特点: (1)静态定位按照标准流的特性摆放,没有边偏移。
3.3.2 相对定位
定义:相对定位就是元素在移动位置的时候,是相对于它原来的位置来说的。
语法:css选择器 {position : relative;}
特点: (1)它是相对于自己原来的位置来移动的。
(2)原来的标准流的位置继续占有,后面的盒子仍然以标准流的方式对待它。
3.3.3 绝对定位
定义:绝对定位是元素在移动位置的时候,是相对于祖先元素来说的。
语法:css选择器 {position : absolution;}
特点:(1)如果没有祖先元素或者祖先元素没有定位,则以浏览器为准定位(Document文档)。
(2)如果祖先元素有定位(绝对,相对,固定定位),则以最近的有定位的祖先元素为基准。
(3)绝对定位不再占有原来的位置
3.3.4 固定定位
定义:固定定位是元素固定于浏览器可视区的位置。主要使用在浏览器页面滚动时元素位置不会改变。
语法:css选择器 {position : fixed;}
特点:
(1)以浏览器的可视窗口为参照点移动元素,跟父元素没有任何关系,不随滚动条滚动。
(2)固定位置不再占有原来的位置。
3.4 边偏移
边偏移就是定位的盒子移动到最终位置。
边偏移属性 | 描述 |
---|---|
top | 顶部偏移量 ,定义元素相对于其父元素上边线的距离 |
bottom | 底部偏移量 ,定义元素相对于其父元素下边线的距离 |
left | 左部偏移量 ,定义元素相对于其父元素左边线的距离 |
right | 右部偏移量 ,定义元素相对于其父元素右边线的距离 |
3.5 子绝父相
父元素使用相对定位,子元素使用绝对定位。
3.6 定位叠放次序 z-index
定义:在使用定位布局的时候,可能会出现盒子重叠的情况,此时,可以使用z-index来控制盒子的前后顺序。
语法 : css 选择器 {z-index : 1;}
特点:
(1)数值可以是正数,负整数或者0,默认是auto,数值越大,盒子越靠上。
(2)如果属性值相同,则按照书写的顺序,后来居上。
(3)数字后面不能加单位。
(4)只有定位的盒子才有z-index属性。
3.7 定位的扩展
3.7.1 绝对定位的盒子居中
第一步:left: 50%; (让盒子的左侧移动到父级元素的水平中心位置)
第二步:margin-left: 100px (子元素盒子大小为200px,让盒子左移自身宽度的一半)
3.7.2 定位的特殊性
绝对定位和相对定位和浮动类似。
(1)行内元素添加绝对或者固定定位,可以直接设置高度和宽度。
(2)块级元素添加绝对定位或者固定定位,如果不给宽度或者高度,默认大小是内容的大小。
3.7.3 脱标的盒子不会触发外边距塌陷
浮动元素,绝对定位,固定定位,都不会出现外边距塌陷。
3.7.4 绝对定位(固定定位)会完全压住盒子
(1)浮动元素只会压住下面的标准流,但是不会压住下面的标准流盒子里面的文字。
(2)但是绝对定位(固定定位)会压住下面的标准流的所有内容。
4.CSS的三大特性
4.1层叠性
4.2继承性
特殊:行高的继承性
4.3优先级
作者:Beyong
出处:Beyong博客
github地址:https://github.com/beyong2019
本博客中未标明转载的文章归作者Beyong有,欢迎转载,但未经作者同意必须保留此段声明,且在文章明显位置给出原文连接,否则保留追究法律责任的权利。