盒模型

作者: ConRon | 来源:发表于2017-07-11 23:30 被阅读0次
  • 盒模型⼀共有两种模式,⼀种是标准模式,另⼀种就是怪异 模式
      标准模式:盒子总宽度/高度=width/height+padding+border+margin
      怪异模式:盒⼦总宽度/⾼度=width/height + margin = 内容 区宽度/⾼度 + padding + border + margin;
  • box-sizing有两个值content-box 和 border-box .
      box-sizing:content-box:将采⽤标准模式解析计 算,也是默认模式;
      box-sizing:border-box:将采⽤怪异模式解析计算;

弹性盒

  • 弹性盒⼦是 CSS3 的⼀种新的布局模式。又叫伸缩盒模型(Flexible Box)

  • 最新版flex兼容

Chrome  加前缀 -webkit-flex
  Firefox   加前缀 -moz-flex
  IE     加前缀 -ms-flex
  Opera   加前缀 -o-flex
  标准   flex

flex整体介绍

  • 容器默认存在两根轴:⽔平的主轴(main axis)和垂直的交叉轴 (cross axis)。
      - 主轴的开始位置叫做main start,结束位置叫做main end;
      - 交叉轴的开始位置叫做cross start,结束位置叫做cross end。
      - 项⽬默认沿主轴排列。单个项⽬占据的主轴空间叫做main size,占据 的交叉轴空间叫做cross size。

弹性盒的基本属性

  • 弹性盒⼦由弹性容器和弹性⼦元素组成。
      弹性容器通过设置 display 属性的值为 flex(块元素布局) 或 inline-flex(⾏内元素布局)将其定义为弹性容器。
  • flex-direction 属性决定主轴的⽅向(即项⽬的排列⽅向)。

    • row(默认值):主轴为⽔平⽅向,起点在左端。
    • row-reverse:主轴为⽔平⽅向,起点在右端。
    • column:主轴为垂直⽅向,起点在上沿。
    • column-reverse:主轴为垂直⽅向,起点在下沿。
  • flex-wrap 属性定义,如果⼀条轴线排不下,如何换⾏。

    • nowrap(默认):不换⾏。
    • wrap:换⾏,第⼀⾏在上⽅。
    • wrap-reverse:换⾏,第⼀⾏在下⽅。

flex-flow属性是flex-direction属性和flex-wrap属性的简写 形式,默认值为row nowrap。

  • justify-content 属性 定义了项⽬在主轴上的对齐⽅式,具体对齐⽅式与轴的⽅向有关。

    • flex-start(默认值):左对齐
    • flex-end:右对齐
    • center: 居中
    • space-between:两端对齐, 项⽬之间的间隔都相等。
    • space-around:每个项⽬两侧的间隔相等。所以,项⽬之间的间隔⽐项⽬与 边框的间隔⼤⼀倍。
  • align-items 属性 定义项⽬在交叉轴上如何对齐,具体的对齐⽅式与交叉轴的⽅向有关

    • flex-start:交叉轴的起点对齐。
    • flex-end:交叉轴的终点对齐。
    • center:交叉轴的中点对齐。
    • baseline: 项⽬的第⼀⾏⽂字的基线对齐。
    • stretch(默认值):如果项⽬未设置⾼度或设为auto,将占满整个容器的⾼ 度。
  • align-content 属性 ⽤于修改 flex-wrap 属性的⾏为。类似于 align-items, 但它不是设置弹性⼦ 元素的对齐,⽽是设置各个⾏的对齐。

    • flex-start:与交叉轴的起点对齐。
    • flex-end:与交叉轴的终点对齐。
    • center:与交叉轴的中点对齐。
    • space-between:与交叉轴两端对齐,轴线之间的间隔平均分布。
    • space-around:每根轴线两侧的间隔都相等。所以,轴线之间的间隔⽐轴 线与边框的间隔⼤⼀倍。
    • stretch(默认值):轴线占满整个交叉轴。

容器中的条目

除了弹性盒布局模型中的容器之外,容器中的条目也可以通过 CSS 属性来改变其布局行为。

  • 条目的顺序
    order:自定义子元素的显示顺序值,越小越靠前

  • 条目尺寸的弹性
      弹性盒布局模型的核心在于容器中条目的尺寸是弹性的。容器可以根据本身尺寸的大小来动态地调整条目的尺寸。当容器中有空白空间时,条目可以扩展尺寸以占据额外的空白空间;当容器中的空间不足时,条目可以缩小尺寸以防止超出容器范围。
      条目尺寸的弹性由 2 个 CSS 属性来确定,分别是"flex-grow"和"flex-shrink"。

[ flex-grow ]:定义弹性盒⼦元素的扩展⽐率。他的值是一个没有单位的非负数,默认值是 1。
  [ flex-shrink ]:定义弹性盒⼦元素的收缩⽐率。

相关文章

  • CSS面试题

    1、盒模型 答:分为标准盒模型和怪异盒模型(IE盒模型) 标准盒模型:宽高(content)+ padding +...

  • CSS面试题

    1、 盒模型 答:分为标准盒模型和怪异盒模型(IE盒模型) 标准盒模型:宽高(content)+ padding ...

  • CSS盒模型和BFC

    盒模型 盒模型分为IE盒模型和W3C标准盒模型。 IE盒模型 IE盒模型也称border-box。属性width,...

  • 前端第四天

    前端第四天 目录: 盒模型之display 盒模型之overflow 盒模型之隐藏 盒模型之border 盒模型之...

  • 前端面试之浏览器/HTML/CSS问题

    盒模型 盒模型主要两种,标准盒模型和怪异和模型 标准盒模型:width指content部分的宽度 怪异盒模型:wi...

  • 前端面试之浏览器/HTML/CSS问题

    盒模型 盒模型主要两种,标准盒模型和怪异和模型 标准盒模型:width指content部分的宽度 怪异盒模型:wi...

  • 盒模型

    盒模型 盒模型,可以简单解释为:盒模型用来描述元素所占据的空间。有两种盒模型:W3C盒模型(标准盒模型)和IE盒模...

  • CSS

    Q1.简单描述CSS的盒模型 1.盒模型种类:包括标准盒模型和IE盒模型(怪异盒模型) 2.盒模型设置方式:通过b...

  • css问题

    标准盒模型&非标准盒模型(怪异盒模型) 标准盒模型 box-sizing (模型样式) 语法: box-sizin...

  • 两种Box Model(盒模型)的理解、区别以及注意事项

    盒模型,可以简单解释为:盒模型用来描述元素�所占据的空间。 有两种盒模型:W3C盒模型(标准盒模型)和IE盒模型这...

网友评论

      本文标题:盒模型

      本文链接:https://www.haomeiwen.com/subject/vmcvhxtx.html