发表于: 2016-06-23 10:48:58

2 824




今天完成的事情:完成任务6的第三个页面,修改第一个页面的布局



明天计划的事情:把之前写的代码重构



遇到的问题:

Q1:float:right;和position: relative;是否可以同时使用?

A1:首先,位置是先由元素的盒子模型大小决定位置,然后元素同时应用了position: relative、float、(top / left / bottom / right)属性后,则元素先浮动到相应的位置,然后再根据(top / left / bottom / right)所设置的距离来发生偏移。



收获:对float和relative有了更加深入的了解。


position的四个属性:

static:默认位置

relative:

               相对于默认位置的移动,使用top、right、bottom、left移动。margin属性有效。


absolute:

               相对于父级relative的移动,使用top、right、bottom、left移动。

               忽略根元素的padding。(子元素相对于父级relative元素有偏移,忽略padding,实际效果为absolute偏移效果。)

               在IE6/7中设置position属性后会导致z-index属性失效。

               会使元素的display属性变为block。

               应用了position: absolute / relative之后,会覆盖其他非定位元素(即position为static的元素),如果你不想覆盖到其他元素,                  也可以将z-index设置成-1。(IE6/7中无效)


fixed:

               会使元素的display属性变为block。

               会使元素脱离普通流,不占据空间。

               会覆盖到非定位元素上。

               根元素固定为浏览器窗口。

               如果之前祖级元素有设置最大宽度,fixed元素默认宽度为页面页面宽度,最大宽度需要重新设置。


float和position兼容性问题:

               元素同时应用了position: relative、float、(top / left / bottom / right)属性后,则元素先浮动到相应的位置,然后再根据                    (top / left / bottom / right)所设置的距离来发生偏移。

              同时应用了position: absolute及float属性,则float失效、z-index失效。

              第一个元素应用了position之后会覆盖着接下来的float元素(如果两个元素所处的位置相同)

              同时应用position: absolute和float: left会导致清除浮动无效(position: relative则可以清除浮动)。

           常用的清除浮动的方法有两种:

                1、通过在容器中添加一个标签,设置该标签的样式为 clear: both

                2、容器设置overflow: hidden

       

       被自己task6的第一个页面布局恶心到了,今天把之前的任务都重新翻新下。

       代码和成果展示为第三个页面的。

       附上任务主页地址:http://119.10.57.66:880/ptt008/



         



返回列表 返回列表
评论

    分享到