DIV+CSS网页标准化布局(一)

1、DIV+CSS定义及优势

Div+css 是什么?

Div+css 是一种目前比较流行的网页布局技术

Div 来存放需要显示的数据(文字,图表..) , css 就是用来指定怎样显示, 从而做到数据和显示相互的效果

Div+css 优势

  • 采用DIV+CSS模式的网站具有以下优势:
  • 表现和内容相分离
  • 代码简洁,提高页面浏览速度
  • 易于维护和改版
  • 提高搜索引擎对网页的索引效率

我们可以简单的这样理解div+css:

div 是用于存放内容(文字,图片,元素)的容器。

css 是用于指定放在div中的内容如何显示,包括这些内容的位置和外观.

2、“无意义”的HTML元素div和span

  • HTML只是赋予内容的手段,大部分HTML标签都有其意义(例如,标签p创建段落,h1标签创建标题等等)的,然而divspan标签似乎没有任何内容上的意义,听起来就像一个泡沫做成的锤子一样无用。但实际上,与CSS结合起来后,它们被用得十分广泛。你所需要记住的是span和div是“无意义”的标签。它们的存在纯粹是应用样式,所以当样式表失效时它就没有任何的作用
  • 它们被用来组合成一大块的HTML代码并赋予一定的信息,大部分用类属性class和标识属性id与元素联系起来。span和div的不同之处在于span是内联的,用在一小块的内联HTML中。而div(division)元素是块级的(简单地说,它等同于其前后有断行),用于组合一大块的代码,为HTML 文档内大块的内容提供结构和背景的元素,可以包含段落、标题、表格甚至其他部分,这使div便于建立不同集成的类。
  • div的起始标签和结束标签之间的所有内容都是用来构成这个块的,其中所包含元素的特性由div标签的属性来控制,或者是通过使用样式表格式化这个块来进行控制

3、页面布局的盒子模型

(1)盒子模型的相关属性

  • margin(外边距/边界)
  • border(边框)
  • padding(内边距/填充 )

我们看图理解一下各属性作用:

以上属性又分为上、右、下、左四个方向
     
     问题:页面元素的宽度width、高度height如何计算?
     答案:元素的实际占位尺寸 = 元素尺寸 + padding + 边框宽度
     比如:元素实际占位高度 = height属性 + 上下padding + 上下边框宽度

  

(2)盒模型的层次关系

我们通过一个经典的盒模型3D立体结构图来理解,如图:
    

从上往下看,层次关系如下:

     第1层:盒子的边框(border),
     第2层:元素的内容(content)、内边距(padding)
     第3层:背景图(background-image)
     第4层:背景色(background-color)
     第5层:盒子的外边距(margin)

从这个层次关系中可以看出,当同时设置背景图和背景色时,背景
     图将在背景色的上方显示

 

4、声明盒子模型的CSS属性

例如:

 1 <html>
 2     <head>
 3         <title>盒子模型</title>
 4         <style>
 5             #box {                               /* ID为box的盒子模型     */
 6                 width:200px;                     /* 盒子的宽度为200px     */
 7                 height:200px;                    /* 盒子的高度为200px     */
 8                 border:5px solid #ccc;           /* 盒子边框实线各边宽5px */
 9                 padding:10px;                    /* 盒子的4个内填充为10px */
10                 margin:20px;                     /* 盒子的4个外边距为10px */
11             }
12         </style>
13     </head>
14     <body>
15         <div id="box">                           <!-- 使用DIV声明一个盒子    -->
16             内容区                                <!-- 盒子内容可再嵌套个盒子 -->
17         </div>
18     </body>
19 </html>
  • 水平居中和垂直居中

水平居中包含两种情况:
 块级元素的水平居中:margin:0px auto;
        文字内容的水平居中:text-align: center;

垂直居中:
        常见的单行文字的垂直居中可设置文字所在行的height与
        行高样式属性一致,比如:
        div{
            width: 400px;
            height: 400px;
            line-height: 400px;/*行高与div高度一致*/
        }

5、和页面布局有关的CSS属性

 1 #box {                              /* 声明ID选择器,名称为box           */
 2     position:absolute;              /* 设置层的定位为绝对定位            */
 3     top:30px;                       /* 层距离顶点纵向坐标的距离为30个像素  */
 4     left:100px;                     /* 层距离左点横向坐标的距离为100个像素 */
 5     width:300px;                    /* 设置层的宽度为300个像素           */
 6     height:150px;                   /* 设置层的高度为150个像素           */
 7     overflow:auto;                  /* 当内容超出层的范围时显示滚动条     */
 8     z-index:1;                      /* 设置层的先后顺序为覆盖关系        */
 9     visibility:visible;            /* 无论父层是否可见,子层都可见       */
10 }

6、盒子区块框的定位

层模型--绝对定位

如果想为元素设置层模型中的绝对定位,需要设置position:absolute(表示绝对定位),这条语句的作用将元素从文档流中拖出来,然后使用left、right、top、bottom属性相对于其最接近的一个具有定位属性的父包含块进行绝对定位。如果不存在这样的包含块,则相对于body元素,即相对于浏览器窗口

如下面代码可以实现div元素相对于浏览器窗口向右移动100px,向下移动50px。

1 div{
2     width:200px;
3     height:200px;
4     border:2px red solid;
5     position:absolute;
6     left:100px;
7     top:50px;
8 }
9 <div id="div1"></div>

效果如下:

层模型--相对定位

如果想为元素设置层模型中的相对定位,需要设置position:relative(表示相对定位),它通过left、right、top、bottom属性确定元素在正常文档流中的偏移位置。相对定位完成的过程是首先按static(float)方式生成一个元素(并且元素像层一样浮动了起来),然后相对于以前的位置移动,移动的方向和幅度由left、right、top、bottom属性确定,偏移前的位置保留不动。

如下代码实现相对于以前位置向下移动50px,向右移动100px;

#div1{
    width:200px;
    height:200px;
    border:2px red solid;
    position:relative;
    left:100px;
    top:50px;
}

<div id="div1"></div>

效果图:

什么叫做“偏移前的位置保留不动”呢?

大家可以做一个实验,在右侧代码编辑器的19行div标签的后面加入一个span标签,在标并在span标签中写入一些文字。如下代码:

<body>
    <div id="div1"></div><span>偏移前的位置还保留不动,覆盖不了前面的div没有偏移前的位置</span>
</body>

效果图:

从效果图中可以明显的看出,虽然div元素相对于以前的位置产生了偏移,但是div元素以前的位置还是保留着,所以后面的span元素是显示在了div元素以前位置的后面。

层模型--固定定位

fixed:表示固定定位,与absolute定位类型类似,但它的相对移动的坐标是视图(屏幕内的网页窗口)本身。由于视图本身是固定的,它不会随浏览器窗口的滚动条滚动而变化,除非你在屏幕中移动浏览器窗口的屏幕位置,或改变浏览器窗口的显示大小,因此固定定位的元素会始终位于浏览器窗口内视图的某个位置,不会受文档流动影响,这与background-attachment:fixed?属性功能相同。以下代码可以实现相对于浏览器视图向右移动100px,向下移动50px。并且拖动滚动条时位置固定不变。

 1 #div1{
 2     width:200px;
 3     height:200px;
 4     border:2px red solid;
 5     position:fixed;
 6     left:100px;
 7     top:50px;
 8 }
 9 <p>文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本。</p>
10 ....
11  

7、盒子模型的浮动布局

  理解浮动属性首先要搞清楚,什么是文档流?
    文档流:浏览器根据元素在html文档中出现的顺序,
        从左向右,从上到下依次排列
    
    浮动属性是CSS中的定位属性,用法如下:
        float: 浮动方向(left、right、none);

    left为左浮动、right为右浮动、none是默认值表示不浮动
    ,设置元素的浮动,该元素将脱离文档流,向左或向右移动
    直到它的外边距碰到父元素的边框或另一个浮动元素的边
    框为止

浮动示例,没有使用浮动的3个DIV:
    HTML结构代码:
        <div id="first">第1块div</div>
        <div id="second">第2块div</div>
        <div id="third">第3块div</div>

CSS样式代码:
        #first, #second, #third{
                width:100px;
                height:50px;
                border:1px #333 solid;
                margin:5px;
        }

执行效果如图:
    

样式中加入 float:left;
    执行效果如图:
    
    
    你再修改为 float: right试试右浮动是什么效果
    
16、让商品分类DIV、内容DIV和右侧DIV并排放置

HTML结构代码:

1 <div id="container">
2     <div id="header">顶部(header)</div>
3     <div id="main">
4         <div class="cat">商品分类(cat)</div>
5         <div class="content">内容(content)</div>
6         <div class="sidebar">右侧(sidebar)</div>
7     </div>
8     <div id="footer">底部(footer)</div>
9 </div> 
1 <div id="container">
2     <div id="header">顶部(header)</div>
3     <div id="main">
4         <div class="cat">商品分类(cat)</div>
5         <div class="content">内容(content)</div>
6         <div class="sidebar">右侧(sidebar)</div>
7     </div>
8     <div id="footer">底部(footer)</div>
9 </div>  

CSS样式代码(在第13节CSS代码基础上加入):

 1 .cat, .sidebar {
 2         float:left;
 3         width:20%;
 4         height:100%;
 5     }
 6  .content {
 7         float:left;
 8         width:60%;
 9         height:100%;
10     }

17、clear清除

clear只对块级元素有效,表示如果前一个元素存在左浮动或右浮动,则换行
    clear属性的取值:rigth、left、both、none

部分内容转自Mercop的专栏慕课网

时间: 2024-10-12 20:25:02

DIV+CSS网页标准化布局(一)的相关文章

IT兄弟连 HTML5教程 DIV+CSS网页标准化布局的优势

标准的网页都需要对内容进行布局,以前都是采用表格的定位技术,从2005年开始逐步转向DIV+CSS的布局方式,目前绝大多数的网站都是采用这种布局方式.使用DIV+CSS对网站进行布局符合W3C标准,采用这种方式布局通常是为了说明与HTML表格定位方式的区别.通过使用DIV盒子模型结构将各部分内容划分到不同的区块,然后用CSS来定义盒子模型的位置.大小.边框.内外边距.排列方式等.简单地说,DIV用于搭建网站结构(框架),CSS用于创建网站表现(样式/美化).该标准简化了HTML页面代码,获得了一

DIV+CSS网页标准化布局(二)之浮动布局

盒模型以及浮动布局 谈到盒模型,有经验的小伙伴一定滚瓜烂熟,无非就是 内容(content).填充(padding).边框(border).边界(margin): 这些属性我们可以把它转移到我们日常生活中的盒子(箱子)上来理解,日常生活中所见的盒子也就是能装东西的一种箱子,也具有这些属性,所以叫它盒子模式. 先上图: 上图清晰的表明了盒模型的具体表现样式: margin外边距+border边框+padding内边距+content内容: 既然盒模型叫做盒模型~那么我们可以把它比作一个 液晶屏幕包

(16/06/10) DIV+CSS网页标准化布局 DIV+CSS的兼容性问题小结。

1.兼容性问题的产生:个别浏览器的开发商对一些CSS属性的解析没有按W3C的标准设计. 一个好的网站布局需要在所有的浏览器上呈现相同的界面,即使不能完全一致也要大致相同.浏览器进行页面布局调试将其分为IE和非IE两种.主要原因是因为微软公司的IE浏览器没有按W3C的标准设计,而非IE浏览器几乎是符合W3C标准的.目前IE浏览器占有很大的市场份额,IE5使用人群很少,基本不用考虑,一般IE浏览器兼容性只针对IE6,IE7,IE8就可以了,IE的新版本向标准化迈进.非IE浏览器以Firefox浏览器

DIV+CSS网页标准布局入门到精通视频教程

DIV+CSS网页标准布局入门到精通视频教程,一共28讲完整的教程,有齐学网整理免费提供下载. 下载地址:http://bbs.it1717.com/thread-77-1-1.html

DIV+CSS网页布局常用的一些基础知识整理

CSS命名规范一.文件命名规范 全局样式:global.css:框架布局:layout.css:字体样式:font.css:链接样式:link.css:打印样式:print.css: 二.常用类/ID命名规范页 眉:header内 容:content容 器:container页 脚:footer 版 权:copyright 导 航:menu主导航:mainMenu子导航:subMenu 标 志:logo标 语:banner标 题:title侧边栏:sidebar 图 标:Icon注 释:note

【div+css网页布局详解】

前言: 网页布局是制作一个网页的第一步也是最重要的一步,今天来详细谈一下使用div+css布局的方法. 用dw编写网页的时候是可以通过两种方法的,一是图形界面,二是代码,初学的话可以用图形界面,学的差不多的时候使用代码更能提高效率. 因为现在css3和之前css2有较大改动,咱们先从css2的说起吧. (笔者采用的是dreamweaver cs6,破解版下载地址:http://www.aa25.cn/download/954.shtml) 一.单列布局 一个网页编写手先要搭一个框架,就像下图样:

Div+CSS网页布局中CSS无效的十个常见原因

学习Div+CSS网页布局的知识,可是兄弟连validation有时难以操作,但用它你可以查看由版面设计引起的差错,验证程序抛出大量差错和警告,说明你的XHTML尚未完善,可能无法在不同浏览器上保持一致功能,下面十个细微的失效问题难住了大批程序员,本文就告诉你如何解决,在本文开始前介绍一些使用兄弟连PHP培训的基础div+css验证程序时需要注意的问题. 1.不要担心验证程序的警告:如果验证程序说发现12处错误以及83处警告,不要理它,继续进行下一步. 2.一次更正一个错误:按顺序进展工作,从上

左边logo 右边广告图片布局 div css左右浮动布局实例

左边logo 右边广告图片布局(div css左右浮动布局实例) 一般网页头部是左边网站标志logo,右边为广告图片或电话号码图片,这里DIVCSS5为大家介绍对float浮动使用实例布局介绍. 需要div+css布局案例效果图需要div+css布局案例效果图(缩小)一.DIVCSS5实例布局技术点说明 - TOP 1.图片切出说明:首先切好左边logo图片,右边广告图片(切图注意不影响图片质量情况尽量宽度高度尺寸切小).2.采用float:left和float:right布局:一般遇到内容靠左

HTML、DIV+CSS网页制作中排版混乱的几种常见的情况

对于Web前端初学者或者经验不够丰富的人来说,出现页面排版布局混乱的情况并不罕见,有时候明明前面部分的网页都很整齐美观,可是在接下来的部分中经常会出现网页布局混乱,比如content无法调整到开发者需要的位置,或者出现页面重叠的现象.以下内容是我个人在网页制作过程中关于网页排版混乱及其解决办法的一些经验总结,不足之处,希望大家互相补充学习. )DIV+CSS网页错位的原因与解决方法 常常我们会遇到我们要设置在一行显示的布局,却因为种种原因造成了错位,看到结果是在一行的最后一个盒子布局错位掉下去了