首頁 web前端 html教學 CSS布局教程模板:用DIV+CSS实现经典式三行两列布局_html/css_WEB-ITnose

CSS布局教程模板:用DIV+CSS实现经典式三行两列布局_html/css_WEB-ITnose

Jun 24, 2016 pm 12:30 PM

看到、遇到过很多的企业网站或其它小型的展示类网站,有一些共同的特点,即顶部放一个大的导航或BANNER,右侧是链接或图片,左侧放置内容,页面底部放置版权信息等。这样的形式是国内经典式的布局,我们这里不对它的视觉效果作过多的讨论,我们今天说说如何用DIV+CSS实现三行两列的布局。

  我们看下面的图片:

 

  这样的结构大家再熟悉不过了,我们该如何用DIV+CSS实现它呢。我们看下面的分析图片:

 

 

 

  它们相对应的关系如下:

 

顶部:header
左侧:sidebar
右侧:containe
底部:footer
主要区域:main

 

  这个main是起什么作用的呢。由于中间的sidebar、containe是两列并行的,我们需要设置浮动,让他们各就各位。但我们的整个页面是需要居中于浏览器窗口的。我们只能为他们设置一个容器main,让sidebar、containe在这一容器中浮动。不必考虑居中问题。而main就发挥了居中或设置背景的功能。

  思路已很清晰,我们开始整理HTML代码:

 



    

    


 

  header、main、footer是三个相对独立的层,而sidebar、containe是main层的子层。这里有一点需要说明,我们可以先写siderbar、也可以先写containe,通过浮动的设置,不管哪一个写在代码前部,所得到效果是一致的,我们可以通过让内容在前面的方式对搜索引擎更友好,如下代码:

 



    

    


 

  我们开始写CSS,对上面的各元素进行样式表定义:

* {
    margin:0;
    padding:0;
}

  整体布局声明,边距与填充均为零。



#header {
    width:776px;
    height:100px;
    margin:0 auto;
    background:#06f;
}

  对header的定义:宽度为776px;高度为100px;上下边距为零,左右边距为自动,实现了水平居中对齐;背景色为蓝色#06f。



#main {
    width:776px;
    margin:0 auto;
}

  对main的定义:宽度为776px;上下边距为零,左右边距为自动,实现了水平居中对齐;无背景色等其它设置。



#main #sidebar {
    width:200px;
    float:left;
    background:#f93;
}

  对main的子层sidebar进行定义:宽度为200px;向左浮动;背景色为桔红色#f93。



#main #containe {
    width:576px;
    float:right;
    background:#dceafc;
}

  对main的子层containe进行定义:宽度为576px(776-200);向右浮动;背景色为很淡的蓝色#dceafc。



#footer {
    width:776px;
    height:60px;
    margin:0 auto;
    background:#666;
}

  对footer的定义:宽度与上面的一样为776px;高度为60px;上下边距为零,左右边距为自动,实现了水平居中对齐;背景色为深灰色#666。


  或许你认为我们对布局的CSS定义已经结束了,其实还存在着问题,为了方便预览,我们给sidebar、containe设置一个300px的高度,查看一下效果,如图:






  在IE中,一切正常,按预定的构思正常显示出来了,但在FF中,footer层消失了。这是因为FF不知道浮动以后发生的事情,不清楚main的高度为几何,因而它跑到上面去了,我们看不到它的存在。我们去除containe的背景色,FF中看到的是如下图的景象:




  我们应该在sidebar、containe结束的地方清除浮动,让FF知道如何处理footer层,而不是直接放到上面,在视觉上消失。我们在HTML中增加一个新层,位于sidebar、containe结束的地方:




    

    

    



  我们定义clearfloat的样式为:

#clearfloat {
    clear:both;
    height:1px;
    overflow:hidden;
    margin-top:-1px;
}


  设置的意义是:clear:both;是指不允许左右有浮动对象;高度为1px;溢出为隐藏;顶边距为-1px,即这一层实际上是不可见的,仅为清除浮动之用。





本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

> gt;的目的是什麼 元素? > gt;的目的是什麼 元素? Mar 21, 2025 pm 12:34 PM

本文討論了HTML< Progress>元素,其目的,樣式和與< meter>元素。主要重點是使用< progress>為了完成任務和LT;儀表>對於stati

< datalist>的目的是什麼。 元素? < datalist>的目的是什麼。 元素? Mar 21, 2025 pm 12:33 PM

本文討論了html< datalist>元素,通過提供自動完整建議,改善用戶體驗並減少錯誤來增強表格。Character計數:159

HTML5中跨瀏覽器兼容性的最佳實踐是什麼? HTML5中跨瀏覽器兼容性的最佳實踐是什麼? Mar 17, 2025 pm 12:20 PM

文章討論了確保HTML5跨瀏覽器兼容性的最佳實踐,重點是特徵檢測,進行性增強和測試方法。

< meter>的目的是什麼。 元素? < meter>的目的是什麼。 元素? Mar 21, 2025 pm 12:35 PM

本文討論了HTML< meter>元素,用於在一個範圍內顯示標量或分數值及其在Web開發中的常見應用。它區分了< meter>從< progress>和前

如何使用HTML5表單驗證屬性來驗證用戶輸入? 如何使用HTML5表單驗證屬性來驗證用戶輸入? Mar 17, 2025 pm 12:27 PM

本文討論了使用HTML5表單驗證屬性,例如必需的,圖案,最小,最大和長度限制,以直接在瀏覽器中驗證用戶輸入。

視口元標籤是什麼?為什麼對響應式設計很重要? 視口元標籤是什麼?為什麼對響應式設計很重要? Mar 20, 2025 pm 05:56 PM

本文討論了視口元標籤,這對於移動設備上的響應式Web設計至關重要。它解釋瞭如何正確使用確保最佳的內容縮放和用戶交互,而濫用可能會導致設計和可訪問性問題。

< iframe>的目的是什麼。 標籤?使用時的安全考慮是什麼? < iframe>的目的是什麼。 標籤?使用時的安全考慮是什麼? Mar 20, 2025 pm 06:05 PM

本文討論了< iframe>將外部內容嵌入網頁,其常見用途,安全風險以及諸如對象標籤和API等替代方案的目的。

Gitee Pages靜態網站部署失敗:單個文件404錯誤如何排查和解決? Gitee Pages靜態網站部署失敗:單個文件404錯誤如何排查和解決? Apr 04, 2025 pm 11:54 PM

GiteePages靜態網站部署失敗:404錯誤排查與解決在使用Gitee...

See all articles