谈谈对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垂直手风琴菜单
Jun 28 HTML / CSS
前端隐藏出边界内容的实现方法
Apr 14 HTML / CSS
CSS3 实现童年的纸飞机
May 05 HTML / CSS
你不知道的5个HTML5新功能
Jun 28 HTML / CSS
网页中的电话号码如何实现一键直呼效果_附示例
Mar 15 HTML / CSS
HTML5的结构和语义(2):结构
Oct 17 HTML / CSS
html5 跨文档消息传输示例探讨
Apr 01 HTML / CSS
html5 的a标签 Href 拨电话的写法
Nov 04 HTML / CSS
浅析HTML5中header标签的用法
Jun 24 HTML / CSS
HTML5新特性 多线程(Worker SharedWorker)
Apr 24 HTML / CSS
CSS 圆形进度栏
Apr 06 HTML / CSS
css3实现背景图片颜色修改的多种方式
Apr 13 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
星际玩家的三大定律
2020/03/04 星际争霸
DC这些乐高系列动画电影你看过几部?
2020/04/09 欧美动漫
PHP与SQL注入攻击[一]
2007/04/17 PHP
php中常用的预定义变量小结
2012/05/09 PHP
PHP实现的曲线统计图表示例
2016/11/10 PHP
Jquery 插件学习实例1 插件制作说明与tableUI优化
2010/04/02 Javascript
关于this和self的使用说明
2010/08/01 Javascript
JS 如果改变span标签的是否隐藏属性
2011/10/06 Javascript
解决3.01版的jquery.form.js中文乱码问题的解决方法
2012/03/08 Javascript
select标签模拟/美化方法采用JS外挂式插件
2013/04/01 Javascript
批量实现面向对象的实例代码
2013/07/01 Javascript
jQuery中:first选择器用法实例
2014/12/30 Javascript
jQuery获取字符串中出现最多的数
2016/02/22 Javascript
Javascript的表单验证-提交表单
2016/03/18 Javascript
轻松实现js选项卡切换效果
2016/09/24 Javascript
利用JS屏蔽页面中的Enter按键提交表单的方法
2016/11/25 Javascript
jQuery实现链接的title快速出现的方法
2017/02/20 Javascript
vue源码学习之Object.defineProperty对象属性监听
2018/05/30 Javascript
Vuejs 实现简易 todoList 功能 与 组件实例代码
2018/09/10 Javascript
详解一次Vue低版本安卓白屏问题的解决过程
2019/05/30 Javascript
vue-cli随机生成port源码的方法
2019/09/02 Javascript
[55:42]VG vs VGJ.T 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
[01:06]欢迎来到上海,TI9
2018/08/26 DOTA
python中stdout输出不缓存的设置方法
2014/05/29 Python
利用Python中的mock库对Python代码进行模拟测试
2015/04/16 Python
django 自定义filter 判断if var in list的例子
2019/08/20 Python
Python中turtle库的使用实例
2019/09/09 Python
Python图片的横坐标汉字实例
2019/12/04 Python
Python如何实现爬取B站视频
2020/05/20 Python
苹果Mac升级:MacSales.com
2017/11/20 全球购物
自荐书4要点
2014/01/25 职场文书
《雨点儿》教学反思
2014/04/14 职场文书
减负增效提质方案
2014/05/23 职场文书
社区国庆节活动总结
2015/03/23 职场文书
爱护环境建议书
2015/09/14 职场文书
HTML页面滚动时部分内容位置固定不滚动的实现
2021/04/14 HTML / CSS