css 盒子模型理解

一、css盒子模型概念

css盒子模型 又称框模型 (Box Model) ,包含了元素内容(content)、内边距(padding)、边框(border)、外边距(margin)几个要素。如图:

  • Margin(外边距) - 清除边框外的区域,外边距是透明的。
  • Border(边框) - 围绕在内边距和内容外的边框。
  • Padding(内边距) - 清除内容周围的区域,内边距是透明的。
  • Content(内容) - 盒子的内容,显示文本和图像。

实例

  1. div {
  2. width: 300px;
  3. border: 5px solid green;
  4. padding: 15px;
  5. margin: 25px;
  6. }

图中最内部的框是元素的实际内容,也就是元素框,紧挨着元素框外部的是内边距padding,其次是边框(border),然后最外层是外边距(margin),整个构成了框模型。通常我们设置的背景显示区域,就是内容、内边距、边框这一块范围。而外边距margin是透明的,不会遮挡周边的其他元素。
元素框的总宽度 = 元素(element)的width + padding的左边距和右边距的值 + margin的左边距和右边距的值 + border的左右宽度;
元素框的总高度 = 元素(element)的height + padding的上下边距的值 + margin的上下边距的值 + border的上下宽度。

二、box-sizing属性介绍

1、属性定义及使用说明

box-sizing 属性定义计算一个元素的总宽度和总高度,主要设置是否需要加上内边距(padding)和边框等。
默认情况下,元素的宽度(width) 和高度(height)计算方式如下:

  1. width(宽度) + padding(内边距) + border(边框) = 元素实际宽度
  2. height(高度) + padding(内边距) + border(边框) = 元素实际高度

2、语法 box-sizing : content-box|border-box|inherit;

(1) content-box ,默认值,可以使设置的宽度和高度值应用到元素的内容框。盒子的width只包含内容。
即总宽度=margin+border+padding+width
(2) border-box , 设置的width值其实是除margin外的border+padding+element的总宽度。盒子的width包含border+padding+内容
即总宽度=margin+width
(3) inherit , 规定应从父元素继承 box-sizing 属性的值

3.实例

  1. div {
  2. box-sizing: border-box;
  3. width: 300px;
  4. border: 25px solid green;
  5. padding: 25px;
  6. }

注意:

1 一个box宽度为100%,又想要两边有内间距,这时候用就比较好
2 全局设置 border-box 很好,首先它符合直觉,其次它可以省去一次又一次的加加减减,它还有一个关键作用——让有边框的盒子正常使用百分比宽度。

更多相关文章

  1. html表单、元素的来源及csss外部样式和上下文选择器
  2. 学习基本元素布局视窗
  3. 初识HTML元素——列表
  4. 初识HTML元素——表格
  5. php判断数组元素不为空格实例代码
  6. 尝试用css各类选择器添加样式制作一个注册表单
  7. 阿里素材库字体小图标使用及元素布局与盒元素总结
  8. phpquery中文手册
  9. Javascript数组

随机推荐

  1. PXE+kickstart无人值守装机
  2. 超全的pandas数据分析常用函数总结:下篇
  3. 小型的编程项目有哪些值得推荐?这本神书写
  4. 聊聊 print 的前世今生
  5. java基础知识
  6. Java常用的时间工具类DateTimeUtils.java
  7. 手把手带你爬天猫,获取杜蕾斯评论数据
  8. Oracle19c_cdb数据库自动安装部署脚本
  9. 当谈论迭代器时,我谈些什么?
  10. Python 之父撰文回忆:为什么要创造 pgen