css3 Box model 与 Box-sizing
1、Box Model(盒模型)
CSS中的Box Model分为两种:第一种是W3C的标准模型,另一种是IE的传统模型。它们的相同之处是对元素的width、height、padding、border、margin以及元素实际尺寸的计算关系,而它们的不同之处则是两者的计算方法不一致。
1)、W3C的标准Box Model:
/*外盒尺寸计算(元素空间尺寸)*/
Element空间高度 = content height + padding + border + margin
Element空间宽度 = content weight + padding + border + margin
/*内盒尺寸计算(元素大小)*/
Element Height = content height + padding + border
Element Weight = content weight + padding + border
2)、IE传统下的Box Model(IE6以下,不含IE6版本)
/*外盒尺寸计算(元素空间尺寸)*/
Element空间高度 = Content Height + margin(Height包含了元素内容高度、边框高度、内边距高度)
Element空间宽度 = Content Weight + margin(Height包含了元素内容宽度、边框宽度、内边距宽度)
/*内盒尺寸计算(元素大小)*/
Element Height = content Height(Height包含了元素内容高度、边框高度、内边框高度)
Element Weight = content Weight(Weight包含了元素内容宽度、边框宽度、内边框宽度)
目前浏览器大部分元素都是基于W3C标准的Box Model,但对于form中的部分元素还是基于传统的Box Model上,比如:input中的submit、reset、button和select等元素,这样,如果我们给其设置border和padding,它也只会向内延伸。
2、Box-sizing : content-box | border-box | inherit
1)、content-box:此值为其默认值,其让元素维持W3C标准的Box Model展示,也就是说元素的宽度(weight)和高度(height)等于元素边框(border)加上 元素的内边距(padding) 加上 元素内容的宽度(content width)或高度(content height)
2)、border-box:此值让元素维持IE传统的Box Model(IE6以下版本)展示,也就是说元素的宽度(weight)和高度(height)等于元素内容的宽度(content weight)和高度(content height)。这里的content width和content height包含了元素的border、padding、content width和content height
box-sizing现在的浏览器都支持,但IE家庭里只有IE8以上版本才支持,虽然现代的浏览器都支持,但有些浏览器还是需要加上自己的前缀,Mozilla需要加上 -moz-,Webkit内核需要加上-webkit-,Presto内核需要加上-0-,IE8需要加上-ms-,所以box-sizing兼容浏览器时需要加上各自的前缀。
/*Content box*/
Element {
-moz-box-sizing:content-box;
-webkit-box-sizing:content-box;
-o-box-sizing:content-box;
-ms-box-sizing:content-box;
box-sizing:content-box;
}
/*Border box*/
Element {
-moz-box-sizing:border-box;
-webkit-box-sizing:border-box;
-o-box-sizing:border-box;
-ms-box-sizing:border-box;
box-sizing:border-box;
}
css3 Box model 与 Box-sizing的更多相关文章
- CSS Box Model All In One
CSS Box Model All In One CSS 盒子模型 All In One CSS Box Model CSS Box Model Module Level 3 W3C Working ...
- HTML和CSS的盒子模型(Box model)
本文作为属性篇的最后一篇文章, 将讲述HTML和CSS的关键—盒子模型(Box model). 理解Box model的关键便是margin和padding属性, 而正确理解这两个属性也是学习用css ...
- CSS3与页面布局学习总结(二)——Box Model、边距折叠、内联与块标签、CSSReset
一.盒子模型(Box Model) 盒子模型也有人称为框模型,HTML中的多数元素都会在浏览器中生成一个矩形的区域,每个区域包含四个组成部分,从外向内依次是:外边距(Margin).边框(Border ...
- CSS3与页面布局学习笔记(二)——盒子模型(Box Model)、边距折叠、内联与块标签、CSSReset
一.盒子模型(Box Model) 盒子模型也有人称为框模型,HTML中的多数元素都会在浏览器中生成一个矩形的区域,每个区域包含四个组成部分,从外向内依次是:外边距(Margin).边框(Border ...
- CSS3与页面布局学习总结——Box Model、边距折叠、内联与块标签、CSSReset
目录 一.盒子模型(Box Model) 1.1.宽度测试 1.2.溢出测试 1.3.box-sizing属性 1.4.利用CSS画图 二.边距折叠 2.1.概要 2.2.垂直方向外边距合并计算 三. ...
- Box Model,边距折叠,内联和块标签,CSSReset
一.盒子模型(Box Model) 1.1.宽度测试 1.2.溢出测试 1.3.box-sizing属性 1.4.利用CSS画图 二.边距折叠 2.1.概要 2.2.垂直方向外边距合并计算 三.内联与 ...
- CSS魔法堂:重新认识Box Model、IFC、BFC和Collapsing margins
前言 盒子模型作为CSS基础中的基础,曾一度以为掌握了IE和W3C标准下的块级盒子模型即可,但近日在学习行级盒子模型时发现原来当初是如此幼稚可笑.本文尝试全面叙述块级.行级盒子模型的特性.作为近日 ...
- 重新认识Box Model、IFC、BFC和Collapsing margins
尊重原创,转载自: http://www.cnblogs.com/fsjohnhuang/p/5259121.html 肥子John^_^ 前言 盒子模型作为CSS基础中的基础,曾一度以为掌握了I ...
- 盒子模型(Box Model)
盒子模型(Box Model) ■ 盒子模型——概念 在网页设计中常用的属性名:内容(content),填充(padding),边框(border),边界(margin),CSS 盒子模式都具备这些属 ...
随机推荐
- 教你用python打造WiFiddos
本文来源于i春秋学院,未经允许严禁转载. 0x00 前言因为在百度上很难找到有关于用python打造WiFidos的工具的,而且不希望大家成为一名脚本小子,所以我打算写一篇,需要的工具有scapy,i ...
- Android 经验之文件下载
在Android 开发中,我们肯定会接触到下载需求,那么如何通过技术实现呢? 一.简单实现: 通过了解HTTP原理,我们应该可以知道,HTTP学习的时候,可以通过HTTPGET方式来进行文件下载: n ...
- HTTP 协议支持的十种方法
GET 获取资源,用来请求访问已被URI识别的资源. POST 传输实体主体. PUT 传输文件,(鉴于HTTP/1.1的PUT方法自身不带验证机制,任何人都可以上传文件,存在安全性问题,因此一般We ...
- Java学习笔记32(集合框架六:Map接口)
Map接口与Collection不同: Collection中的集合元素是孤立的,可理解为单身,是一个一个存进去的,称为单列集合 Map中的集合元素是成对存在的,可理解为夫妻,是一对一对存进去的,称为 ...
- 认识不一定熟悉的opencv
对很多人来说,opencv就像在旅行路上遇到的某个人,很有可能,这个只是你生命中的匆匆过客.可是,对于一个立志要做熟悉图像处理的人来说,你不能绕过他. 他是什么? OpenCV是一个基于BSD许可(开 ...
- LeetCode: 107_Binary Tree Level Order Traversal II | 二叉树自底向上的层次遍历 | Easy
本题和上题一样同属于层次遍历,不同的是本题从底层往上遍历,如下: 代码如下: struct TreeNode { int val; TreeNode* left; TreeNode* right; T ...
- [视频]K8飞刀 BadUSB Teensy自动种马演示教程
[视频]K8飞刀 Teensy USB自动种马演示教程 链接: https://pan.baidu.com/s/13bM1XSLrhlf90FDmPGfo1g 提取码: gy2q 源码:https:/ ...
- [视频]K8飞刀 Discuz csrf Exp教程
[视频]K8飞刀 一键构造Discuz csrf Exp教程 链接:https://pan.baidu.com/s/1tVseP_ZBneKpXQueIncPcA 提取码:6qnh
- Django--分页器(paginator)
1 Django的分页器(paginator)简介 在页面显示分页数据,需要用到Django分页器组件 from django.core.paginator import Paginator Pagi ...
- 第六章:四大组件之Activity
tivityActivity作为Android四大组件之一,也是其中最重要的一个组件.作为一个与用户交互的组件,我们可以把Activity比较成为windows系统上的一个文件夹窗口,是一个与用户交互 ...