首先不给div设置定位,看看他们在网页中的位置
- 代码如下
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>CSS中div定位</title>
<style type="text/css">
.div1{
height: 100px;
width: 100px;
border: 10px solid red;
background-color: yellow;
}
.div2{
height: 100px;
width: 100px;
border: 10px solid blue;
background-color: yellow;
}
</style>
</head>
<body>
<div class="div1">
</div>
<div class="div2">
</div>
</body>
</html>
如下图所示,可以看到两个div在没使用定位的情况下显示的位置,我们可以知道div是个块元素,自动换行了
相对定位:首先给div2使用
- 代码如下
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>CSS中div定位</title>
<style type="text/css">
.div1{
height: 100px;
width: 100px;
border: 10px solid red;
background-color: yellow;
}
.div2{
height: 100px;
width: 100px;
border: 10px solid blue;
background-color: yellow;
position: relative;
top: 40px;
left: 40px;
}
</style>
</head>
<body>
<div class="div1">
</div>
<div class="div2">
</div>
</body>
</html>
如下图所示,div2的位置分别偏移了左边和上边40个像素
绝对定位:现在给div2加绝对定位
- 代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>CSS中div定位</title>
<style type="text/css">
.div1{
height: 100px;
width: 100px;
border: 10px solid red;
background-color: yellow;
}
.div2{
height: 100px;
width: 100px;
border: 10px solid blue;
background-color: yellow;
position: absolute;
top: 40px;
left: 40px;
}
</style>
</head>
<body>
<div class="div1">
</div>
<div class="div2">
</div>
</body>
</html>
如下图所示
绝对定位:现在给div绝对定位上边60px,左边60px,看执行结果
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>CSS中div定位</title>
<style type="text/css">
.div1{
height: 100px;
width: 100px;
border: 10px solid red;
background-color: yellow;
position: absolute;
top: 60px;
left: 60px;
}
.div2{
height: 100px;
width: 100px;
border: 10px solid blue;
background-color: yellow;
position: absolute;
top: 40px;
left: 40px;
}
</style>
</head>
<body>
<div class="div1">
</div>
<div class="div2">
</div>
</body>
</html>
结果如下图所示,得出结论,绝对定位的定位点是父div左上角坐标(0,0),但是由于父div默认都会有内外边距,所以看起来会有点差距。