浅谈CSS3 box-sizing 属性 有趣的盒模型


Posted in HTML / CSS onApril 02, 2019

盒模型的组成大家肯定都懂,由里向外content,padding,border,margin.

盒模型是有两种标准的,一个是标准模型,一个是IE模型。

浅谈CSS3 box-sizing 属性 有趣的盒模型

浅谈CSS3 box-sizing 属性 有趣的盒模型

从上面两图不难看出在标准模型中,盒模型的宽高只是内容(content)的宽高,

而在IE模型中盒模型的宽高是内容(content)+填充(padding)+边框(border)的总宽高。

css如何设置两种模型

这里用到了CSS3 的属性 box-sizing(默认值:content-box)

/* 标准模型 */ 
 box-sizing:content-box;
  /*IE模型*/
 box-sizing:border-box;

content-box: 这是CSS2.1指定的宽度和高度的行为。指定元素的宽度和高度(最小/最大属性)适用于box的宽度和高度。元素的填充和边框布局和绘制指定宽度和高度除外

border-box: 指定宽度和高度(最小/最大属性)确定元素边框box。也就是说,对元素指定宽度和高度包括padding和border的指定。内容的宽度和高度减去各自双方该边框和填充的宽度从指定的"宽度"和"高度"属性计算

测试参考案例

理想中的效果和代码如下图:

浅谈CSS3 box-sizing 属性 有趣的盒模型

.input { width: 146px; height: 36px; line-height: 36px; background: transparent; border: 2px solid #0D349A; color: #bdbdbd; padding-left: 10px; padding-right: 30px; font-size: 14px;
box-sizing:content-box;(默认的可不写)}

浅谈CSS3 box-sizing 属性 有趣的盒模型

应用在有用 bootstrap框架 的项目中发现bootstrap.min.css 样式里默认box-sizing: border-box; 会干扰搜索框的宽高

* { -webkit-box-sizing: border-box; 
-moz-box-sizing: border-box;
 box-sizing: border-box;}

这个属性导致页面出现的样子:

浅谈CSS3 box-sizing 属性 有趣的盒模型

.input { width: 146px; height:
 36px;
 line-height: 36px; 
background: transparent; 
border: 2px solid #0D349A;
 color: #bdbdbd; padding-left: 10px;
 padding-right: 30px; 
font-size: 14px; box-sizing:border-box;}

浅谈CSS3 box-sizing 属性 有趣的盒模型

这个时候想要实现理想中的效果必须把样式调整成:

.input { width: 190px;
 height: 40px; line-height: 
40px; background: transparent; 
border: 2px solid #0D349A;
 color: #bdbdbd; padding-left: 10px; 
padding-right: 30px;
 font-size: 14px; 
box-sizing:border-box;}

PS技巧: 当一个容器宽度定义为 width:100%; 之后,如果再增加 padding 或者 border 则会溢出父容器,是向外扩张的

如果使用该样式,指定为box-sizing: border-box; 则 padding 和 border 就不会再溢出,而是向内收缩的,这个效果感觉非常实用的

总结

以上所述是小编给大家介绍的浅谈CSS3 box-sizing 属性 有趣的盒模型 ,希望对大家有所帮助,如果大家有任何iwen欢迎给我留言,小编会及时回复大家的!

HTML / CSS 相关文章推荐
浅析rem和em和px vh vw和% 移动端长度单位
Apr 28 HTML / CSS
分享一个页面平滑滚动小技巧(推荐)
Oct 23 HTML / CSS
canvas绘制文本内容自动换行的实现代码
Jan 14 HTML / CSS
html5 拖拽上传图片实例演示
Apr 01 HTML / CSS
HTML5 本地存储之如果没有数据库究竟会怎样
Apr 25 HTML / CSS
HTML5 3D衣服摇摆动画特效
Mar 17 HTML / CSS
HTML5 WebSocket实现点对点聊天的示例代码
Jan 31 HTML / CSS
HTML5触摸事件实现移动端简易进度条的实现方法
May 04 HTML / CSS
移动端开发HTML5页面点击按钮后出现闪烁或黑色背景的解决办法
Sep 19 HTML / CSS
CSS 新特性 contain控制页面的重绘与重排问题
Apr 30 HTML / CSS
HTML+css盒子模型案例(圆,半圆等)“border-radius” 简单易上手
May 10 HTML / CSS
div与span之间的区别与使用介绍
Dec 06 HTML / CSS
CSS3 3D酷炫立方体变换动画的实现
Mar 26 #HTML / CSS
CSS3之2D与3D变换的实现方法
Jan 28 #HTML / CSS
CSS3移动端vw+rem不依赖JS实现响应式布局的方法
Jan 23 #HTML / CSS
用CSS3和table标签实现一个圆形轨迹的动画的示例代码
Jan 17 #HTML / CSS
简单几步用纯CSS3实现3D翻转效果
Jan 17 #HTML / CSS
css3实现3D文本悬停改变效果的示例代码
Jan 16 #HTML / CSS
css3实现元素环绕中心点布局的方法示例
Jan 15 #HTML / CSS
You might like
PHP获取一个字符串中间一部分字符的方法
2014/08/19 PHP
php通过各种函数判断0和空
2020/07/04 PHP
PHP中关于php.ini参数优化详解
2020/02/28 PHP
解密效果
2006/06/23 Javascript
javascript 构建一个xmlhttp对象池合理创建和使用xmlhttp对象
2010/01/15 Javascript
Javascript 设计模式(二) 闭包
2010/05/26 Javascript
利用javascript解决图片缩放及其优化的代码
2012/05/23 Javascript
利用webqq协议使用python登录qq发消息源码参考
2013/04/08 Javascript
禁止选中文字兼容IE、Chrome、FF等
2013/09/04 Javascript
jQuery中:animated选择器用法实例
2014/12/29 Javascript
跟我学习javascript创建对象(类)的8种方法
2015/11/20 Javascript
js实现倒计时效果(小于10补零)
2017/03/08 Javascript
jQuery插件之validation插件
2017/03/29 jQuery
JavaScript之Date_动力节点Java学院整理
2017/06/28 Javascript
nodejs前端自动化构建环境的搭建
2017/07/26 NodeJs
js禁止Backspace键使浏览器后退的实现方法
2017/09/01 Javascript
vue-router重定向不刷新问题的解决
2018/06/25 Javascript
JS中数组与对象的遍历方法实例小结
2018/08/14 Javascript
vue3.0 CLI - 2.5 - 了解组件的三维
2018/09/14 Javascript
CKeditor富文本编辑器使用技巧之添加自定义插件的方法
2019/06/14 Javascript
使用Vant完成Dialog弹框案例
2020/11/11 Javascript
[49:02]KG vs Infamous 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
在Linux上安装Python的Flask框架和创建第一个app实例的教程
2015/03/30 Python
利用Python读取txt文档的方法讲解
2018/06/23 Python
Python实现登陆文件验证方法
2018/10/06 Python
Python实现Linux监控的方法
2019/05/16 Python
使用python实现回文数的四种方法小结
2019/11/24 Python
python运用pygame库实现双人弹球小游戏
2019/11/25 Python
Zatchels官网:英国剑桥包品牌
2021/01/12 全球购物
最新茶叶店创业计划书
2014/01/14 职场文书
纠纷协议书
2014/04/16 职场文书
《孙权劝学》教学反思
2014/04/23 职场文书
党员自我评议对照检查材料
2014/09/27 职场文书
贪污检举信范文
2015/03/02 职场文书
《叶问2》观后感
2015/06/15 职场文书
MySQL sql_mode修改不生效的原因及解决
2021/05/07 MySQL