谈谈对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打包后自动追加前缀插件:autoprefixer
Dec 18 HTML / CSS
详解如何使用CSS3中的结构伪类选择器和伪元素选择器
Jan 06 HTML / CSS
HTML高亮关键字的实现代码
Oct 22 HTML / CSS
HTML5实现分享到微信好友朋友圈QQ好友QQ空间微博二维码功能
Jan 03 HTML / CSS
HTML5 Canvas标签使用收录
Jul 07 HTML / CSS
HTML5的自定义属性data-*详细介绍和JS操作实例
Apr 10 HTML / CSS
HTML5拍照和摄像机功能实战详解
Jan 24 HTML / CSS
HTML实现代码雨源码及效果示例
Feb 25 HTML / CSS
amazeui时间组件的实现示例
Aug 18 HTML / CSS
CSS极坐标的实例代码
Jun 03 HTML / CSS
开发微信小程序之WXSS样式教程
Apr 18 HTML / CSS
HTML 里 img 元素的 src 和 srcset 属性的区别详解
May 21 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
中国收音机工业发展史
2021/03/02 无线电
一些花式咖啡的配方
2021/03/03 冲泡冲煮
自定义min版smarty模板引擎MinSmarty.class.php文件及用法
2016/05/20 PHP
php+ajax实现带进度条的上传图片功能【附demo源码下载】
2016/09/14 PHP
PHP实现基于栈的后缀表达式求值功能
2017/11/10 PHP
PHP goto语句用法实例
2019/08/06 PHP
Prototype使用指南之base.js
2007/01/10 Javascript
jQuery Ajax 全解析
2009/02/08 Javascript
初识javascript 文档碎片
2010/07/13 Javascript
php对mongodb的扩展(小试牛刀)
2012/11/11 Javascript
JS根据浏览器窗口大小实时动态改变网页文字大小的方法
2016/02/25 Javascript
javaScript事件学习小结(四)event的公共成员(属性和方法)
2016/06/09 Javascript
jquery插件锦集【推荐】
2016/12/16 Javascript
JS设置随机出现2个数字的实例代码
2017/07/19 Javascript
基于 Vue 实现一个酷炫的 menu插件
2017/11/14 Javascript
vue页面跳转后返回原页面初始位置方法
2018/02/11 Javascript
jQuery模拟12306城市选择框功能简单实现方法示例
2018/08/13 jQuery
js实现全选反选不选功能代码详解
2019/04/24 Javascript
JavaScript中工厂函数与构造函数示例详解
2019/05/06 Javascript
在Angular项目使用socket.io实现通信的方法
2021/01/05 Javascript
python实现的用于搜索文件并进行内容替换的类实例
2015/06/28 Python
详解python上传文件和字符到PHP服务器
2017/11/24 Python
Python语言的变量认识及操作方法
2018/02/11 Python
使用python 打开文件并做匹配处理的实例
2019/01/02 Python
python opencv实现图像边缘检测
2019/04/29 Python
通过python实现随机交换礼物程序详解
2019/07/10 Python
python序列类型种类详解
2020/02/26 Python
Django实现列表页商品数据返回教程
2020/04/03 Python
英国虚拟主机服务商:eUKhost
2016/08/16 全球购物
宝拉珍选澳大利亚官方购物网站:Paula’s Choice澳大利亚
2016/09/13 全球购物
国贸专业个人求职信分享
2013/12/04 职场文书
店铺转让协议书
2014/12/02 职场文书
2014年体检中心工作总结
2014/12/23 职场文书
面试被问select......for update会锁表还是锁行
2021/11/11 MySQL
Python实现提取PDF简历信息并存入Excel
2022/04/02 Python
windows安装 redis 6.2.6最新步骤详解
2022/04/26 Redis