谈谈对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绘制三角形的简单方法
Jul 17 HTML / CSS
CSS3的column-fill属性对齐列内容高度的用法详解
Jul 01 HTML / CSS
浅谈css3新单位vw、vh、vmin、vmax的使用详解
Dec 01 HTML / CSS
css3 column实现卡片瀑布流布局的示例代码
Jun 22 HTML / CSS
CSS3实现苹果手机解锁的字体闪亮效果示例
Jan 05 HTML / CSS
html5拖曳操作 HTML5实现网页元素的拖放操作
Jan 02 HTML / CSS
html5贪吃蛇游戏使用63行代码完美实现
Jun 25 HTML / CSS
HTML5图片预览实例分享
Jun 04 HTML / CSS
浅析移动设备HTML5页面布局
Dec 01 HTML / CSS
canvas环形倒计时组件的示例代码
Jun 14 HTML / CSS
AmazeUI 图标的示例代码
Aug 13 HTML / CSS
CSS 实现角标效果的完整代码
Jun 28 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图片自动裁切应付不同尺寸的显示
2014/10/16 PHP
php实现的用户查询类实例
2015/06/18 PHP
jquery中的on方法使用介绍
2013/12/29 Javascript
JS+JSP checkBox 全选具体实现
2014/01/02 Javascript
CSS3实现动态背景登录框的代码
2015/07/28 Javascript
jquery插件方式实现table查询功能的简单实例
2016/06/06 Javascript
JavaScript中如何使用cookie实现记住密码功能及cookie相关函数介绍
2016/11/10 Javascript
jQuery中$.grep() 过滤函数 数组过滤
2016/11/22 Javascript
js实现倒计时效果(小于10补零)
2017/03/08 Javascript
JS变量及其作用域
2017/03/29 Javascript
jQuery简单绑定单个事件的方法示例
2017/06/10 jQuery
原生js实现简单的焦点图效果实例
2017/12/14 Javascript
深入浅出 Vue 系列 -- 数据劫持实现原理
2019/04/23 Javascript
python中的一些类型转换函数小结
2013/02/10 Python
Python常见数据结构详解
2014/07/24 Python
python数组复制拷贝的实现方法
2015/06/09 Python
Python的dict字典结构操作方法学习笔记
2016/05/07 Python
Python遍历文件夹和读写文件的实现代码
2016/08/28 Python
用Python一键搭建Http服务器的方法
2018/06/01 Python
python numpy和list查询其中某个数的个数及定位方法
2018/06/27 Python
python中嵌套函数的实操步骤
2019/02/27 Python
python 批量解压压缩文件的实例代码
2019/06/27 Python
python进程池实现的多进程文件夹copy器完整示例
2019/11/27 Python
pytorch程序异常后删除占用的显存操作
2020/01/13 Python
pycharm快捷键汇总
2020/02/14 Python
python 画条形图(柱状图)实例
2020/04/24 Python
python简单实现插入排序实例代码
2020/12/16 Python
python中常用的数据结构介绍
2021/01/12 Python
一套PHP的笔试题
2013/05/31 面试题
新闻编辑自荐信
2013/11/03 职场文书
2014年党务公开方案
2014/05/08 职场文书
党的群众路线教育实践活动对照检查材料
2014/09/22 职场文书
2014年机关工会工作总结
2014/12/19 职场文书
教师听课学习心得体会
2016/01/15 职场文书
如何使用Python对NetCDF数据做空间相关分析
2021/04/21 Python
Java时间工具类Date的常用处理方法
2022/05/25 Java/Android