CSS | position实例的讲解应用

  • 内容
  • 相关

对于知识的学习,应该是“渴望”的状态,而不应该是“饱满”的,因为社会在发展,技术在发展,不学习就要落后,所以活到老学到老!!!!

目前几乎所有主流的浏览器都支持position属性("inherit"除外,"inherit"不支持所有包括IE8和之前版本IE浏览器,IE9、IE10还没测试过),以下是w3school对position五个值的解释:

CSS position

其中absolute和relative是最常用的,fixed用得也比较多(其中IE6并不支持fixed)。

1、absolute(绝对定位)

absolute是生成觉对定位的元素,脱离了文本流(即在文档中已经不占据位置),参照浏览器的左上角通过top,right,bottom,left(简称TRBL) 定位。可以选取具有定位的父级对象(下文将说到relative与absolute的结合使用)或者body坐标原点进行定位,也可以通过z-index进行层次分级。absolute在没有设定TRBL值时是根据父级对象的坐标作为始点的,当设定TRBL值后则根据浏览器的左上角作为原始点。具体案例如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>position:absolute定位</title>
<style type="text/css">
    html,body,div{
                    margin:0;   
                    padding:0;  
                    list-style:none;
    }
    .center{
                margin:30px;
                border:#999999 solid 10px;
                width:400px;
                height:300px;
    }
    .div1{
            width:200px;
            height:200px;
            background:#0099FF;
            /*设定TRBL*/
            position:absolute;
            left:0px;
            top:0px;
    }
    .div2{
            width:400px;
            height:300px;
            font-size:30px;
            font-weight:bold;
            color:#fff;
            background:#FF0000;
    }
</style>
</head>
<body>
    <div>
        <div></div>
        <div>position:absolute定位测试</div>
    </div>
</body>
</html>

这段代码产生的效果如下

CSS position属性

这是设定TRBL之后的效果(设置TRBL以浏览器左上角为原点),当没有设置TRBL时(没有设置TRBL是以父级对象的坐标为原点),即将div1改成如下代码时

.div1{
            width:200px;
            height:200px;
            background:#0099FF;
            /*没有设定TRBL*/
            position:absolute;
    }

效果如下

CSS position属性

 2、relative(相对定位)

relative是相对的意思,顾名思义就是相对于元素本身在文档中应该出现的位置来移动这个元素,可以通过TRBL来移动元素的位置,实际上该元素依然占据文档中原有的位置,只是视觉上相对原来的位置有移动。具体案例如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>position:relative定位</title>
<style type="text/css">
   html,body,div{
                   margin:0;  
                   padding:0;  
                   list-style:none;
   }
   .center{
               margin:30px;
               border:#999999 solid 10px;
               width:400px;
               height:300px;
               background:#FFFF00;
   }
   .div1{
           width:200px;
           height:150px;
           background:#0099FF;
           position:relative;
           top:-20px;
           left:0px;
   }
   .div2{
           width:400px;
           height:150px;
           font-size:30px;
           font-weight:bold;
           color:#fff;
           background:#FF0000;
   }
</style>
</head>

<body>
   <div class="center">
       <div class="div1"></div>
       <div class="div2">position:relative定位测试</div>
   </div>
</body>
</html>

代码产生的效果如下

CSS position属性

3、relative与absolute的结合使用

在网页设计时经常会用到浮动来对页面进行布局,但是浮动所带来的不确定因素却很多(例如:IE浏览器的兼容问题)。相对来说,在有些布局中定位使用会更加简单、快捷、兼容性更好(relative与absolute相结合来使用),下面通过网页中的一个实例(网页中的head部分)进行说明,具体代码如下:

管理员设置 回复 可见隐藏内容
效果如下图

CSS position属性

在上述代码中首先是给head设置relative定位,那么可以看到里面所有的子元素在设置absolute后都会相对head进行定位,而不是相对body定位。这样相对于用浮动来说就简单方便了很多,也不需要担心兼容问题。

 您阅读这篇文章共花了:

上一篇:sublime text3快速指定浏览器预览

下一篇:绝文,4000汉字无一重复!厉害

本文标签:    

版权声明:本文依据CC-BY-NC-SA 3.0协议发布,若无特殊注明,本文皆为《fishyoung》原创,转载请保留文章出处。

本文链接:CSS | position实例的讲解应用 - http://www.fishyoung.com/post-34.html