3、margin負值父子容器高度繼承
這個方法能較好地解決列高度相同的問題。三行二列布局,主要內容在左邊,網頁寬度780px,左列540px,右列240px。
CSS代碼:
- #main{
- width:540px;
- float:left;
- background:#FFFFFF;
- text-align:left;
- }
- #DIVleft{
- width:540px;
- float:left;
- position:relative;
- margin-left:-540px;
- }
- #DIVright{
- width:240px;
- float:right;
- position:relative;
- margin:0-240px00;
- background:#F0F0F0;
- }
Html代碼:
- <DIVidDIVid="main">
- <DIVidDIVid="DIVleft">
- <DIVidDIVid="DIVright">< span>DIV>
- < span>DIV>!
- < span>DIV>
或許剛接觸的WebStandards的朋友對這種方法不怎麼理解,現Blank分析一下:
[A]
[B][C]
上結構中a包含c,c包含b。當b的高度為最高時,那麼a和c將繼承b的高度,如果a和b位置重合,將顯示b的背景;而當c的高度最高時,那麼a繼承將繼承c的高度,如果a和b位置重合,將顯示a的背景。這樣無論b最高或者c最高都將顯示DIV列高度相同。
優點:兼有第一種方法的優點,並且比第一種方法的代碼稍微簡潔。
缺點:整體結構只能左對齊。