谈谈对css属性box-sizing的了解


Posted in HTML / CSS onJanuary 04, 2017

在了解box-sizing之前,让我们来稍稍回顾一下盒子模型,模型分为:标准盒模型+IE盒模型。那这有什么区别呢?见图所示:

从上图可以看到标准 w3c 盒子模型的范围包括 margin、border、padding、content,并且 content 部分不包含其他部分。

谈谈对css属性box-sizing的了解

从上图可以看到 ie 盒子模型的范围也包括 margin、border、padding、content,和标准 w3c 盒子模型不同的是:ie 盒子模型的 content 部分包含了 border 和 pading。

谈谈对css属性box-sizing的了解

当然前端工程师在写页面布局的时候该采取的是 标准的盒模型(需要在页面html声明处加上doctype 声明),告知浏览器按照标准盒模型的方式进行渲染页面,反之,页面会根据不用的浏览器进行解析,IE会使用IE的盒模型进行渲染,FIREFOX 和 GOOGLE等会按照标准模式惊醒渲染,显然是不合常理的。

所以为了让我们写的网页能兼容各个浏览器,最好使用标准 w3c 盒子模型。

说完了盒子模型,进入到我们这个css属性box-sizing的了解。

box-sizing的三个属性值: content-box在宽度和高度之外绘制元素的内边距和边框|border-box为元素指定的任何内边距和边框都将在已设定的宽度和高度内进行绘制|inherit规定应从父元素继承 box-sizing 属性的值;box-sizing 属性允许您以特定的方式定义匹配某个区域的特定元素。

ie8+浏览器支持content-box和border-box;

ff则支持全部三个值。

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">  
<html lang="en">  
    <head>  
        <meta charset="utf-8">  
        <title>box-sizing事项</title>  
        <style type="text/css">  
            *{padding: 0;margin: 0;font-family: "微软雅黑";box-sizing:border-box;-moz-box-sizing:border-box; /* Firefox */  
-webkit-box-sizing:border-box; /* Safari */}  
            .content{width: 800px;height: 500px;margin: 30px auto;border: 5px solid #e2e2e2;padding: 10px}  
        </style>  
    </head>  
    <body>  
        <div class="content">  
            这是内容@!  
        </div>  
    </body>  
</html>

在进行box-sizing属性修饰之后盒子得到的宽度是:770px = 800px - 10px -20px;

意思是内填充和边框在已经设定的content盒子800像素里面进行绘制,导致了content盒子的宽度为:770。

在不进行box-sizing属性修饰之后盒子得到的宽度是:800px;

谈谈对css属性box-sizing的了解

谈谈对css属性box-sizing的了解

box-sizing这个属性在我们前端开发过程中,使得页面布局显得十分整齐,简单!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
基于CSS3实现立方体自转效果
Mar 01 HTML / CSS
css3动画 小球滚动 js控制动画暂停
Nov 29 HTML / CSS
HTML5 WebGL 实现民航客机飞行监控系统
Jul 25 HTML / CSS
使用HTML5技术开发一个属于自己的超酷颜色选择器
Sep 22 HTML / CSS
浅谈html5增强的页面元素
Jun 14 HTML / CSS
HTML5拖拉上传文件的简单实例
Jan 11 HTML / CSS
详解h5页面在不同ios设备上的问题总结
Mar 01 HTML / CSS
网站性能延迟加载图像的五种技巧(小结)
Aug 13 HTML / CSS
AmazeUI 缩略图的实现示例
Aug 18 HTML / CSS
浅析HTML5 meta viewport参数
Oct 28 HTML / CSS
html+css实现赛博朋克风格按钮
May 26 HTML / CSS
CSS实现切角+边框+投影+内容背景色渐变效果
Nov 01 HTML / CSS
纯CSS3制作的鼠标悬停时边框旋转
Jan 03 #HTML / CSS
HTML5+CSS3网页加载进度条的实现,下载进度条的代码实例
Dec 30 #HTML / CSS
HTML5+CSS3实例 :canvas 模拟实现电子彩票刮刮乐代码
Dec 30 #HTML / CSS
HTML5+CSS3 诱人的实例:3D立方体旋转动画实例
Dec 30 #HTML / CSS
CSS3实现瀑布流布局与无限加载图片相册的实例代码
Dec 22 #HTML / CSS
详解CSS透明opacity和IE各版本透明度滤镜filter的最准确用法
Dec 20 #HTML / CSS
详解CSS3浏览器兼容
Dec 14 #HTML / CSS
You might like
超级好用的一个php上传图片类(随机名,缩略图,加水印)
2010/06/30 PHP
模板引擎smarty工作原理以及使用示例
2014/05/25 PHP
Yii学习总结之数据访问对象 (DAO)
2015/02/22 PHP
php定义一个参数带有默认值的函数实例分析
2015/03/16 PHP
php简单读取.vcf格式文件的方法示例
2017/09/02 PHP
利用js读取动态网站从服务器端返回的数据
2014/02/10 Javascript
JQuery调用绑定click事件的3种写法
2015/03/28 Javascript
浅析jQuery移动开发中内联按钮和分组按钮的编写
2015/12/04 Javascript
jQuery实现HTML表格单元格的合并功能
2016/04/06 Javascript
Angular.js实现注册系统的实例详解
2016/12/18 Javascript
JavaScript使用atan2来绘制箭头和曲线的实例
2017/09/14 Javascript
Node之简单的前后端交互(实例讲解)
2017/11/14 Javascript
Node.js调用fs.renameSync报错(Error: EXDEV, cross-device link not permitted)
2017/12/27 Javascript
Vue多环境代理配置方法思路详解
2019/06/21 Javascript
javascript+css实现进度条效果
2020/03/25 Javascript
python网络编程学习笔记(七):HTML和XHTML解析(HTMLParser、BeautifulSoup)
2014/06/09 Python
python动态性强类型用法实例
2015/05/09 Python
总结Python编程中三条常用的技巧
2015/05/11 Python
Python爬取个人微信朋友信息操作示例
2018/08/03 Python
Python实现深度遍历和广度遍历的方法
2019/01/22 Python
python实现windows倒计时锁屏功能
2019/07/30 Python
python 命令行传入参数实现解析
2019/08/30 Python
python中的错误如何查看
2020/07/08 Python
Ubuntu20下的Django安装的方法步骤
2021/01/24 Python
Python实现曲线拟合的最小二乘法
2021/02/19 Python
劳力士官方珠宝商:J.R. Dunn Jewelers
2018/09/29 全球购物
俄罗斯EPL钻石珠宝店:ЭПЛ
2019/10/22 全球购物
Made in Design意大利:现代家具、名家灯具和装饰
2020/10/27 全球购物
经销商培训邀请函
2014/01/21 职场文书
关于廉洁的广播稿
2014/01/30 职场文书
学生手册评语
2014/05/05 职场文书
化学专业大学生职业生涯规划范文
2014/09/13 职场文书
python中的plt.cm.Paired用法说明
2021/05/31 Python
Jupyter Notebook内使用argparse报错的解决方案
2021/06/03 Python
python中%格式表达式实例用法
2021/06/18 Python
MySQL count(*)统计总数问题汇总
2022/09/23 MySQL