谈谈对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新特性应用之形状总结
Dec 08 HTML / CSS
使用HTML5 IndexDB存储图像和文件的示例
Nov 05 HTML / CSS
关于HTML5你必须知道的28个新特性,新技巧以及新技术
May 28 HTML / CSS
html5教程调用绘图api画简单的圆形代码分享
Dec 04 HTML / CSS
html5教程实现Photoshop渐变色效果
Dec 04 HTML / CSS
HTML5中判断用户是否正在浏览页面的方法
May 03 HTML / CSS
使用html5 canvas创建太空游戏的示例
May 08 HTML / CSS
关于老式浏览器兼容HTML5和CSS3的问题
Jun 01 HTML / CSS
html5中的一些标签学习(心得)
Oct 18 HTML / CSS
CSS 文字装饰 text-decoration & text-emphasis 详解
Apr 06 HTML / CSS
CSS中calc(100%-100px)不加空格不生效
May 07 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
JAVA/JSP学习系列之二
2006/10/09 PHP
PHP开发需要注意的安全问题
2010/09/01 PHP
ThinkPHP中redirect用法分析
2014/12/05 PHP
PHP简单实现图片格式转换(jpg转png,gif转png等)
2019/10/30 PHP
走出JavaScript初学困境—js初学
2008/12/29 Javascript
给html超链接设置事件不使用href来完成跳
2014/04/20 Javascript
javascript面向对象特性代码实例
2014/06/12 Javascript
jQuery 仿百度输入标签插件附效果图
2014/07/04 Javascript
很全面的JavaScript常用功能汇总集合
2016/01/22 Javascript
jQuery的文档处理程序详解
2016/05/10 Javascript
jQuery插件Flexslider实现图片轮播、图文结合滑动切换效果
2020/04/16 Javascript
jQuery Checkbox 全选 反选的简单实例
2016/11/29 Javascript
js中setTimeout的妙用--防止循环超时
2017/03/06 Javascript
JavaScript实现前端实时搜索功能
2020/03/26 Javascript
NodeJs的fs读写删除移动监听
2017/04/28 NodeJs
jQuery+SpringMVC中的复选框选择与传值实例
2018/01/08 jQuery
详解Vue中watch的高级用法
2018/05/02 Javascript
详解jQuery获取特殊属性的值以及设置内容
2018/11/14 jQuery
JS闭包经典实例详解
2018/12/20 Javascript
微信小程序城市选择及搜索功能的方法
2019/03/22 Javascript
node.js处理前端提交的GET请求
2019/08/30 Javascript
Angular value与ngValue区别详解
2019/11/27 Javascript
为什么JavaScript中0.1 + 0.2 != 0.3
2020/12/03 Javascript
python自动发邮件库yagmail的示例代码
2018/02/23 Python
对python 多线程中的守护线程与join的用法详解
2019/02/18 Python
Python XlsxWriter模块Chart类用法实例分析
2019/03/11 Python
python3中的eval和exec的区别与联系
2019/10/10 Python
python matplotlib折线图样式实现过程
2019/11/04 Python
python支持多线程的爬虫实例
2019/12/21 Python
css3动画鼠标放上图片逐渐变大鼠标离开图片逐渐缩小效果
2021/01/27 HTML / CSS
创建学习型党组织实施方案
2014/03/29 职场文书
校企合作协议书
2014/04/16 职场文书
文明美德伴我成长演讲稿
2014/05/12 职场文书
党委书记个人检查对照材料思想汇报
2014/10/11 职场文书
李强优秀员工观后感
2015/06/16 职场文书
Python可视化神器pyecharts之绘制箱形图
2022/07/07 Python