css 浮動(float)頁面布局
發(fā)布時間:2010-01-07 01:40:17 作者:佚名
我要評論

前四節(jié)的大練習大家做的怎么樣?有沒有難度,如果你覺著有難度沒有關系,這節(jié)課,我?guī)е蠹易鲆幌逻@個練習!
【第一步 整體布局與公共CSS定義】
我們先來分析一下這個頁面

頁面主要分5大塊,頂部的Logo、導航條Nav、Banner、Content、Footer,如下圖
這樣HTML就很容易寫出來了
<div id="Logo"></div>
<div id="Nav"></div>
<div id="Banner"></div>
<div id="Content"></div>
<div id="Footer"></div>
因為這5塊的寬度都是900像素,并且都是水平居中的,所以相應CSS代碼如下
body,div,a,img,p,form,h1,h2,h3,h4,h5,h6,input,textarea,ul,li,dt,dd,dl{margin:0;padding:0;}
/*為什么寫這段代碼沒有忘記吧,作用就是重置可能用到的標簽,不明白的去看第四節(jié)的課程關鍵詞*/
#logo,#Nav,#Banner,#Content,#Footer{width:900px; margin:0 auto;}
【第二步 布局Logo欄】
首先我們需要把頁面上的logo給切割出來,其大小為173*46,名字為:logo.gif
一般網(wǎng)站都會做到點擊logo,就會回到主頁,應該怎么做呢,大家首先會想到,給圖片加上鏈接就可以了,代碼一般會這么寫
<a href="#" id="logoLink"><img src="#" /></a>
不過KwooJan要介紹另外一種方法,將圖片做成鏈接a的背景,同樣可以達到上面說的效果,并且HTML代碼就會更精簡,少了<img...>,看看下面Logo欄的頁面代碼,紅色的為將logo.gif作為背景的鏈接
HTML代碼:
<div id="Logo">
<a href="#" id="logoLink"></a>
</div>
CSS代碼
#Logo{
height:80px;/*公共代碼中沒有定義高度,在這里定義*/
}
#logoLink{
display:block;/*將鏈接a轉化成塊狀元素,這樣才能顯示出背景*/
width:173px;
height:46px;
background:url(../Images/logo.gif) no-repeat;
float:left;/*為了讓ie6和ff顯示效果一樣,如果不加上這句話,后面的margin-top:20px;兩個瀏覽器解析不一樣,大家可以去掉這句話,看看兩者顯示效果差別*/
margin-top:20px;/*設置a的頂部外邊距為20像素,這樣才能和瀏覽器頂部有段距離,才能和圖片中做的一樣*/
}
好到這里,頭部含有l(wèi)ogo的區(qū)域已經(jīng)寫完,如果自己做不出來,就來下載源代碼
float1.rar
【第三步 布局導航欄Nav】
頁面上的導航欄和第四節(jié)講的幾乎是一樣的,并且更簡單些,這里我就不再給大家一步一步做,不會做的就去看第四節(jié),這里我就直接把代碼發(fā)出來供大家學習
HTML代碼:
<div id="Nav">
<ul>
<li><a href="#">HOME</a></li>
<li><a href="#">PHOTOS</a></li>
<li><a href="#">ABOUT</a></li>
<li><a href="#">LINKS</a></li>
<li><a href="#">CONTACT</a></li>
</ul>
</div>
CSS代碼
#Nav{height:42px;}
#Nav ul{
height:42px;
list-style:none;
background:#56990c;
}
#Nav ul li{height:42px; float:left;}
#Nav ul li a{
display:block;/*轉化成塊狀元素,因鏈接是內(nèi)鏈元素,若想給它定義下面的屬性,必須將它轉化成塊狀元素,*/
height:42px;
color:#FFF;
padding:0 10px;
line-height:42px;
font-size:14px;
font-weight:bold;
font-family:Arial;
text-decoration:none;/*去除鏈接樣式,默認是有下劃線的,加上這句就沒有任何樣式,下劃線也沒有了*/
float:left;/*這句一定要加,不然在IE6中會出現(xiàn),這種效果*/
}
#Nav ul li a:hover{background:#68acd3;}
float2.rar
【第四步 Banner布局】
這個就更簡單了,有兩種方法
第一種:將圖片作為<div id="Banner"></div>背景
第二種:直接將圖片插入<div id="Banner"></div>之間,代碼:<div id="Banner"><img src="" /></div>
大家可以根據(jù)需求和實際情況選擇用哪一種,在這里我們用第一種
HTML代碼沒有什么變化,只需要在CSS里面定義一下就OK了
CSS代碼:
#Banner{
height:290px;
background:url(../Images/banner.jpg) no-repeat;
}
源代碼下載: float3.rar (73.79 KB)
怎么樣做到這里比較簡單吧,好,接著來
【第五步 內(nèi)容Content板塊布局】
從圖片上我們看到,內(nèi)容板塊分為左右兩個區(qū)域,左邊ContentL寬度是600px,右邊ContentR寬度是300px,但是由于我們要將內(nèi)邊距設置成15px(這樣才會好看),所以ContentL的寬度在CSS中就要設置成600-15*2=570px,而右側的ContentR則需要設置成300-15*2=270px;
HTML代碼:
<div id="Content">
<div id="ContentL">此處為左邊ContentL</div>
<div id="ContentR">此處為左邊ContentR</div>
</div>
CSS代碼:
#Content #ContentL,#Content #ContentR{float:left; padding:15px;}/*為什么都要左側浮動,如果不明白就去看第二節(jié)*/
#Content #ContentL{width:570px; background:#f0f0f0;}
#Content #ContentR{width:270px; background:#d3e7f2;}
頁面效果:

內(nèi)容部分我們就先做到這里,最后我們再布局里面的具體元素,下面接著來布局版權模塊(Footer)
【第六步 Footer布局】
這部分結構比較簡單,大家只需要知道怎么布局就OK了
HTML代碼:
<div id="Footer">
<p>版權歸CSS學習(www.cssxuexi.cn)所有</p>
<p>CSS交流QQ群:5505810/87951377/73513641/72263578</p>
</div>
CSS代碼:
#Footer{
text-align:center;
background:#68acd3;
padding: 10px 0;
font-size:12px;
font-family:Arial, Helvetica, sans-serif;
color:#fff;
line-height:20px;
}
目前效果如下:
就這樣我們頁面的整體結構基本出來了,剩下的工作就是內(nèi)容板塊內(nèi)部元素的具體布局了,我將在下節(jié)課接著講~
float4.rar
以上代碼打包下載
我們先來分析一下這個頁面

頁面主要分5大塊,頂部的Logo、導航條Nav、Banner、Content、Footer,如下圖


下載 (116.12 KB)
2009-6-1 09:22
這樣HTML就很容易寫出來了
復制代碼
代碼如下:<div id="Logo"></div>
<div id="Nav"></div>
<div id="Banner"></div>
<div id="Content"></div>
<div id="Footer"></div>
因為這5塊的寬度都是900像素,并且都是水平居中的,所以相應CSS代碼如下
復制代碼
代碼如下:body,div,a,img,p,form,h1,h2,h3,h4,h5,h6,input,textarea,ul,li,dt,dd,dl{margin:0;padding:0;}
/*為什么寫這段代碼沒有忘記吧,作用就是重置可能用到的標簽,不明白的去看第四節(jié)的課程關鍵詞*/
#logo,#Nav,#Banner,#Content,#Footer{width:900px; margin:0 auto;}
【第二步 布局Logo欄】
首先我們需要把頁面上的logo給切割出來,其大小為173*46,名字為:logo.gif

一般網(wǎng)站都會做到點擊logo,就會回到主頁,應該怎么做呢,大家首先會想到,給圖片加上鏈接就可以了,代碼一般會這么寫
<a href="#" id="logoLink"><img src="#" /></a>
不過KwooJan要介紹另外一種方法,將圖片做成鏈接a的背景,同樣可以達到上面說的效果,并且HTML代碼就會更精簡,少了<img...>,看看下面Logo欄的頁面代碼,紅色的為將logo.gif作為背景的鏈接
HTML代碼:
復制代碼
代碼如下:<div id="Logo">
<a href="#" id="logoLink"></a>
</div>
CSS代碼
復制代碼
代碼如下:#Logo{
height:80px;/*公共代碼中沒有定義高度,在這里定義*/
}
#logoLink{
display:block;/*將鏈接a轉化成塊狀元素,這樣才能顯示出背景*/
width:173px;
height:46px;
background:url(../Images/logo.gif) no-repeat;
float:left;/*為了讓ie6和ff顯示效果一樣,如果不加上這句話,后面的margin-top:20px;兩個瀏覽器解析不一樣,大家可以去掉這句話,看看兩者顯示效果差別*/
margin-top:20px;/*設置a的頂部外邊距為20像素,這樣才能和瀏覽器頂部有段距離,才能和圖片中做的一樣*/
}
好到這里,頭部含有l(wèi)ogo的區(qū)域已經(jīng)寫完,如果自己做不出來,就來下載源代碼
float1.rar
【第三步 布局導航欄Nav】
頁面上的導航欄和第四節(jié)講的幾乎是一樣的,并且更簡單些,這里我就不再給大家一步一步做,不會做的就去看第四節(jié),這里我就直接把代碼發(fā)出來供大家學習
HTML代碼:
復制代碼
代碼如下:<div id="Nav">
<ul>
<li><a href="#">HOME</a></li>
<li><a href="#">PHOTOS</a></li>
<li><a href="#">ABOUT</a></li>
<li><a href="#">LINKS</a></li>
<li><a href="#">CONTACT</a></li>
</ul>
</div>
CSS代碼
復制代碼
代碼如下:#Nav{height:42px;}
#Nav ul{
height:42px;
list-style:none;
background:#56990c;
}
#Nav ul li{height:42px; float:left;}
#Nav ul li a{
display:block;/*轉化成塊狀元素,因鏈接是內(nèi)鏈元素,若想給它定義下面的屬性,必須將它轉化成塊狀元素,*/
height:42px;
color:#FFF;
padding:0 10px;
line-height:42px;
font-size:14px;
font-weight:bold;
font-family:Arial;
text-decoration:none;/*去除鏈接樣式,默認是有下劃線的,加上這句就沒有任何樣式,下劃線也沒有了*/
float:left;/*這句一定要加,不然在IE6中會出現(xiàn),這種效果*/
}
#Nav ul li a:hover{background:#68acd3;}
float2.rar
【第四步 Banner布局】
這個就更簡單了,有兩種方法
第一種:將圖片作為<div id="Banner"></div>背景
第二種:直接將圖片插入<div id="Banner"></div>之間,代碼:<div id="Banner"><img src="" /></div>
大家可以根據(jù)需求和實際情況選擇用哪一種,在這里我們用第一種
HTML代碼沒有什么變化,只需要在CSS里面定義一下就OK了
CSS代碼:
復制代碼
代碼如下:#Banner{
height:290px;
background:url(../Images/banner.jpg) no-repeat;
}
源代碼下載: float3.rar (73.79 KB)
怎么樣做到這里比較簡單吧,好,接著來
【第五步 內(nèi)容Content板塊布局】
從圖片上我們看到,內(nèi)容板塊分為左右兩個區(qū)域,左邊ContentL寬度是600px,右邊ContentR寬度是300px,但是由于我們要將內(nèi)邊距設置成15px(這樣才會好看),所以ContentL的寬度在CSS中就要設置成600-15*2=570px,而右側的ContentR則需要設置成300-15*2=270px;
HTML代碼:
復制代碼
代碼如下:<div id="Content">
<div id="ContentL">此處為左邊ContentL</div>
<div id="ContentR">此處為左邊ContentR</div>
</div>
CSS代碼:
復制代碼
代碼如下:#Content #ContentL,#Content #ContentR{float:left; padding:15px;}/*為什么都要左側浮動,如果不明白就去看第二節(jié)*/
#Content #ContentL{width:570px; background:#f0f0f0;}
#Content #ContentR{width:270px; background:#d3e7f2;}
頁面效果:

內(nèi)容部分我們就先做到這里,最后我們再布局里面的具體元素,下面接著來布局版權模塊(Footer)
【第六步 Footer布局】
這部分結構比較簡單,大家只需要知道怎么布局就OK了
HTML代碼:
復制代碼
代碼如下:<div id="Footer">
<p>版權歸CSS學習(www.cssxuexi.cn)所有</p>
<p>CSS交流QQ群:5505810/87951377/73513641/72263578</p>
</div>
CSS代碼:
復制代碼
代碼如下:#Footer{
text-align:center;
background:#68acd3;
padding: 10px 0;
font-size:12px;
font-family:Arial, Helvetica, sans-serif;
color:#fff;
line-height:20px;
}
目前效果如下:

就這樣我們頁面的整體結構基本出來了,剩下的工作就是內(nèi)容板塊內(nèi)部元素的具體布局了,我將在下節(jié)課接著講~
float4.rar
以上代碼打包下載
相關文章
- 這篇文章主要為大家詳細介紹了CSS3定位和浮動的概念,以及實例代碼講解CSS3定位和浮動的使用方法,感興趣的小伙伴們可以參考一下2016-05-10
css的核心內(nèi)容 標準流、盒子模型、浮動、定位等分析
css的核心內(nèi)容:標準流、盒子模型、浮動、定位(可以說不理解這些概念絕做不出合適的網(wǎng)頁)2009-12-21- W3School 站點上的所有頁面都采用了這種技術,如果您打開我們使用 CSS 文件,您會看到我們對頁腳的 div 進行了清理,而頁腳上面的三個 div 都向左浮動。2009-10-15
純CSS定位的固定垂直居中浮動層代碼,附經(jīng)典解說 《詳解定位與定位應用
關于在html中浮動層是眾多網(wǎng)頁愛好者剛開始的難點,主要在于定位。如果你對CSS定位還不夠了解 可以接著往下看,運行里面的內(nèi)容即可。 【需求】: 將一個網(wǎng)頁分成頭、身2009-07-01CSS實現(xiàn)網(wǎng)頁分欄布局的方法:絕對定位和浮動
網(wǎng)頁制作Webjx文章簡介:在CSS中,實現(xiàn)分欄布局有兩種方法。第一種方法是使用四種CSS定位選項(absolute 、static、relative和fixed)中的絕對定位(absolute positioning2009-04-02- 我們接著上節(jié)課,繼續(xù)學習,我把頁面整體效果發(fā)出來,方便大家學習2010-01-07
- DIV+CSS網(wǎng)頁布局常用到浮動方案,但浮動并不像表格那樣好用,很多時候會出問題。同時設計不夠良好的浮動布局,在不同的瀏覽器下會有不同的表現(xiàn),可能設計時照著常用的瀏覽2009-10-28
- 在CSS中,實現(xiàn)分欄布局有兩種方法。第一種方法是使用四種CSS定位選項(absolute 、static、relative和fixed)中的絕對定位(absolute positioning),它可以將文檔中的某個元素2009-07-01
網(wǎng)頁布局 CSS簡單實現(xiàn)垂直居中-CSS教程-網(wǎng)頁制作-網(wǎng)頁教學網(wǎng)
英文原文: http://www.search-this.com/2008/05/15/easy-vertical-centering-with-css/ 中文譯文: http://www.12sui.cn/blog/71.html 本人英語還沒過四級,所以不2008-10-17