什么是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. idea打包SpringBoot项目打包成jar包和war

    - 打包成jar包 1. <groupId>com.squpt.springboot</groupId> <artifactId>springbootdemo< ...

  2. 准备 KVM 实验环境

    KVM 是 OpenStack 使用最广泛的 Hypervisor,本节介绍如何搭建 KVM 实验环境 安装 KVM 上一节说了,KVM 是 2 型虚拟化,是运行在操作系统之上的,所以我们先要装一个 ...

  3. h5表单验证的css和js方法

    1.css3 提示只适用于高级浏览器: Chrome,Firefox,Safari,IE9+ valid.invalid.required的定义 代码如下: input:required, input ...

  4. python(3)- 常用快捷键及基础命令

  5. ROS安装环境配置及多版本的切换

    环境配置: 为方便起见,我们可以在每次打开终端时让系统自动配置好ROS环境变量,方法如下: echo "source /opt/ros/hydro/setup.bash" > ...

  6. UVA 11346 Probability

    题目描述 PDF 输入输出格式 输入格式: 输出格式: 输入输出样例 输入样例#1: 3 10 5 20 1 1 1 2 2 0 输出样例#1: 23.348371% 0.000000% 100.00 ...

  7. Hadoop安装和基本单机部署

    下载安装  # 下载 $ cd /usr/local $ wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.9.2/hadoo ...

  8. Mongdb和Spring的整合

    我自己的实现: 代码:https://github.com/littlecarzz/spring-data-mongodb 我使用的是spring-data-mongodb包,因为springboot ...

  9. python 工具ScreenShoot

    环境:windows python3 # -*- coding: UTF-8 -*- import time import os, win32gui, win32ui, win32con, win32 ...

  10. win10中显示wpcap.dll丢失的处理方式

    win10中显示wpcap.dll丢失的处理方式 学习了:https://jingyan.baidu.com/article/4f34706e30e673e387b56dd8.html 直接安装Win ...