使用浮动定位方式,从1列到多列的固定宽度及自适应,基本上可以简单完成,包括三列的固定宽度。而在这里我们提出了一个新的要求,希望有一个三列式布局,其中左栏要求固定宽度,并居左显示,右栏要求固定宽度并居右显示,而中间栏需要在左栏和右栏的中间,根据左右栏的间距变化自动适应。这给布局提出了一个新的要求,而且单纯使用float属性与百分比属性并不能实现,CSS目前还不支持百分比的计算精确到考虑左栏和右栏的占位,如果对中间栏使用100%的宽度的话,它将使用浏览器窗口的宽度,而非左栏和右栏的中间间距,因此我们需要新的思路来考虑这个问题。钢板桩租赁,天津废锡回收
绝对定位
在开始这样的三列布局之前,有必要了解一个新的定位方式——绝对定位。前面的浮动定位方式主要有浏览器根据对象的内容自动进行浮动方向的调整,但是当这种方式不能满足定位需求时,就需要新的方法来实现,CSS提供的出去浮动定位之外的另一种定位方式就是绝对定位,绝对定位使用position属性来实现。
天津网站建设,天津网站优化,天津做网站,汽车玻璃,天津二手装载机,商业策划招商
属性 描述 可用值
position 用于设置对象的定位方式 static
absolute
relative
对页面中的每一个对象而言,默认position属性都是static。
如果将对象设置为position:absolute,对象将根据整个页面的位置进行重新定位,当使用此属性时,可以使用top,right,bottom,left即上右下左4个方向的距离值,已确定对象的具体位置,看如下CSS:
#layout{
positon:absolute;
top:20px;
left:0px;
}
如果#layout使用了positon:absolute;将会变为绝对定位模式,与此同时,当设置top:20px;时,它将永远离浏览器窗口的上边20px,而left:0px;将保证它离浏览器左边0px。
注意:一个对象如何设置了positon:absolute;它将从本质上与其他对象分离出 来,它的定位模式不会影响其他对象,也不会被其他对象的浮动定位所影 响,从某种意义上来说,使用哪个了绝对定位之后,对象就像一个图层一 样浮在了网页之上。
绝对定位之后的对象,不需要再考虑它在页面中的浮动关系,只需要设置对象的top,right,bottom及left四个方向的值即可。
而在本例中,使用绝对定位则能够很好的解决我们所提出的问题。同样,使用3个div形成我们的3个分栏结构:
<div id="left">左列</div>
<div id="center">中列</div>
<div id="right">右列</div>
首先使用绝对定位,将左列与右列进行位置控制:
#left{
background-color:#cccccc;
border:2px solid #333333;
width:100px;
height:300px;
positon:absolute;
top:0px;
left:0px;
}
#right{
background-color:#cccccc;
border:2px solid #333333;
width:100px;
height:300px;
positon:absolute;
right:0px;
top:0px;
}
这样,左栏将距左边left:0px;贴进左边缘进行显示,而右栏则将由right:0px;使得右栏距右显示,而中间的#center将使用普通的CSS样式:
#center{
background-color:#cccccc;
border:2px solid #333333;
height:300px;
margin-left:104px;
margin-right:104px;
}
对于#center,我们不需要再设定其浮动方式,只需要让它的左边外边距永远保持#left与#right的宽度,便实现了两边各让出104px的自适应宽度,而左右两边让出的距离,刚好让#left与#righty显示在这个空间中,从而实现了布局要求。
网站实例
三列自适应布局目前在网络上应用较多的主要在blog设计方面,大型网站设计似乎现在已经开始较少使用三列自适应布局。而三列自适应布局应该说是布局之中复杂的种技术。中的三列自适应布局采用的是三列都自动适应的方式。