谈谈对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 Media Queries详细介绍和使用实例
May 08 HTML / CSS
推荐一些比较有用的css3新属性
Nov 11 HTML / CSS
CSS3打造磨砂玻璃背景效果
Sep 28 HTML / CSS
HTML5边玩边学(3)像素和颜色
Sep 21 HTML / CSS
Bootstrap 学习分享
Nov 12 HTML / CSS
HTML5 中新的全局属性(整理)
Jul 31 HTML / CSS
HTML5标签大全
Nov 23 HTML / CSS
Html5 Canvas动画基础碰撞检测的实现
Dec 06 HTML / CSS
data:image data url 文件转为Blob上传后端的方法
Jul 16 HTML / CSS
关于html字符串正则判断和匹配的具体使用
Dec 12 HTML / CSS
如何查看浏览器对html5的支持情况
Dec 15 HTML / CSS
HTML静态页面获取url参数和UserAgent的实现
Aug 05 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
Yii遍历行下每列数据的方法
2016/10/17 PHP
PHP使用preg_split()分割特殊字符(元字符等)的方法分析
2017/02/04 PHP
PHP 获取指定地区的天气实例代码
2017/02/08 PHP
调试php程序的简单步骤
2019/10/04 PHP
CI框架简单分页类用法示例
2020/06/06 PHP
jQuery AJAX回调函数this指向问题
2010/02/08 Javascript
jQuery 打造动态渐变按钮 详细图文教程
2010/04/25 Javascript
Extjs TimeField 显示正常时间格式的代码
2011/06/28 Javascript
动感效果的TAB选项卡jquery 插件
2011/07/09 Javascript
js数组的操作详解
2013/03/27 Javascript
JS 添加千分位与去掉千分位的示例
2013/07/11 Javascript
正则表达式中特殊符号及正则表达式的几种方法总结(replace,test,search)
2013/11/26 Javascript
Jquery实现自定义窗口随意的拖拽
2014/03/12 Javascript
基于Bootstrap实现tab标签切换效果
2020/04/15 Javascript
Three.js学习之网格
2016/08/10 Javascript
URL的参数中有加号传值变为空格的问题(URL特殊字符)
2016/11/04 Javascript
JavaScript循环_动力节点Java学院整理
2017/06/28 Javascript
浅谈在vue中用webpack打包之后运行文件的问题以及相关配置方法
2018/02/21 Javascript
Vue引入sass并配置全局变量的方法
2018/06/27 Javascript
JavaScript setTimeout()基本用法有哪些
2020/11/04 Javascript
[01:07:57]DOTA2-DPC中国联赛 正赛 Ehome vs Magma BO3 第二场 1月19日
2021/03/11 DOTA
python 正则表达式 概述及常用字符
2009/05/04 Python
Python contextlib模块使用示例
2015/02/18 Python
python 多线程重启方法
2019/02/18 Python
Python 把序列转换为元组的函数tuple方法
2019/06/27 Python
Django中使用CORS实现跨域请求过程解析
2019/08/05 Python
IronPython连接MySQL的方法步骤
2019/12/27 Python
Python2和Python3中@abstractmethod使用方法
2020/02/04 Python
Python实现UDP程序通信过程图解
2020/05/15 Python
HTML5实现文件断点续传的方法
2017/01/04 HTML / CSS
草莓网化妆品加拿大网站:Strawberrynet Canada
2016/09/20 全球购物
学术会议邀请函范文
2014/01/22 职场文书
理财学专业自荐书
2014/06/28 职场文书
政风行风建设整改方案
2014/10/27 职场文书
小石潭记导游词
2015/02/03 职场文书
导游词之河姆渡遗址博物馆
2019/10/10 职场文书