什么是CSS的盒子模式呢?为什么叫它是盒子?先说说我们在网页设计中常听的属性名:内容(content)、填充(padding)、边框(border)、边界(margin), CSS盒子模式都具备这些属性。

  这些属性我们可以把它转移到我们日常生活中的盒子(箱子)上来理解,日常生活中所见的盒子也具有这些属性,所以叫它盒子模式。那么内容就是盒子里装的东西;而填充就是怕盒子里装的东西(贵重的)损坏而添加的泡沫或者其它抗震的辅料;边框就是盒子本身了;至于边界则说明盒子摆放的时候的不能全部堆在一起,要留一定空隙保持通风,同时也为了方便取出嘛。在网页设计上,内容常指文字、图片等元素,但是也可以是小盒子(DIV嵌套),与现实生活中盒子不同的是,现实生活中的东西一般不能大于盒子,否则盒子会被撑坏的,而CSS盒子具有弹性,里面的东西大过盒子本身最多把它撑大,但它不会损坏的。填充只有宽度属性,可以理解为生活中盒子里的抗震辅料厚度,而边框有大小和颜色之分,我们又可以理解为生活中所见盒子的厚度以及这个盒子是用什么颜色材料做成的,边界就是该盒子与其它东西要保留多大距离。

  用div来定义语义结构

  现在我要给大家演示的是一个典型的版面分栏结构,即页头、导航栏、内容、版权(如下图)

  其结构代码如下:

  <div id="header"></div>

  <div id="nav"></div>

  <div id="content"></div>

  <div id="footer"></div>

  上面我们定义了四个盒子,按照我们想要的结果是,我们要让这些盒子等宽,并从下到下整齐排列,然后在整个页面中居中对齐,为了方便控制,我们再把这四个盒子装进一个更大的盒子,这个盒子就是BODY,这样代码就变成:

  <body>

  <div id="header"></div>

  <div id="nav"></div>

  <div id="content"></div>

  <div id="footer"></div>

  </body>

  最外边的大盒子(装着小盒子的大盒子)我们要让它在页面居中,并重定义其宽度为760像素,同时加上边框,那么它的样式是:

  body {

  font-family: Arial, Helvetica, sans-serif;

  font-size: 12px;

  margin: 0px auto;

  height: auto;

  width: 760px;

  border: 1px solid #006633;

  }

  页头为了简单起见,我们这里只要让它整个区块应用一幅背景图就行了,并在其下边界设计定一定间隙,目的是让页头的图像不要和下面要做的导航栏连在一起,这样也是为了美观。其样式代码为:

  #header {

  height: 100px;

  width: 760px;

  background-image: url(headPic.gif);

  background-repeat: no-repeat;

  margin:0px 0px 3px 0px;

  }

  导航栏我做成像一个个小按钮,鼠标移上去会改变按钮背景色和字体色,那么这些小小的按钮我们又可以理解为小盒子,如此一来这是一个盒子嵌套问题了,样式代码如下:

  #nav {

  height: 25px;

  width: 760px;

  font-size: 14px;

  list-style-type: none;

  }

  #nav li {

  float:left;

  }

  #nav li a{

  color:#000000;

  text-decoration:none;

  padding-top:4px;

  display:block;

  width:97px;

  height:22px;

  text-align:center;

  background-color: #009966;

  margin-left:2px;

  }

  #nav li a:hover{

  background-color:#006633;

  color:#FFFFFF;

  }

  内容部分主要放入文章内容,有标题和段落,标题加粗,为了规范化,我用H标签,段落要自动实现首行缩进2个字,同时所有内容看起来要和外层大盒子边框有一定距离,这里用填充。内容区块样式代码为:

  #content {

  height:auto;

  width: 740px;

  line-height: 1.5em;

  padding: 10px;

  }

  #content p {

  text-indent: 2em;

  }

  #content h3 {

  font-size: 16px;

  margin: 10px;

  版权栏,给它加个背景,与页头相映,里面文字要自动居中对齐,有多行内容时,行间距合适,这里的链接样式也可以单独指定,我这里就不做了。其样式代码如下:

  #footer {

  height: 50px;

  width: 740px;

  line-height: 2em;

  text-align: center;

  background-color: #009966;

  padding: 10px;

  }

  最后回到样式开头大家会看到这样的样式代码:

  * {

  margin: 0px;

  padding: 0px;

  }

  这是用了通配符初始化各标签边界和填充,(因为有部分标签默认会有一定的边界,如Form标签)那么接下来就不用对每个标签再加以这样的控制,这可以在一定程度上简化代码。最终完成全部样式代码是这样的:

  <style type="text/css">

  <!--

  * {

  margin: 0px;

  padding: 0px;

  }

  body {

  font-family: Arial, Helvetica, sans-serif;

  font-size: 12px;

  margin: 0px auto;

  height: auto;

  width: 760px;

  border: 1px solid #006633;

  }

  #header {

  height: 100px;

  width: 760px;

  background-image: url(headPic.gif);

  background-repeat: no-repeat;

  margin:0px 0px 3px 0px;

  }

  #nav {

  height: 25px;

  width: 760px;

  font-size: 14px;

  list-style-type: none;

  }

  #nav li {

  float:left;

  }

  #nav li a{

  color:#000000;

  text-decoration:none;

  padding-top:4px;

  display:block;

  width:97px;

  height:22px;

  text-align:center;

  background-color: #009966;

  margin-left:2px;

  }

  #nav li a:hover{

  background-color:#006633;

  color:#FFFFFF;

  }

  #content {

  height:auto;

  width: 740px;

  line-height: 1.5em;

  padding: 10px;

  }

  #content p {

  text-indent: 2em;

  }

  #content h3 {

  font-size: 16px;

  margin: 10px;

  }

  #footer {

  height: 50px;

  width: 740px;

  line-height: 2em;

  text-align: center;

  background-color: #009966;

  padding: 10px;

  }

  -->

  </style>

  结构代码是这样的:

  <body>

  <div id="header"></div>

  <ul id="nav">

  <li><a href="#">首 页</a></li>

  <li><a href="#">文 章</a></li>

  <li><a href="#">相册</a></li>

  <li><a href="#">Blog</a></li>

  <li><a href="#">论 坛</a></li>

  <li><a href="#">帮助</a></li>

  </ul>

  <div id="content">

  <h3>前言</h3>

  <p>第一段内容</p>

  <h3>理解CSS盒子模式</h3>

  <p>第二段内容</p>

  </div>

  <div id="footer">

  <p>关于华升 | 广告服务 | 华升招聘 | 客服中心 | Q Q留言 | 网站管理 | 会员登录 | 购物车</p><p>Copyright ?2006 - 2008 Tang Guohui. All Rights Reserved</p>

  </div>

  </body>

---更多SEO知识博客请浏览:雨田SEOER

css盒子模型详解一的更多相关文章

  1. CSS盒模型详解(图文教程)

    本文最初发表于博客园,并在GitHub上持续更新.以下是正文. 盒子模型 前言 盒子模型,英文即box model.无论是div.span.还是a都是盒子. 但是,图片.表单元素一律看作是文本,它们并 ...

  2. CSS中的盒子模型详解

    很多人对盒子模型搞晕头了,下面通过一个简单的代码来分析盒子模型的结构! 为了方便方便观看!在第一个div中画了一个表格,并将其尺寸设置成与div内容大小一样!且设置body的margin和paddin ...

  3. 2017年总结的前端文章——CSS盒模型详解

    CSS的盒模型是CSS的基础,同时也是难点,这个问题经常在面试中会被问到,属于经典问题了.很多博客里讲得也很模糊不清,于是,我在这里重新整理一下. 可以认为每个html标签都是一个方块,然后这个方块又 ...

  4. web@css盒模型详解

    Margin(外边距) - 清除边框外的区域,外边距是透明的./*上 右 下 左*/ 上 左右 下 /*上下 左右*/ 四方 /Border(边框) - 围绕在内边距和内容外的边框.      可以用 ...

  5. CSS盒子模型之详解

    前言:        盒子模型是css中最核心的基础知识,理解了这个重要的概念才能更好的排版,进行页面布局.一.css盒子模型概念    CSS盒子模型 又称框模型 (Box Model) ,包含了元 ...

  6. css 06-CSS盒模型详解

    06-CSS盒模型详解 #盒子模型 #前言 盒子模型,英文即box model.无论是div.span.还是a都是盒子. 但是,图片.表单元素一律看作是文本,它们并不是盒子.这个很好理解,比如说,一张 ...

  7. ASP.NET Core的配置(2):配置模型详解

    在上面一章我们以实例演示的方式介绍了几种读取配置的几种方式,其中涉及到三个重要的对象,它们分别是承载结构化配置信息的Configuration,提供原始配置源数据的ConfigurationProvi ...

  8. 深入理解CSS盒子模型

    在CSS中浮动.定位和盒子模型,都是很核心的东西,其中盒子模型是CSS很重要基石之一,感觉还是很有必要把CSS盒子模型相关知识更新一下...... CSS盒子模型<BoxModel>示意图 ...

  9. [转]CSS hack大全&详解

    转自:CSS hack大全&详解 1.什么是CSS hack? CSS hack是通过在CSS样式中加入一些特殊的符号,让不同的浏览器识别不同的符号(什么样的浏览器识别什么样的符号是有标准的, ...

随机推荐

  1. KVM 存储虚拟化

    KVM 的存储虚拟化是通过存储池(Storage Pool)和卷(Volume)来管理的. Storage Pool 是宿主机上可以看到的一片存储空间,可以是多种类型,后面会详细讨论.Volume 是 ...

  2. 2017-10-28-morning-清北模拟赛

    T1 立方数(cubic) Time Limit:1000ms   Memory Limit:128MB 题目描述 LYK定义了一个数叫“立方数”,若一个数可以被写作是一个正整数的3次方,则这个数就是 ...

  3. js中的offsetParent,offsetLeft,offsetTop及jquery的offset(),position()比较

    1.offsetParent 元素的offsetParent并不是元素的父元素,判断元素的offsetParent要根据以下情况: 1)当DOM结构层次中的元素均没有进行css定位(设置positio ...

  4. Go视频教程整理转

    Go视频教程整理 [Go Web基础]01博客项目设计 |Go视频教程|Go语言基础 http://www.tudou.com/programs/view/gXZb9tGNsGU/ [Go Web基础 ...

  5. sql 添加自定义排序

    Mysql : SELECT (@i:=@i+1) AS ind ,字段 FROM 表名 别名, (SELECT @i:=0) t WHERE `IsDeleted` = 0; Oracle: 本就有 ...

  6. ReactNavtive框架教程(3)

    原文:http://www.raywenderlich.com/99473/introducing-react-native-building-apps-javascript 注意:全部图片放在了百度 ...

  7. 天下文章一大抄 之 修改excel 创建时间

    Sub ChangeDate()ThisWorkbook.BuiltinDocumentProperties("Creation Date") = #2 28 2016 13:25 ...

  8. AWS向中国有限预览客户推出多级别AWS支持服务

     2014年9月26日 在AWS中国(北京)区域有限预览服务开展的过程中.很多客户都提出了对AWS支持服务(AWS Support)的需求. AWS客户在向云端部署系统,日常运营维护以及关键性项目实 ...

  9. Android Camera 拍照 三星BUG总结

    Android Camera 三星BUG  : 近期在Android项目中使用拍照功能 , 其他型号的手机执行成功了  只有在三星的相机上遇到了bug . BUG详细体现为 : (1) 摄像头拍照后图 ...

  10. Dynamics CRM 2015中的SSRS Report集成配置

    大家应该都知道.Dynamics CRM能集成SSRS Report,而且我也在之前的博文中讨论过怎样制作一个简单的SSRS Report并部署到Dynamics CRM中.今天我们来看看一些比較有用 ...