網頁簡單布局之結構與表現原則案例


一開始我們接觸網頁制作的時候,就了解到html代表結構、css代表樣式、javascript代表行為,網頁制作中,我們一直強調結構與表現相分離的原則,這里面的結構一般指HTML,此外分離是說把它們寫在不同的文件加以引用嗎?當然不是,在這里的學習中了解到,分離不單是一種方法更是一種思想,簡而言之,一個平面二維坐標,其中x軸代表技術發展,y軸代表網頁制作需求,分離就是根據根據技術發展和我們的網頁制作需求完成的!

舉例:比方說我們蓋房子,html就相當房子的結構,css相當於后期的裝修,網頁都是基於一張效果來完成的,在我們瀏覽網頁的時候,根據效果圖不同,樣式不同,所以我們瀏覽的頁面是五花八門的,那么我們如何來布局好網頁?首先不要考慮過多的css樣式,盡量讓我們的html結構合理簡潔和語義化,然后再添加完善css樣式!

當我們拿到頁面時,不同的制作者對結構結構樣式有不同的鏈接,根據這個結構樣式了解深度的不同,暫定划分為:初級、中級、高級三個不同的層次;

比方說這樣一個常見的對話框,有3個單元,首先我們需要完成一個單元,另外的進行CTRL+V;如果是初級制作者拿到頁面后,一般按照上面的方框進行划分,一個大的div里面包含2個小的div,左右浮動,左側放img,右側放p,h等標簽,至於時間因子通過 position屬性定位實現,那下面就用代碼說明下

 1 <div class="demo1">
 2             <div class="fl">
 3                 <img src="../../images/head02.jpg" alt="">
 4             </div>
 5             <div class="fr">
 6                 <span>10分鍾前</span>
 7                 <h6>漸行漸遠漸無書</h6>
 8                 <p>
 9                 你是不是每天腦子里盤踞許多揮之不去的想法覺得自己很忙,仔細想想又不知道自己真正地在忙些什么,而養成良好的習慣,照顧好自己,追隨自己的夢想,才能提高生產力,這也意味着改善你與家人和朋友的關系,因為當你改變時,你周圍的一切都改變了,高效能的人有哪些習慣值得我們學習?    
10                 </p>
11             </div>
12         </div>
13         <div class="demo2">
14                 <img src="../../images/head02.jpg" alt="">
15             <div class="fr">
16                 <span>10分鍾前</span>
17                 <h6>漸行漸遠漸無書</h6>
18                 <p>
19                 你是不是每天腦子里盤踞許多揮之不去的想法覺得自己很忙,仔細想想又不知道自己真正地在忙些什么,而養成良好的習慣,照顧好自己,追隨自己的夢想,才能提高生產力,這也意味着改善你與家人和朋友的關系,因為當你改變時,你周圍的一切都改變了,高效能的人有哪些習慣值得我們學習?    
20                 </p>
21             </div>
22         </div>
23         <div class="demo3">
24                 <img src="../../images/head02.jpg" alt="">
25                 <span class="time">10分鍾前</span>
26                 <h6>漸行漸遠漸無書</h6>
27                 <p>
28                 你是不是每天腦子里盤踞許多揮之不去的想法覺得自己很忙,仔細想想又不知道自己真正地在忙些什么,而養成良好的習慣,照顧好自己,追隨自己的夢想,才能提高生產力,這也意味着改善你與家人和朋友的關系,因為當你改變時,你周圍的一切都改變了,高效能的人有哪些習慣值得我們學習?    
29                 </p>
30             </div>
31         </div>

 =>3個不同的demo代表3種不同的頁面結構||書寫頁面結構公共部分展示:

 1 /*reset*/
 2         body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td{margin: 0;padding: 0;list-style: none;font:12px/1.5 "Arial", "sans-serif", "微軟雅黑", "宋體", "Tahoma"}
 3         
 4         /*公共樣式*/
 5         .demo1,.demo2{
 6             width: 600px;
 7             margin-top: 20px;
 8             overflow: hidden;
 9             margin-bottom: 20px;
10         }
11         p{
12             text-align: justify;
13             text-indent: 2em;
14             line-height: 24px;
15         }

 =>初級制作者css

 1 /*初級*/
 2         .demo1{
 3             width: 600px;
 4             margin-top: 20px;
 5             overflow: hidden;
 6         }
 7         .demo1 .fl{
 8             width: 100px;
 9             float: left;
10         }
11         .demo1 .fl img{
12             margin-left: 20px;
13             padding: 10px;
14             border: 1px solid #ccc;
15         }
16         .demo1 .fr{
17             width:488px;
18             float: right;
19             border: 1px solid #ccc;
20             position: relative;
21             padding: 5px;
22         }
23         .demo1 .fr span{
24             position: absolute;
25             right:18px;
26             top: 5px;
27         }    

 =>中級制作者css,相較於初級進行了結構簡化,去掉了左側的div,保留了右邊的部分;

 1 /*中級*/
 2         .demo2 .fr{
 3             width:488px;
 4             float: right;
 5             border: 1px solid #ccc;
 6             position: relative;
 7             padding: 5px;
 8         }
 9         .demo2 .fr span{
10             position: absolute;
11             right:18px;
12             top: 5px;
13         }
14         .demo2 img{
15             margin-left: 20px;
16             padding: 10px;
17             border: 1px solid #ccc;
18         }

  =>高級制作者css:先按照結構和語義編寫代碼,然后再進行css樣式設置,減少了css與html的契合度(文檔移動,圖像移出,定位屬性)

 1 /*高級*/
 2         .demo3{
 3             border: 1px solid #ccc;
 4             width: 488px;
 5             margin-left: 100px;
 6             padding: 5px;
 7             position: relative;
 8         }
 9         .demo3 img{
10             float: left;
11             margin:-6px 0 0 -86px;
12             padding: 10px;
13             border: 1px solid #CCCCCC;
14         }
15         .demo3 span{
16             position: absolute;
17             top: 10px;
18             right: 20px;
19         }

結論:拿到一張網頁設計圖的時候,首先要觀察文字和內容模塊之間的關系,重點放在編寫語義化html代碼上,而不要過多地考慮設計間的布局樣式,等到html代碼編輯完成,再考慮如何實現,力求在不改變現有頁面結構的基礎上完成設計圖稿要求呈現的視覺效果!(點擊下載完整網頁簡單布局之結構與表現原則代碼)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM