在辨析两种盒子模型之前。先简单说明一下什么叫盒子模型。

原理:

先说说我们在网页设计中常听的属性名:内容(content)、填充(padding)、边框(border)、边界(margin), CSS盒子模式都具备这些属性。
这些属性我们能够把它转移到我们日常生活中的盒子(箱子)上来理解。日常生活中所见的盒子也就是能装东西的一种箱子,也具有这些属性,所以叫它盒子模式。

特点:

每一个盒子都有:边界、边框、填充、内容四个属性。
每一个属性都包含四个部分:上、右、下、左。这四部分可同一时候设置。也可分别设置;里的抗震辅料厚度,而边框有大小和颜色之分,我们又能够理解为生活中所见盒子的厚度以及这个盒子是用什么颜色材料做成的。边界就是该盒子与其他东西要保留多大距离。(以上原理与特点摘于百度



以下这幅图里面,各自是W3C盒子和IE盒子的模型:



大家肯定都能发现。这两种模型总体来说很的相似。由内到外都是content,padding,border,margin。

可是细致看的话,虚线延长出来的部分,分别标注了height和width,可是在W3C中,虚线包围的部分仅仅有content。而在IE中,虚线包围的部分是content+padding+border。

这是最直观的不同。同一时候这也就是这两种模型的最大不同点。

W3C 盒子模型的范围包括 margin、border、padding、content,而且 content 部分不包括其它部分

IE 盒子模型的范围也包括 margin、border、padding、content,和标准 W3C 盒子模型不同的是:IE 盒子模型的 content 部分包括了 border 和 padding



用一个样例来实现一下W3C盒子模型:

<html>
<head>
<title>盒子模型</title>
<style>
#box{
width:100px;
height:100px; padding:40px; border:solid 40px green; margin:20px;
}
div{
font-size:30px;
color:red;
background-color:gray;
text-align:center; }
</style>
</head>
<body>
<div id="box">
W3C盒子模型
</div>
</body>
</html>

执行结果:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd3pxbmxz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

这张图仅仅能看到内容和边框。看不到详细的分界线,也就不知道填充(padding)和内容(content)详细的排布。

这里我就顺便介绍一中调试工具,firefox浏览器里面的firebug,对于平时调试网页布局各方面的有非常大的帮助。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd3pxbmxz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

调试界面就是这样了。鼠标选中<div>标签,图像就发生变化了。总体布局就非常清晰了。

(例如以下图)



这就非常清晰了吧。同一时候也说明了W3C盒子包括了content,padding,border三部分。

IE盒子的就不写了,有须要的同学能够自己试试。眼下大多的网页布局都是用W3C盒子,它的兼容性很好。所以是不二之选。

DIV+CSS两种盒子模型(W3C盒子与IE盒子)的更多相关文章

  1. DIV+CSS两种盒子模型

    盒子模型有两种,分别是 IE 盒子模型和标准 W3C 盒子模型.他们对盒子模型的解释各不相同, 先来看看我们熟悉的标准盒子模型: 从上图可以看到标准 W3C 盒子模型的范围包括 margin.bord ...

  2. 盒子模型 W3C中和IE中盒子的总宽度分别是什么

    W3C盒模型 总宽度 = margin-left + border-left + padding-left + width + padding-right + border-right + margi ...

  3. CSS两种盒子模型:cntent-box和border-box

    cntent-box 平时普通盒子模型,padding,border盒子会变大,向外扩展border-box 特殊盒子模型,padding,border盒子会变大,向内扩展

  4. css两种动态显示星星等级的比较(一星、两星、三星、四星、五星)

    原文:css两种动态显示星星等级的比较(一星.两星.三星.四星.五星) 以下是显示后的图片,相信在很多网站上都能看到这种效果,目前我知道两种实现方式 1.background-position加上一张 ...

  5. JMS两种消息模型

    前段时间学习EJB.接触到了JMS(Java消息服务),JMS支持两种消息模型:Point-to-Point(P2P)和Publish/Subscribe(Pub/Sub),即点对点和公布订阅模型. ...

  6. 两种Tensorflow模型保存的方法

    在Tensorflow中,有两种保存模型的方法:一种是Checkpoint,另一种是Protobuf,也就是PB格式: 一. Checkpoint方法: 1.保存时使用方法: tf.train.Sav ...

  7. 以两种异步模型应用案例,深度解析Future接口

    摘要:本文以实际案例的形式分析了两种异步模型,并从源码角度深度解析Future接口和FutureTask类. 本文分享自华为云社区<[精通高并发系列]两种异步模型与深度解析Future接口(一) ...

  8. 【高并发】两种异步模型与深度解析Future接口

    大家好,我是冰河~~ 本文有点长,但是满满的干货,以实际案例的形式分析了两种异步模型,并从源码角度深度解析Future接口和FutureTask类,希望大家踏下心来,打开你的IDE,跟着文章看源码,相 ...

  9. CSS的两种盒模型

    盒模型一共有两种模式,一种是标准模式,另一种就是怪异模式. 当你用编辑器新建一个html页面的时候你一定会发现最顶上都会有一个DOCTYPE标签,例如: <!DOCTYPE HTML PUBLI ...

随机推荐

  1. string.split 应用

    采用string.split将字符串依据分隔符,转换成字符串数组,生成的字符串数组中会包含空数组元素,需要通过StringSplitOptions.RemoveEmptyEntries参数选项去除. ...

  2. eclipse调试(debug)弹出错误

    原创:http://www.cnblogs.com/lanhj/p/3874426.html 警告信息: Cannot connect to VM com.sun.jdi.connect.Transp ...

  3. Android4.42-Settings源代码分析之蓝牙模块Bluetooth(上)

    继上一篇Android系统源代码剖析(一)---Settings 接着来介绍一下设置中某个模块的源代码.本文依然是基于Android4.42源代码进行分析,分析一下蓝牙模块的实现.建议大致看一下关于S ...

  4. FIFO的设计与仿真

    本设计参照齐威王大哥的设计,采用模块化的设计方法,每个模块简单易懂,并进行了每个模块的仿真.最后进行顶层设计,编写了测试激励在modisim上仿真正确, 下面给出代码和测试激励,附上一篇比较好的英文文 ...

  5. 19.浏览器Window服务($window)

    转自:https://www.cnblogs.com/best/tag/Angular/ 引用浏览器的window对象.默认浏览器的window是全局的根对象. 示例代码: <!DOCTYPE ...

  6. UVALive - 6269 Digital Clock 模拟

    UVALive - 6269 Digital Clock 题意:时钟坏了,给你一段连续的时间,问你现在可能的时间是多少. 思路:直接模拟,他妈的居然这场就跪在了这题,卧槽,他妈的就在111行,居然多打 ...

  7. Unix/Linux环境下多一点不如少一点

    正如很多人所知道的$PATH环境变量里存着一张目录列表,当用户要执行某一程序时,系统就会按照列表中的内容去查找该程序的位置.当程序名前不带点斜线 . / 时$PATH就会起作用. 对于普通用户和roo ...

  8. Redis的安装与启动(doc和本地客户端)

    官网 安装都是老生长谈了(这个也不错),这里推荐俩个文章看看把.:打开一个cmd窗口 使用cd命令切换目录到 C:\redis 运行 redis-server.exe redis.conf(安装的关键 ...

  9. js实现导出数据到excel

    来自:http://www.imooc.com/article/13374 //html代码<!DOCTYPE HTML> <html> <head> <ti ...

  10. Flex4之事件详解

    第一.Flex事件简介 事件贯穿于Flex应用开发的全过程.事件是ActionScript .0中最重要的部分之一,也是Flex应用程序开发的核心基础.本章将在DOM 3的基础上详细讲解ActionS ...