DIV+CSS布局

目录

一、简介

二、div+CSS布局优势

三、常见页面布局方式

1、简单知识基础

2、固定宽度布局

3、自适应宽度布局


一、简介

DIV+CSS的网页标准化设计是web标准中的一种新的布局方式。在这种布局中,div承载的是内容,而CSS承载的是样式

DIV 全称 division 意为“区分”使用 DIV 的方法跟使用其他 tag 的方法一样。

CSS则提供对文档外观的更好更全面的控制,而且不干扰文档的内容。

二、divCSS布局优势

1、表现和内容分离,便于站点重构页面

DIV+CSS模式具有比表格更大的优势,他将网页结构与内容相分离,代码简洁,利于搜索,方便后期维护和修改。

2、结构清晰,对搜索引擎更加友好

DIV+CSS构架的页面具备搜索引擎SEO的先天条件,配合优秀的内容和一些SEO处理,可以获得更好的网站排名。

3、便于web项目开发分工协作

DIV+CSS构架的表现和内容分离的特性使得程序员和页面设计者只要通过一定页面元素的约定便可进行各自擅长的程序控制和页面展示部分的开发,减少相互的关联性,大大提高了开发效率。

三、常见页面布局方式

1、简单知识基础

①CSS浮动(float)

浮动框可以左右移动,直到它的外边缘碰到包含框或另一浮动框的边缘。

浮动可以改变流布局,可以使多个div水平显示,有左浮动和右浮动。

当元素浮动时,它将不再处于普通文档流中,相当于浮在文档之上,不占据空间,但是会缩短行框,产生文字环绕的效果。

②clear属性

当属性设置float(浮动)时,它所在的物理位置已经脱离文档流了,但是大多时候我们希望文档流能识别float(浮动),或者是希望float(浮动)后面的元素不被float(浮动)所影响,这个时候我们就需要用clear来清除。如果要为浮动元素留出垂直空间,使其它的元素不在其两侧显示,可以对其周围的元素使用清理属性。

clear的作用:如果div采用了float之后它所在的物理位置已经脱离文档流了,在该div后面的元素会占据它的水平位置,如果想让后面的元素重新另起一行,不受浮动的影响,那么就需要在后面的元素中加上float:both;就可以换一行了。

注意:添加了clear属性的元素,通过自动增加空白边,达到留出垂直空间的效果,如下图,前者为加了clear属性的,后者未加。

③相对定位与绝对定位

相对定位是相对于元素在普通文本流中的初始位置,以它所在普通流中的位置为初始点,可以通过设置垂直或水平位置,让这个元素”相对于“它的初始点进行移动。(position:relative)

绝对定位使元素的位置与文档流无关,它的位置是相对于最近的父元素而言的。(position:absolute)

2、固定宽度布局

①一列水平居中布局

(盒子固定宽度高度)代码如下:

<style>

    #one-center-col{

        width: 500px;

        height: 300px;

        background-color: chocolate;

        margin: 0 auto;

    }

</style>

<body>

    <div id="one-center-col"></div>

</body>

浏览器效果如下:

②两列布局

两列布局可以使用float浮动的方式完成。

代码如下:

<style>

    #container{

        width: 800px;

        margin: 0 auto;

    }

    #left{

        width: 200px;

        height: 300px;

        background-color: dodgerblue;

        float: left;

    }

    #right{

        width: 500px;

        height: 300px;

        background-color: greenyellow;

        float: left;

    }

</style>

<body>

    <div id="container">

        <div id="left"></div>

        <div id="right"></div>

    </div>

</body>

浏览器效果如下:

③三列布局

代码如下:

<style>

    #container{

        width: 1000px;

        margin: 0 auto;

    }

    #left{

        width: 200px;

        height: 300px;

        background-color: dodgerblue;

        float: left;

    }

    #middle{

        width: 500px;

        height: 300px;

        background-color: hotpink;

        float: left;

    }

    #right{

        width: 300px;

        height: 300px;

        background-color: greenyellow;

        float: left;

    }

</style>

<body>

    <div id="container">

        <div id="left"></div>

        <div id="middle"></div>

        <div id="right"></div>

    </div>

</body>

浏览器效果如下:

3、自适应宽度布局

①两列布局

基本思路:

利用浮动进行自适应布局(也可使用定位进行布局),左边盒子宽度固定,右边盒子的左外边距值设置为左边盒子的宽度即可。

代码如下:

<style>

    #container{

        width: 1000px;

        margin: 0 auto;

    }

    #left{

        width: 200px;

        height: 300px;

        background-color: dodgerblue;

        float: left;

    }

    #right{

        height: 300px;

        margin-left: 200px;

        background-color: greenyellow;

    }

</style>

<body>

    <div id="container">

        <div id="left"></div>

        <div id="right"></div>

    </div>

</body>

浏览器效果如下:

②三列布局

基本思路:

与两列自适应宽度布局原理相同,利用浮动进行自适应布局,中间列自适应(也可使用定位进行布局)

代码如下:

<style>

    #container{

        width: 1200px;

        margin: 0 auto;

    }

    #left{

        width: 200px;

        height: 300px;

        background-color: dodgerblue;

        float: left;

    }

    #middle{

        margin: 0 300px 0 200px;

        height: 300px;

        background-color: hotpink;

    }

    #right{

        width: 300px;

        height: 300px;

        background-color: greenyellow;

        float: right;

        margin-top: -300px;

    }

</style>

<body>

    <div id="container">

        <div id="left"></div>

        <div id="middle"></div>

        <div id="right"></div>

    </div>

</body>

浏览器效果如下:

你正在学习 CSS 布局吗?是不是还不能完全掌握纯 CSS 布局?通常有两种情况阻碍你的学习: 第一种可能是你还没有理解 CSS 处理页面的原理。在你考虑你的页面整体表现效果前,你应当先考虑内容的语义和结构, 然后再针对语义、结构添加 CSS。这篇文章将告诉你应该怎样把 HTML 结构化。 另一种原因是你对那些非常熟悉的表现层属性(例如:cellpadding,、hspace、align="left"等等)束手无策,不知道该 转换成对应的什么 CSS 语句。当你解决了第一种问题,知道了如何结构化你的 HTML,我再给出一个列表,详细列出原来的表 现属性用什么 CSS 来代替。 结构化 HTML 我们在刚学习网页制作时,总是先考虑怎么设计,考虑那些图片、字体、颜色、以及布局方案。然后我们用 Photoshop 或者 Fireworks 画出来、切割成小图。最后再通过编辑 HTML 将所有设计还原表现在页面上。 如果你希望你的 HTML 页面用 CSS 布局(是 CSS-friendly 的),你需要回头重来,先不考虑“外观”,要先思考你的页面 内容的语义和结构。 外观并不是最重要的。一个结构良好的 HTML 页面可以以任何外观表现出来,CSS Zen Garden 是一个典型的例子。CSS Zen Garden 帮助我们最终认识到 CSS 的强大力量。 HTML 不仅仅只在电脑屏幕上阅读。你用 photoshop 精心设计的画面可能不能显示在 PDA、移动电话和屏幕阅读机上。但 是一个结构良好的 HTML 页面可以通过 CSS 的不同定义,显示在任何地方,任何网络设备上。 开始思考 首先要学习什么是"结构",一些作家也称之为"语义"。这个术语的意思是你需要分析你的内容块,以及每块内容服务的 目的,然后再根据这些内容目的建立起相应的 HTML 结构。
以下是一个简单的 div CSS 页面布局模板: ```html <!DOCTYPE html> <html> <head> <title>页面标题</title> <style type="text/css"> .container { width: 960px; margin: 0 auto; padding: 20px; } .header { background-color: #eee; padding: 10px; margin-bottom: 20px; } .nav { background-color: #ccc; padding: 10px; margin-bottom: 20px; } .content { float: left; width: 720px; padding: 10px; background-color: #fff; margin-right: 20px; } .sidebar { float: left; width: 200px; padding: 10px; background-color: #f5f5f5; } .footer { clear: both; background-color: #eee; padding: 10px; margin-top: 20px; } </style> </head> <body> <div class="container"> <div class="header"> <!-- 头部内容 --> </div> <div class="nav"> <!-- 导航栏内容 --> </div> <div class="content"> <!-- 主要内容 --> </div> <div class="sidebar"> <!-- 侧边栏内容 --> </div> <div class="footer"> <!-- 底部内容 --> </div> </div> </body> </html> ``` 在这个模板中,我们使用了一个名为 "container" 的 div 元素来包含整个页面的内容。在这个 div 元素内部,我们使用了多个名为 "header"、"nav"、"content"、"sidebar" 和 "footer" 的 div 元素来分别表示页面的不同部分。我们使用了 CSS 的浮动(float)属性来让 "content" 和 "sidebar" 元素并排排列。同时,我们还为这些元素设置了不同的背景颜色、宽度、内边距和外边距等样式。你可以根据自己的需求来修改这些样式,以适应不同的页面布局

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值