box-sizing

box-sizing: 俗称ie6 的混杂模式的盒子模型。  首先来了解一下 ie6 的混杂模式,和我们常用的 盒子模型有什么不一样

正常模式下: 我们设置的 width  和  height  就是盒子的 content 区的大小,但是在 ie6 的混杂模式下,设置的 width 和  height 就是盒子的整体 width  height。

ie6 的混杂模型呢,你设置的 宽, 和 高,就是盒子的大小的最终宽高, 并不会因为你添加了 padding  和 border 而改变。

需要用 混杂模式渲染的 元素, 就添加上, box-sizing:border-box 即可。

box-sizing:

  参数: content-box (默认值,也就是 我们正常模式)

      border-box (ie6 的混杂模式)

为啥叫 ie6的混杂模式呢?  因为他确实跟 ie 有关, 在以前 ie6 的渲染盒子模型,就是按照这个标准来渲染的。 到了后来,w3c标准出来了之后就换成 正常模式了。 w3c 觉得,ie6 的这个渲染盒子的模式不错, 就跟ie 说,诶?  你这个模式不错,可以给我用用吗?  ie 说,行啊。  然后就把他 添加到css3 里面去了。

说了这么多,这个模式,在什么场景下适用呢?    其实,我们在开发的过程中,会遇到一些需求, 就是你已经布局好了,但是又要加入padding  或者 border, 这个时候,一定会影响整个的布局, 因为你的宽高什么的,都已经设置好了,再添加,就会挤出去。 这个时候,想添加上 padding 或者 padding 不影响原来的布局的话, 就可以用上了。  也不用刻意的去计算宽高 加上 padding 需要减多少。

下面举两个小例子:

像 上面这种,宽,或者 高不确定的情况下, 又要添加 padding  和 border, 又要保证布局不改变, 使用 box-sizing:border-box。 是很好的选择

还有一种情况, 比如产品经理告诉你说,添加一个 input 输入框 高30px,宽是300px, 文字要跟输入框的上下左右要有10px 的间隙,我们一般设置间隙吧,都是用padding实现的。

那么,我们一般拿到这个需求的时候一顿操作猛如虎:

css3系列之box-sizing的更多相关文章

  1. CSS3系列教程:HSL 和HSL

    使用CSS3 HSL声明同样是用来设置颜色的.下一个呢? HSLA? 是的,这个和RGBA的效果是一样的. HSL声明使用色调Hue(H).饱和度Saturation(s)和亮度Lightness(L ...

  2. css3系列之详解perspective

    perspective 简单来说,就是设置这个属性后,那么,就可以模拟出像我们人看电脑上的显示的元素一样.比如说, perspective:800px   意思就是,我在离屏幕800px 的地方观看这 ...

  3. css3系列之transform详解translate

    translate translate这个参数的,是transform 身上的,那么它有什么用呢? 其实他的作用很简单,就是平移,参考自己的位置来平移 translate() translateX() ...

  4. css3系列-2.css中常见的样式属性和值

    css3系列-2.css中常见的样式属性和值 继续上一篇文章的继续了解css的基础知识,关注我微信公众号:全栈学习笔记 css中常见的样式属性和值 字体与颜色 背景属性 文本属性 边框属性 内外边距 ...

  5. css3系列之过渡transition

    transition 设置变换属性的过渡效果,举个例子,也就是说, 如果从width100px 变成 width200px,要以什么方式进行变换,速度,时间,类型等. transition trans ...

  6. css3系列之text-shadow 浮雕效果,镂空效果,荧光效果,遮罩效果

    text-shadow 其实这东西,跟  box-shadow 差不多,没啥好说的不懂的话,点这里→  css3系列之详解box-shadow  . 它只有 四个参数 x(第一个值设置x位置) y(第 ...

  7. 技术分享: CSS3 系列

    技术分享: CSS3 系列 css 一键换肤 css 打印样式,媒体查询 css 禁用选择 css 性能优化 css 计算单位 css 3D 特效 refs xgqfrms 2012-2020 www ...

  8. CSS3系列之3D制作

    一.序 博主最近这些天,突发奇想的想研究一下CSS3的东西,从而提升一下CSS的能力,在学习的过程中发现其实CSS3是一个挺复杂的东西,深入的研究,你可能会涉及到初中的光学理论来帮助理解一些概念,同时 ...

  9. CSS3系列一(概述、选择器、使用选择器插入内容)

    CSS3模块化结构 CSS历史发展 CSS(Cascading Style Sheet),层叠样式表,是用于控制网页样式并允许将样式信息与网页内容分离的一种标记性语言. CSS3属性选择器 E[att ...

  10. CSS3系列三(与背景边框相关样式 、变形处理、动画效果)

    与背景相关的新增属性 大家都知道在HTML页面中,元素都是由以下几部分组成 使用background-clip来修改背景的显示范围,如果设定为border-box,则背景范围包含边框区域,如果设定为p ...

随机推荐

  1. Django( 学习第三部 Django的url路由层)

    目录 url路由层 路由匹配(有名分组与无名分组) 反向解析 路由分发 名称空间(了解) Django版本区别 url 路由匹配 注意事项: url方法,第一个参数是正则表达式,只要第一个参数能够匹配 ...

  2. 《JavaScript高级程序设计》——第三章 基本概念

    这章讲了JavaScript的语法.数据类型.流控制语句和函数.理解还是挺好理解的,但有很多和C.C++.Java不同的地方需要记忆.比如, JavaScript标识符可以由Unicode字符字符组成 ...

  3. Percona Toolkit工具连接MySQL 8报错的解决方案

    使用Percona Toolkit的工具连接MySQL 8.x数据库时,会遇到类似"failed: Plugin caching_sha2_password could not be loa ...

  4. Pytest 系列(25)- 标记用例级别 @allure.

    如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 前言 平时写测试用例也会划分优先级 ...

  5. requestS模块发送请求的时候怎么传递参数

    首先要确定接口的传递参数是什么类型的,如果接口是查询,使用get请求方法,传递参数的时候使用params, 如果接口需要的json型参数的话,使用json,如果是上传文件的话,通过files参数在传递 ...

  6. 2. DRF 认证、权限、限流、分页、过滤、序列 化

    2.1 user/urls.py   ModelViewSet注册路由三部曲 from django.urls import include, path from user import views ...

  7. 利用CNN进行中文文本分类(数据集是复旦中文语料)

    利用TfidfVectorizer进行中文文本分类(数据集是复旦中文语料) 利用RNN进行中文文本分类(数据集是复旦中文语料) 上一节我们利用了RNN(GRU)对中文文本进行了分类,本节我们将继续使用 ...

  8. python机器学习TensorFlow框架

    TensorFlow框架 关注公众号"轻松学编程"了解更多. 一.简介 ​ TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运 ...

  9. Antisymmetry

    题意描述 Antisymmetry 求给定的字符串的子串集合中为"反对串"的个数. 反对串的定义为,将这个字符串 \(0\) 和 \(1\) 取反后,再将整个串反过来和原串一样,就 ...

  10. 什么是SPI

    一.什么是SPI SPI ,全称为 Service Provider Interface,是一种服务发现机制.它通过在ClassPath路径下的META-INF/services文件夹查找文件,自动加 ...