谈谈对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弹性盒模型开发笔记(三)
Apr 26 HTML / CSS
css图标制作教程制作云图标
Jan 19 HTML / CSS
HTML5移动开发图片压缩上传功能
Nov 09 HTML / CSS
Html5游戏开发之乒乓Ping Pong游戏示例(二)
Jan 21 HTML / CSS
Html5新特性用canvas标签画多条直线附效果截图
Jun 30 HTML / CSS
使用canvas绘制贝塞尔曲线
Dec 17 HTML / CSS
HTML5到底会有什么发展?HTML5的前景展望
Jul 07 HTML / CSS
教你使用Canvas处理图片的方法
Nov 28 HTML / CSS
html5移动端自适应布局的实现
Apr 15 HTML / CSS
css背景和边框标签实例详解
May 21 HTML / CSS
CSS filter 有什么神奇用途
May 25 HTML / CSS
css弧边选项卡的项目实践
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
PHP下MAIL的另一解决方案
2006/10/09 PHP
社区(php&amp;&amp;mysql)六
2006/10/09 PHP
PHP封装cURL工具类与应用示例
2019/07/01 PHP
解决PHP Opcache 缓存刷新、代码重载出现无法更新代码的问题
2020/08/24 PHP
jquery.boxy插件的iframe扩展代码
2010/07/02 Javascript
理解Javascript_10_对象模型
2010/10/16 Javascript
jquery 学习之一 对象访问
2010/11/23 Javascript
初学js插入节点appendChild insertBefore使用方法
2011/07/04 Javascript
在浏览器窗口上添加遮罩层的方法
2012/11/12 Javascript
表单元素的submit()方法和onsubmit事件应用概述
2013/02/01 Javascript
Google Dart编程语法和基本类型学习教程
2013/11/27 Javascript
javascript中call apply 的应用场景
2015/04/16 Javascript
JS中字符串trim()使用示例
2015/05/26 Javascript
AngularJS  $on、$emit和$broadcast的使用
2016/09/05 Javascript
浅析使用BootStrap TreeView插件实现灵活配置快递模板
2016/11/28 Javascript
关于jQuery.ajax()的jsonp碰上post详解
2017/07/02 jQuery
bootstrap switch开关组件使用方法详解
2017/08/22 Javascript
JavaScript如何获取到导航条中HTTP信息
2017/10/10 Javascript
浅谈vue中使用图片懒加载vue-lazyload插件详细指南
2017/10/23 Javascript
移动前端图片压缩上传的实例
2017/12/06 Javascript
Angular设置别名alias的方法
2018/11/08 Javascript
详解Vue中使用Axios拦截器
2019/04/22 Javascript
微信小程序实现上传多张图片、删除图片
2020/07/29 Javascript
js实现移动端轮播图滑动切换
2020/12/21 Javascript
js实现鼠标拖曳效果
2020/12/30 Javascript
vue脚手架项目创建步骤详解
2021/03/02 Vue.js
python自然语言编码转换模块codecs介绍
2015/04/08 Python
Windows 64位下python3安装nltk模块
2018/09/19 Python
廉洁家庭事迹材料
2014/05/15 职场文书
社区科普工作方案
2014/06/03 职场文书
运动会铅球比赛加油稿
2014/09/26 职场文书
2014年小学工作总结
2014/11/26 职场文书
先进教师个人事迹材料
2014/12/15 职场文书
家装电话营销开场白
2015/05/29 职场文书
python 常用的异步框架汇总整理
2021/06/18 Python
Windows Server 2019 配置远程控制以及管理方法
2022/04/28 Servers