谈谈对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中的5个有趣的新技术
Apr 02 HTML / CSS
移动Web—CSS为Retina屏幕替换更高质量的图片
Dec 24 HTML / CSS
浅析几个CSS3常用功能的写法
Jun 05 HTML / CSS
详解CSS 3 中的 calc() 方法
Jan 12 HTML / CSS
CSS3实现全景图特效示例代码
Mar 26 HTML / CSS
基于CSS3的animation属性实现微信拍一拍动画效果
Jun 22 HTML / CSS
HTML5 Canvas的性能提高技巧经验分享
Jul 02 HTML / CSS
浅谈html5之sse服务器发送事件EventSource介绍
Aug 28 HTML / CSS
Html5让容器充满屏幕高度或自适应剩余高度的布局实现
May 14 HTML / CSS
CSS3常见动画的实现方式
Apr 14 HTML / CSS
CSS 新特性 contain控制页面的重绘与重排问题
Apr 30 HTML / CSS
table不让td文字溢出操作方法
Dec 24 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实现Ftp用户的在线管理的代码
2007/03/06 PHP
解析PHP中DIRECTORY_SEPARATOR,PATH_SEPARATOR两个常量的作用
2013/06/21 PHP
三种php连接access数据库方法
2013/11/11 PHP
php使用ftp实现文件上传与下载功能
2017/07/21 PHP
IE中jscript/javascript的条件编译
2006/09/07 Javascript
Js 时间间隔计算的函数(间隔天数)
2011/11/15 Javascript
jquery.mobile 共同布局遇到的问题小结
2015/02/10 Javascript
Javascript核心读书有感之表达式和运算符
2015/02/11 Javascript
jquery实现标签上移、下移、置顶
2015/04/26 Javascript
JS+DIV+CSS排版布局实现美观的选项卡效果
2015/10/10 Javascript
jquery采用oop模式class类的使用示例
2016/01/22 Javascript
轻松掌握JavaScript装饰者模式
2016/08/27 Javascript
jQuery弹出div层过2秒自动消失
2016/11/29 Javascript
js学习总结之DOM2兼容处理this问题的解决方法
2017/07/27 Javascript
详解Angular4 路由设置相关
2017/08/26 Javascript
vue.js动画中的js钩子函数的实现
2018/07/06 Javascript
如何利用vue+vue-router+elementUI实现简易通讯录
2019/05/13 Javascript
Django模板继承 extend标签实例代码详解
2019/05/16 Javascript
Vue 前端实现登陆拦截及axios 拦截器的使用
2019/07/17 Javascript
[01:05:56]2018DOTA2亚洲邀请赛3月29日 小组赛A组 Newbee VS VG
2018/03/30 DOTA
Python计算一个文件里字数的方法
2015/06/15 Python
pandas 空的dataframe 插入列名的示例
2018/10/30 Python
简单了解python的break、continue、pass
2019/07/08 Python
Python 如何提高元组的可读性
2019/08/26 Python
基于Python的自媒体小助手---登录页面的实现代码
2020/06/29 Python
python 两种方法删除空文件夹
2020/09/29 Python
非常震撼的纯CSS3人物行走动画
2016/02/24 HTML / CSS
html5 canvas 实现光线沿不规则路径运动
2020/04/20 HTML / CSS
Ellos丹麦:时尚和服装在线
2016/09/19 全球购物
BannerBuzz加拿大:在线定制横幅印刷、广告和标志
2020/03/10 全球购物
管道维修工岗位职责
2013/12/27 职场文书
法制宣传月活动方案
2014/05/11 职场文书
Idea连接MySQL数据库出现中文乱码的问题
2021/04/14 MySQL
Python Django搭建文件下载服务器的实现
2021/05/10 Python
Spring-cloud Config Server的3种配置方式
2021/09/25 Java/Android
Vue.Draggable实现交换位置
2022/04/07 Vue.js