html 布局-相对位置及绝对位置

时间:2021-08-29 10:56:28

 来源:http://zhykhs.javaeye.com/blog/338563

<html> 

<head> 

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 

<title>Div + CSS Example, Wayhome's Blog</title> 

<style type="text/css"> 

<!-- 

body,td,th{font-family:Verdana;font-size:9px;} 

--> 

</style></head> 

<body> 

<div style="position:absolute; top:5px; right:20px; width:200px; height:180px; background:#00FF00;"> 

 position: absolute;<br /> 

 top: 5px;<br /> 

 right: 20px;<br /> 

 <div style="position:absolute; left:20px; bottom:10px; width:100px; height:100px; background:#00FFFF;"> 

position: absolute;<br /> 

left: 20px;<br /> 

bottom: 10px;<br /> 

</div> 

</div> 

<div style="position:absolute; top:5px; left:5px; width:100px; height:100px; background:#00FF00;"> 

 position: absolute;<br /> 

 top: 5px;<br /> 

 left: 5px;<br /> 

</div> 

<div style="position:relative; left:150px; width:300px; height:50px; background:#FF9933;"> 

 position: relative;<br /> 

 left: 150px;<br /> 

 <br /> 

 width: 300px; height: 50px; <br /> 

</div> 

<div style="text-align:center; background:#ccc;"> 

  <div style="margin:0 auto; width:600px; background:#FF66CC; text-align:left;"> 

  <p>1</p> 

  <p>2</p> 

  <p>3</p> 

  <p>4</p> 

  <p>5</p> 

  <div style="padding:20px 0 0 20px; background:#FFFF00;"> 

    padding: 20px 0 0 20px; 

  <div style="position:absolute; width:100px; height:100px; background:#FF0000;">position: <span style="color:#fff; ">absolute</span>;</div> 

  <div style="position:relative; left:200px; width:500px; height:300px; background:#FF9933;"> 

    position: <span style="color:blue;">relative</span>;<br /> 

   left: 200px;<br /> 

   <br /> 

   width: 300px;<br /> 

   height: 300px;<br /> 

   <div style="position:absolute; top:20px; right:20px; width:100px; height:100px; background:#00FFFF;"> 

    position: absolute;<br /> 

    top: 20px;<br /> 

    right: 20px;<br /></div> 

   <div style="position:absolute; bottom:20px; left:20px; width:100px; height:100px; background:#00FFFF;"> 

    position: absolute;<br /> 

  bottom: 20px;<br /> 

  left: 20px;<br /> 

  </div> 

  </div> 

  </div> 

  

</div> 

</div> 

</body> 

</html> 

一、absolute:绝对定位,CSS 写法“ position: absolute; ”,它的定位分两种情况,如下:

  1. 没有设定 Top、Right、Bottom、Left 的情况,默认依据父级的“内容区域原始点”为原始点,上面例子红色部分(父级黄色区域有 Padding 属性,“坐标原始点”和“内容区域原始点”不一样)。

  2. 有设定 Top、Right、Bottom、Left 的情况,这里又分了两种情况如下:

  (1). 父级没 position 属性,浏览器左上角(即 Body)为“坐标原始点”进行定位,位置由 Top、Right、Bottom、Left 属性决定,上面例子绿色部分。

  (2). 父级有 position 属性,父级的“坐标原始点”为原始点,上面例子浅蓝色部分。

二、relative:相对定位,CSS 写法“ position: relative; ”,参照父级的“内容区域原始点”为原始点,无父级则以 Body 的“内容区域原始点”为原始点,位置由 Top、Right、Bottom、Left 属性决定,且有“撑开或占据高度”的作用,上面例子橙色部分。