谈谈对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动画事件—webkitAnimationEnd与计时器time事件
Jan 31 HTML / CSS
CSS3旋转——彩色扇子兼容firefox浏览器
Jun 04 HTML / CSS
纯CSS实现的大小渐变、渐远效果
Apr 15 HTML / CSS
细说CSS3中box属性中的overflow-x属性和overflow-y属性值的效果
Jul 21 HTML / CSS
css3编写浏览器背景渐变背景色的方法
Mar 05 HTML / CSS
详解CSS3中的box-sizing(content-box与border-box)
Apr 19 HTML / CSS
CSS3 @media的基本用法总结
Sep 10 HTML / CSS
CSS3制作3D立方体loading特效
Nov 09 HTML / CSS
html5+svg学习指南之SVG基础知识
Dec 17 HTML / CSS
利用HTML5实现使用按钮控制背景音乐开关
Sep 21 HTML / CSS
html5通过postMessage进行跨域通信的方法
Dec 04 HTML / CSS
Html5移动端适配IphoneX等机型的方法
Jun 25 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中使用Akismet防止垃圾评论的代码
2011/06/10 PHP
PHP采集腾讯微博的实现代码
2012/01/19 PHP
PHP技术开发微信公众平台
2015/07/22 PHP
Autocomplete Textbox Example javascript实现自动完成成功
2007/08/17 Javascript
JQuery对class属性的操作实现按钮开关效果
2013/10/11 Javascript
jQuery中DOM树操作之复制元素的方法
2015/01/23 Javascript
jQuery插件formValidator实现表单验证
2016/05/23 Javascript
JS实现图片局部放大或缩小的方法
2016/08/20 Javascript
JavaScript中闭包之浅析解读(必看篇)
2016/08/25 Javascript
vue2.0开发实践总结之入门篇
2016/12/06 Javascript
微信小程序侧边栏滑动特效(左右滑动)
2017/01/23 Javascript
AngularJS 购物车全选/取消全选功能的实现方法
2017/08/14 Javascript
JS运动特效之完美运动框架实例分析
2018/01/24 Javascript
vue之a-table中实现清空选中的数据
2019/11/07 Javascript
Angular+Ionic使用queryParams实现跳转页传值的方法
2020/09/05 Javascript
vue 导航守卫和axios拦截器有哪些区别
2020/12/19 Vue.js
[26:52]LGD vs EG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
在Python中分别打印列表中的每一个元素方法
2018/11/07 Python
pandas 将索引值相加的方法
2018/11/15 Python
python批量解压zip文件的方法
2019/08/20 Python
python中rc1什么意思
2020/06/19 Python
python中如何打包用户自定义模块
2020/09/23 Python
python实现企业微信定时发送文本消息的示例代码
2020/11/24 Python
Annoushka英国官网:英国奢侈珠宝品牌
2018/10/20 全球购物
澳大利亚儿童精品仓库:Goo & Co.
2019/06/20 全球购物
英国著名药妆店:Superdrug
2021/02/13 全球购物
Structs界面控制层技术
2013/10/11 面试题
团支书的期末学习总结自我评价
2013/11/01 职场文书
给护士表扬信
2014/01/19 职场文书
绩效考核实施方案
2014/03/18 职场文书
小学师德标兵先进事迹材料
2014/05/25 职场文书
副校长个人对照检查材料思想汇报
2014/10/04 职场文书
表扬通报怎么写
2015/01/16 职场文书
Python实现归一化算法详情
2022/03/18 Python
Win11应用商店打开闪退怎么解决? win11应用商店打不开的多种解决办法
2022/04/05 数码科技
Python中tqdm的使用和例子
2022/09/23 Python