• 技术文章 >web前端 >css教程

    CSS定位position的技法

    高洛峰高洛峰2017-02-27 09:38:25原创785
    本文针对CSS常用的6个属性进行探究,大家一定会对这篇文章满意的。

    1.position:static

    static属性是position的默认值,也就是说,当一个元素没有为其设定position属性时,它的默认值就是static。

    2.position:absolute

    这是一个经常会被用到的position属性值。如果为某个元素设定了absolute,则该元素脱离原来的文档流。形象一些说,比如a元素被定义了position:absolute,那么这个元素就不会与这个页面中的其他元素发生位置上的关系,而是凌驾于整个页面之上的漂浮状态。页面中的其他元素的位置变化、大小变化等,都不会影响a元素的位置,相当于一个局外人。

    3.position:relative

    relative是最有用的定义方法。设置了relative属性表示,该元素相对于自己原来位置发生的变化。比如,我们定义了一个b元素,给它设定如下css样式:

    #b{     
        position: relative;     
        width:100px;     
        height:100px;     
        top:100px;     
    }

    该段代码定义的b元素,它的位置为相对于没有定义position属性的位置向下移动100px的距离。relative属性值的定义就是这样的定位模式。

    4.position:fixed

    fixed定位用的不多,但是它非常适用于固定模式的部分制作,比如顶部菜单。定义了fixed属性后,元素的位置不会随着任何行为发生变化。

    5.relative+position

    同时使用这两个定位,是一种很常用的手法,新手也可能会在此处遇见很多麻烦。总体来说,如果一个元素绝对定位后,其参照物是以离自身最近元素是否设置了相对定位,如果有设置将以离自己最近元素定位,如果没有将往其祖先元素寻找相对定位元素,一直找到html为止。比如,下面的代码利用二者的结合实现了一个两列布局;

    <span style="white-space:pre">    </span>#p-1 {     
                 position:relative;     
                }     
                #p-1a {     
                 position:absolute;     
                 top:0;     
                 rightright:0;     
                 width:200px;     
                }     
                #p-1b {     
                 position:absolute;     
                 top:0;     
                 left:0;     
                 width:200px;     
                }

    内部的两个子p会根据其外部定位为relative的元素为参照进行绝对定位。

    6.clear:both清除浮动

    有的时候定位会出现塌陷现象,即子元素在父元素中,但是父元素的大小不会随着子元素的大小而被“”撑开“,导致了父元素的塌陷效果。这种bug的出现是由于子元素设定了 float属性,导致父元素的坍塌。要想解决这种bug,需要为父元素设定清除浮动。示例代码如下:

    <span style="white-space:pre">    </span>    #p-1a {     
                 float:left;     
                 width:190px;     
                }     
                #p-1b {     
                 float:left;     
                 width:190px;     
                }     
                #p-1c {     
                 clear:both;     
                }

    以上就是关于CSS定位中常用的六个属性学习,希望对大家的学习有所帮助。

    更多CSS定位position的技法相关文章请关注PHP中文网!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:Position 定位 css
    上一篇:剖析CSS Position定位 下一篇:CSS的技巧
    20期PHP线上班

    相关文章推荐

    精选22门好课,价值3725元,开通VIP免费学习!• 聊聊CSS中如何利用柏林噪声绘制炫酷图形!• 巧用CSS3滤镜制作文字快闪切换动画效果!• 深入了解content-visibility属性,聊聊怎么用它优化渲染性能• 聊聊怎么巧用CSS给普通黑色二维码添上彩色渐变!• 巧用CSS实现各种奇形怪状按钮(附代码)
    1/1

    PHP中文网