zoukankan      html  css  js  c++  java
  • border-box——一种改变盒子尺寸的方法

    语法:

    box-sizing:content-box|border-box|padding-box

     

    IE6中的传统盒子模型: CSS样式声明的 width 和 hieght 包含 content、padding 和 border。这就是 border-box 盒子模型。

    W3C 的盒子模型是   content-box,即CSS样式声明的高度和宽度是 content 的尺寸。

    padding-box 盒子样式声明中的高度是和宽度是 paddin和content的宽度和高度。

    如何用好他们?

    W3C的盒子是反自觉的,也就说我们把一样东西放到一个盒子里,再把盒子放到仓库里,东西占的尺寸是盒子的尺寸,而不是东西的尺寸。border-box 不反自觉。很多现代框架如 bootstrap 就是这么处理的。


    流式布局和border-box:
    这个属性广泛用于流式布局,尤其是以百分数为基础的布局。想象一个场景:导航栏 有5个项目,每个项目占 20% 的宽度,加上一条用于分割他们的固定尺寸的边框,

    1 nav li{
    2 width:20%;
    3 display:inline-block;
    4 border-left:0.25em solid #fff;
    5 }

    那个第五个项目将换行。为了避免它换行,我们告诉浏览器用 border-box 去计算盒子宽度。

    nav li {
    box-sizing:border-box;
    width:20%;
    display:inline-block;
    border-left:0.25em solid #fff;
    }

    点击看demo 

    用 border-box 统一表单控件的尺寸

    不同浏览器对表单控件的处理有的用 content-box,有的用 border-box,如input type="sumbmit"  VS  select。用 border-box 就统一处理了。

    padding-box 很不常见,只有FF支持。

    参考文文章:CSS3 Box Sizing – a Way of Calculating the Size of a Box

  • 相关阅读:
    Mysql索引类型
    Linux 查看进程
    Element is not clickable at point error in chrome
    org.apache.commons.lang.StringUtils 中 Join 函数
    接口测试之webservice介绍
    Java 中正确使用 hashCode 和 equals 方法
    HTTP协议基础
    使用Groovy处理SoapUI中Json response
    SoapUI中读取法文字符
    SoapUI中XML解析
  • 原文地址:https://www.cnblogs.com/jackzhoumine/p/CSS3.html
Copyright © 2011-2022 走看看