谈谈对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 相关文章推荐
CSS中一些@规则的用法小结
Mar 09 HTML / CSS
使用CSS3的box-sizing属性解决div宽高被内边距撑开的问题
Jun 28 HTML / CSS
css3实现画半圆弧线的示例代码
Nov 06 HTML / CSS
详解CSS3原生支持div铺满浏览器的方法
Aug 30 HTML / CSS
css3 伪类选择器快速复习小结
Sep 10 HTML / CSS
详解CSS3新增的背景属性
Dec 25 HTML / CSS
把富文本的回车转为br标签
Aug 09 HTML / CSS
HTML5 Canvas入门学习教程
Mar 17 HTML / CSS
HTML5移动端开发中的Viewport标签及相关CSS用法解析
Apr 15 HTML / CSS
Canvas与图片压缩的示例代码
Nov 28 HTML / CSS
Canvas中设置width与height的问题浅析
Nov 01 HTML / CSS
Html5调用企业微信的实现
Apr 16 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中的session永不过期的解决思路及实现方法分享
2011/04/20 PHP
PHP使用pdo连接access数据库并循环显示数据操作示例
2018/06/05 PHP
PHP+ajax实现二级联动菜单功能示例
2018/08/10 PHP
Extjs中ComboBox加载并赋初值的实现方法
2012/03/22 Javascript
用jquery方法操作radio使其默认选项是否
2013/09/10 Javascript
解决bootstrap中modal遇到Esc键无法关闭页面
2015/03/09 Javascript
JavaScript实现打开链接页面的方式汇总
2016/06/02 Javascript
IScroll那些事_当内容不足时下拉刷新的解决方法
2017/07/18 Javascript
JS实现自定义状态栏动画文字效果示例
2017/10/12 Javascript
vue实现简单loading进度条
2018/06/06 Javascript
Vue.js 使用v-cloak后仍显示变量的解决方法
2018/11/19 Javascript
从零撸一个pc端vue的ui组件库( 计数器组件 )
2019/08/08 Javascript
nodejs制作小爬虫功能示例
2020/02/24 NodeJs
[02:23]DOTA2英雄基础教程 幻影长矛手
2013/12/09 DOTA
[01:15:18]2014 DOTA2国际邀请赛中国区预选赛 LGD VS Speed Gaming.cn
2014/05/22 DOTA
Python检测QQ在线状态的方法
2015/05/09 Python
Python排序算法之选择排序定义与用法示例
2018/04/29 Python
python 脚本生成随机 字母 + 数字密码功能
2018/05/26 Python
更换Django默认的模板引擎为jinja2的实现方法
2018/05/28 Python
Python OpenCV处理图像之滤镜和图像运算
2018/07/10 Python
Python list列表中删除多个重复元素操作示例
2019/02/27 Python
套娃式文件夹如何通过Python批量处理
2020/08/23 Python
CSS3实现各种图形的示例代码
2016/10/19 HTML / CSS
泰国办公用品购物网站:OfficeMate
2018/02/04 全球购物
Java基础知识面试要点
2016/07/29 面试题
给导游的表扬信
2014/01/10 职场文书
高中生期末评语
2014/01/28 职场文书
机关门卫制度
2014/02/01 职场文书
家长寄语大全
2014/04/02 职场文书
读书活动总结范文
2014/04/26 职场文书
学校地质灾害防治方案
2014/06/10 职场文书
八一建军节营销活动方案
2014/08/31 职场文书
鲁迅故居导游词
2015/02/05 职场文书
爱心捐书倡议书
2015/04/27 职场文书
何玥事迹观后感
2015/06/16 职场文书
导游词之临安白水涧
2019/11/05 职场文书