后端程序员前端之路04--盒子模型详解

目录

  • 图解
  • 盒模型尺寸基准
  • 使用浏览器的开发者工具,查看元素高(宽)度时,遇到的问题

一、图解

说明:由内而外依次是content、padding(内边距)、border(边框)、margin(外边距)。

举个例子:一个快递车里放了许多快递包裹(盒子包装的),每个包裹里面又放了不同的东西。

content:真正容纳其他东西的区域。比如快递车的content,就是那些包裹所处的那个空间;

而每个包裹的content,就是那些东西所处的空间。

                    content里面可以放置 其他元素、文本、图片等

border: 盒子的边框。比如快递车的那个铁皮,包裹外层的那个盒子。

                    可以指定边框的颜色、粗细(width)、样式等。

padding:content到border之间的距离。

margin: 包裹和包裹之间的距离。这个距离可以是负的,因为可以相互叠加。

注意事项:由于各个浏览器会对元素的margin、padding值进行不同值的初始化。

所以每次写样式时,需要对页面内涉及到的元素进行初始化

/* 将当前页面内涉及的元素表签列出来 */
body,div,span{
    margin:0px;
    padding:0px;
}

二、盒模型尺寸基准

默认情况下,设置一个元素的width、height,其实设置的就是content的宽度和高度。

Q:那这个元素的实际宽度、实际高度是多少呢?

 A:实际宽度=左margin + 左border + 左padding + content + 右padding + 右border + 友margin ;实际高度同理。

Q:那么问题来了,我如果想直接设置某个元素的实际高度怎么办呢?

 A:CSS3新增加了一个属性box-sizing就是用来解决这个问题。它有三个值:content-box、border-box、inherit。

          content-box:就是通常的默认情况,指的是content的高度、宽度。

          border-box :字面意思不难看出,指的就是border以内(包含border)的高度、宽度。

                 inherit:从父级元素继承box-sizing属性的值。

三、使用浏览器的开发者工具,查看元素高(宽)度时,遇到的问题

使用谷歌浏览器审查元素功能时,它会职能的提示出当前元素的高度、宽度。但经过计算元素的实际高度、宽度,发现与提示的信息不一致。

<style>
   div {
            width: 200px;
            padding: 20px;
            border: 1px solid red;
            margin: 10px;
        }
</style>

<div>文本内容</div>

通过计算得出,div的实际宽度= 10 + 1 + 20 + 200 + 20 + 1 + 10 = 262px;

而开发者工具展示出来的结果为242px,差了20px;

通过调整不同参数,最后得出结论为: 审查元素计算出来的结果是不包括 margin值的。

时间: 2024-08-04 01:16:11

后端程序员前端之路04--盒子模型详解的相关文章

【系列】后端程序员前端之路(2016/3/24更新)

后端程序员前端之路01 后端程序员前端之路02--CSS选择器详解 后端程序员前端之路03--HTML语义化 后端程序员前端之路04--html元素分类 后端程序员前端之路05--盒子模型详解 后端程序员前端之路06--布局模型,颜色值,长度值 --不断更新中,如果有帮助到你,请点“推荐”.你的支持,是我坚持的动力O(∩_∩)O谢谢~

后端程序员前端之路04--html元素分类

目录 块级元素 内联元素 内联块级元素  总结 一.块级元素(block) 定义:默认情况下,独占一行的元素就是块级元素. 特点: 每个块级元素都从新的一行开始,并且其后的元素也另起一行.(真霸道,一个块级元素独占一行) 元素的高度.宽度.行高以及顶和底边距都可设置 元素宽度在不设置的情况下,是它本身父容器的100%(和父元素的宽度一致). 常见的块级元素:<div>.<p>.<h1>...<h6>.<ol>.<ul>.<dl&

后端程序员前端之路03--HTML语义化

目录 什么是HTML语义化? 为什么要语义化 常用标签的语义 一.什么是HTML语义化? 简单来讲就是:每个标签做自己的事,使得能够被机器直接读懂. 二.为什么要语义化? 1.更容易被搜索引擎收录. 2.方便其他类型设备解析(如:屏幕阅读器等) 3.便于团队开发和维护. 三.常用标签的语义 标签 含义 备注 <title> 网页标题 用于告诉用户和搜索引擎,这个网页的主要内容是什么.搜索引擎可以通过网页标题,迅速判断出网页的主题. <p> 文章的段落 默认样式中,段前段后都会有空白

好程序员Java教程Java动态代理机制详解

好程序员Java教程Java动态代理机制详解:在java的动态代理机制中,有两个重要的类或接口,一个是 InvocationHandler(Interface).另一个则是 Proxy(Class),这一个类和接口是实现我们动态代理所必须用到的.首先我们先来看看java的API帮助文档是怎么样对这两个类进行描述的: InvocationHandler: 1InvocationHandler is the interface implemented by the invocation handle

程序员必知之浮点数运算原理详解

导读:浮点数运算是一个非常有技术含量的话题,不太容易掌握.许多程序员都不清楚使用==操作符比较float/double类型的话到底出现什么问题. 许多人使用float/double进行货币计算时经常会犯错.这篇文章是这一系列中的精华,所有的软件开发人员都应该读一下. 随着你经验的增长,你肯定 想去深入了解一些常见的东西的细节,浮点数运算就是其中之一. 1. 什么是浮点数? 在计算机系统的发展过程中,曾经提出过多种方法表达实数. [1]典型的比如相对于浮点数的定点数(Fixed Point Num

【转载】程序员必知之浮点数运算原理详解

https://blog.csdn.net/tercel_zhang/article/details/52537726 导读:浮点数运算是一个非常有技术含量的话题,不太容易掌握.许多程序员都不清楚使用==操作符比较float/double类型的话到底出现什么问题. 许多人使用float/double进行货币计算时经常会犯错.这篇文章是这一系列中的精华,所有的软件开发人员都应该读一下. 随着你经验的增长,你肯定 想去深入了解一些常见的东西的细节,浮点数运算就是其中之一. 1. 什么是浮点数? 在计

CSS中的盒子模型详解

很多人对盒子模型搞晕头了,下面通过一个简单的代码来分析盒子模型的结构! 为了方便方便观看!在第一个div中画了一个表格,并将其尺寸设置成与div内容大小一样!且设置body的margin和padding的属性都为0px: 本例子采用行内CSS样式! 代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//

17-css盒子模型详解

CSS盒子模型******一个盒子是由以下几个部分构成: 1.盒子中的内容----content 2.盒子的边框----border 3.盒子的边框与内容之间的距离,称为填充----padding,内边距(内补丁) 4.多个盒子存在时,盒子与盒子之间的距离,称之为边界----margin,外边距(外补丁)*****盒子所在的实际宽度为例=左右边界+左右边框+左右内填充******CSS盒子的相关属性 [1].内容属性:内容本身的宽=width,内容本身的高=height [2].内填充属性:内容

【好程序员笔记分享】——UIView与CALayer详解

-iOS培训,iOS学习-------型技术博客.期待与您交流!------------ UIView与CALayer详解 研究Core Animation已经有段时间了,关于Core Animation,网上没什么好的介绍.苹果网站上有篇专门的总结性介绍,但是似乎原理性的东西不多,看得人云山雾罩,感觉,写那篇东西的人,其实是假 设读的人了解界面动画技术的原理的.今天有点别的事情要使用Linux,忘掉了ssh的密码,没办法重新设ssh,结果怎么也想不起来怎么设ssh远程登 陆了,没办法又到网上查