定位与float共同作用于盒子对布局的影响
2012-11-12 19:53
357 查看
float与绝对定位最终都达到的共同效果就是使应用了这两个属性中的任何一种属性的盒子,偏离了原来所在的标准流。
我们先分开来讲,首先我们来看看对盒子应用了绝对定位样式的三种情况:没有指定top、right、bottom、left四个中任意一个的值,指定了其中一个的值和指定了其中两个的值。给出一个html代码片段:
<!--样式部分-->
<style type="text/css">
div{
width:500px;
border:1px solid #C69;
margin:10px auto;
padding-top:10px;
padding-left:10px;}
#div1,#div2{
width:100px;
margin-left:0px;
}
#div1{
width:100px;
border:1px solid #000;
}
#div2{
width:200px;
border:1px solid #09F;
}
</style>
<!--body部分-->
<div id="box">
<div id="div1"></div>
<div id="div2"></div>
</div>
在此段代码的样式部分,为id值为div1的盒子添加样式position:absolute,会发现id值为div1的盒子仍然处在原来的位置,没有动,但是却被id值为div2的盒子所覆盖。由此我们可以看出,应停用了绝对定位样式的盒子脱离了标准流;而应用了绝对定位样式,且没有指定top、right、bottom、left四个中任意一个的值的盒子,默认的位置仍然是原来的位置。
继续为id值为div1的盒子添加样式left:20px,会发现盒子在竖直方向上的高度并没有变化,而水平方向则距离浏览器的左边框20px。由此我们可以看出,应用了绝对定位样式,且指定了盒子在水平或者竖直任意一个方向上的偏移量的值,水平或竖直方向上分别以浏览器的水平或竖直边框为基准进行偏移,未被指定值的方向不变化。
再为id为div1的盒子添加样式top:20px,会发现盒子在竖直方向上向下便宜了20px。由此我们可以看出,应用了绝对定位样式,且指定了水平和竖直方向偏移量的值,水平和竖直方向上分别以浏览器的水平和竖直边框为基准进行偏移。以上三种情况在IE和FIrefox中的效果相同。
再为id值为div1的盒子添加样式float:left/right。盒子没有任何变化,因此,对绝对定位的盒子进行浮动是没有用的,浮动是应用于处于标准流中的盒子的。
而相对定位与浮动一起应用于盒子时,盒子在水平和竖直方向上的偏移则是相对于浮动后的盒子自身所在的位置。
我们先分开来讲,首先我们来看看对盒子应用了绝对定位样式的三种情况:没有指定top、right、bottom、left四个中任意一个的值,指定了其中一个的值和指定了其中两个的值。给出一个html代码片段:
<!--样式部分-->
<style type="text/css">
div{
width:500px;
border:1px solid #C69;
margin:10px auto;
padding-top:10px;
padding-left:10px;}
#div1,#div2{
width:100px;
margin-left:0px;
}
#div1{
width:100px;
border:1px solid #000;
}
#div2{
width:200px;
border:1px solid #09F;
}
</style>
<!--body部分-->
<div id="box">
<div id="div1"></div>
<div id="div2"></div>
</div>
在此段代码的样式部分,为id值为div1的盒子添加样式position:absolute,会发现id值为div1的盒子仍然处在原来的位置,没有动,但是却被id值为div2的盒子所覆盖。由此我们可以看出,应停用了绝对定位样式的盒子脱离了标准流;而应用了绝对定位样式,且没有指定top、right、bottom、left四个中任意一个的值的盒子,默认的位置仍然是原来的位置。
继续为id值为div1的盒子添加样式left:20px,会发现盒子在竖直方向上的高度并没有变化,而水平方向则距离浏览器的左边框20px。由此我们可以看出,应用了绝对定位样式,且指定了盒子在水平或者竖直任意一个方向上的偏移量的值,水平或竖直方向上分别以浏览器的水平或竖直边框为基准进行偏移,未被指定值的方向不变化。
再为id为div1的盒子添加样式top:20px,会发现盒子在竖直方向上向下便宜了20px。由此我们可以看出,应用了绝对定位样式,且指定了水平和竖直方向偏移量的值,水平和竖直方向上分别以浏览器的水平和竖直边框为基准进行偏移。以上三种情况在IE和FIrefox中的效果相同。
再为id值为div1的盒子添加样式float:left/right。盒子没有任何变化,因此,对绝对定位的盒子进行浮动是没有用的,浮动是应用于处于标准流中的盒子的。
而相对定位与浮动一起应用于盒子时,盒子在水平和竖直方向上的偏移则是相对于浮动后的盒子自身所在的位置。
相关文章推荐
- HTML5培训第10节课堂笔记(盒子模型、行内与块级、float、定位、html5布局)
- CSS布局之-浮动(Float)与定位(Position)-让盒子飞!
- 内嵌盒子定位和居中问题,在缩放浏览器情况下,不会影响盒子的布局
- [教程] [译]10步掌握CSS布局定位: position static relative absolute float
- [转] [译]10步掌握CSS布局定位: position static relative absolute float
- css文档布局——盒子定位
- 防止float浮动效果影响下面div布局
- CSS布局浮动(float)和定位(position)属性的区别和使用
- CSS布局最常用属性float(浮动)和position(定位)
- CSS布局浮动(float)和定位(position)属性的区别和使用
- float和定位以及页面布局
- 网页布局基础——文档流、盒子模型、浮动、定位
- 10步掌握CSS布局定位: position static relative absolute float
- 关于float浮动的块级元素在编写html时先后顺序对布局的影响
- 页面布局margin越界和float引起的影响常用的css套路
- 移动端软键盘监听(弹出,收起),及影响定位布局的问题
- 从零开始学_JavaScript_系列(17)——CSS<4>(定位、遮罩、float、弹性布局flex)
- 移动端软键盘监听(弹出,收起),及影响定位布局的问题
- 前端——float浮动的块状元素编写的先后顺序对页面布局的影响
- 【CSS】 布局之浮动float和绝对定位absolute的选择