然后上篇文章浮动,本文讲定位的使用。静态定位position:staticposition:static这是默认的样式,会跟随文本流向。而在这个状态下top,right,bottom,left,z-index是不会增加自己的level的,所以会被float元素覆盖。相对定位position:relative相对定位是相对于元素本身的定位。这里需要注意的是,相对定位和static一样,会跟随文本流向。基于这个性质,我们可以认为,当我们设置position:relative元素时,如果不设置偏移量top,bototm,left,right,元素是不会改变的。并且不会像float那样改变元素块级,设置position:relative元素不会改变元素的性质(即应该是块就应该是块,应该是内联,应该是inline)并且会提升自己的层次(这句话怎么理解),正如上一篇文章所说,由于层级结构,float元素会挡住其他元素。那么如果这个元素必须跟随文档流,又不想被float挡住怎么办呢?这时候可以设置position:relative。这里要说的一点是设置bias偏移时,为了符合读取方式(左上left,top)为起点,所以如果同时设置top和bottom偏移量,只有top会有效(左右同理)绝对定位position:absolute看绝对定位有些人会喊“相子爵爷”。其实这个词很好记,所以很多词都缩成四个字,听起来很结实。比如成语,四个字表达的意思很多,下面说说绝对定位的具体属性。(我还是觉得直接记录属性的扩展应用更适合我。)相对定位relative是指元素本身,所以绝对定位的参考对象是最后设置的位置(不包括position:static;)属性的父元素,如果根本不设置position属性怎么办?然后这个元素将相对于浏览器定位。那为什么说父相对子这个词呢,因为父是相对定位的,有时候不会脱离文档流,子一定会脱离文档流。但是这个特例也符合我前面说的,所以在‘父子’的情况下,子元素的定位参照对象是他的父亲,也就是设置了relative定位relative的父亲。固定定位位置:fixed的定位很烦人。相信大家在浏览网页的时候都会遇到。广告贴在视口的边缘,随着你的滚轮四处跑动。绝对定位是指父级(包括位置)或浏览器本身。但是fixed定位position:fixed是相对于浏览器视口本身的。因此,如果您缩放视口或滚动视口,它将固定在该位置。说完这些定义,是时候说点别的了。position:relativeposition:static不会让元素成为块级,而fixedabsolute会让元素成为块级,但是块级之后没有排他行和默认宽度100%这些特性给父级。先说一点:width:50%;高度:50%;orleft:50%的子元素;等百分比的词不一定是相对于父元素的。并且它是相对于设置了position属性的祖先元素的(position:static;except)。和宽度:50%;高度:50%;相对于内容区域,向左偏移:50%;right,top,bottom这些是相对于padding区域的。也就是说.box1{width:500px;高度:500px;填充:100px;边框:100px实心;职位:相对;}.box2{宽度:50%;高度:50%;位置:绝对;顶部:50%;}
