第五章-盒子定位
本章目标
一、盒子定位
1.1定位属性
- position:设置盒子定位
- static:默认,没有定位
- relative:相对定位
- absolute:绝对定位
- fixed:固定定位
- 定位关键字:left、right、top、bottom
1.2静态定位(static)
设置方式为position: static;静态定位的盒子是标准流状态,用于取消定位。
静态定位的盒子处于网页的最底层,并且top、left、bottom、right、z-index属性都不起作用。
1.3相对定位(relative)
它是标准的文档流,当设置好定位,它的位置的内容即使飞走了,原位置空白依然保留;
起始点以自己为基准点,进行定位偏移;
代码演示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| <!DOCTYPE html> <html lang="en">
<head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> * { margin: 0; padding: 0; }
.dv1 { width: 200px; height: 40px; background: pink; position: relative; left: 200px; top: 40px; }
.dv2 { width: 200px; height: 40px; background: green; position: relative; }
.dv3 { width: 200px; height: 40px; background: orange; position: relative; } </style> </head>
<body> <div class="dv1">这是一个div1</div> <div class="dv2">这是一个div2</div> <div class="dv3">这是一个div3</div> </body>
</html>
|
1.4绝对定位(absolute)
它脱离了标准的文档流,当设置好定位,它位置和内容一起飞走,原位置不会保留;
1.4.1没有父级元素的绝对定位
没有父级元素没有设置定位起始点以游览器为基准点,进行定位偏移;
代码演示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| <!DOCTYPE html> <html lang="en">
<head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> * { margin: 0; padding: 0; }
.dv1 { width: 200px; height: 40px; background: pink; position: absolute; left: 200px; top: 40px; }
.dv2 { width: 200px; height: 40px; background: green; position: relative; }
.dv3 { width: 200px; height: 40px; background: orange; position: relative; } </style> </head>
<body> <div class="dv1">这是一个div1</div> <div class="dv2">这是一个div2</div> <div class="dv3">这是一个div3</div> </body>
</html>
|
1.4.2有父级元素的绝对定位
有父级元素并且设置定位起始点以父级元素为基准点,进行定位偏移;
代码演示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| <!DOCTYPE html> <html lang="en">
<head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> * { margin: 0; padding: 0; }
.dv1 { width: 200px; height: 40px; background: pink; position: relative; }
.dv2 { width: 200px; height: 40px; background: green; position: absolute; left: 200px; top: 40px; }
.dv3 { width: 200px; height: 40px; background: orange; position: relative; }
.dv { width: 200px; height: 40px; background: tomato; position: relative; } </style> </head>
<body> <div class="dv1">这是一个div1</div> <div class="dv"> div2父级元素 <div class="dv2">这是一个div2</div> </div> <div class="dv3">这是一个div3</div> </body>
</html>
|
二、盒子堆叠顺序
1.1什么是盒子层级堆叠顺序?
在css中,z-index的意思为“层级,层空间层叠等级”,可以指定一个元素的堆叠顺序,用于确认元素在当前层叠上下文中的层叠级别,拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面
1.2层级堆叠顺序属性
z-index:设置盒子堆叠顺序
设置z-index数值越大,该盒子显示在最上面,可以写负数值
代码演示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| <!DOCTYPE html> <html lang="en">
<head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> * { margin: 0; padding: 0; }
.dv1 { width: 200px; height: 200px; background: pink; position: absolute; z-index: 10; }
.dv2 { width: 200px; height: 200px; background: green; position: absolute; left: 20px; top: 20px; }
.dv3 { width: 200px; height: 200px; background: orange; position: absolute; left: 40px; top: 40px; } </style> </head>
<body> <div class="dv1">这是一个div1</div> <div class="dv2">这是一个div2</div> <div class="dv3">这是一个div3</div> </body>
</html>
|
课后作业
练习1:带按钮的轮播广告
练习2:当当图书榜
练习3:淘宝网导航
练习4:当当百货畅销榜
练习5:新东方顶导航
练习6:奖多多安全购彩页面
练习7:美食今日推荐
练习8:制作京东首页轮播