我爱编程

CSS弹性盒子

2018-04-16  本文已影响0人  北冥没有余_

定义弹性盒子

display: flex;

flex-direction 属性

flex-direction 用来来确定主轴的方向,从而确定基本的项目排列方向。

    row默认值。灵活的项目将水平显示,正如一个行一样。

    row-reverse:主轴为水平方向,起点在右端;

    column:主轴为垂直方向,起点在上沿;

    column-reverse:主轴为垂直方向,起点在下沿。

flex-wrap属性

默认情况下,项目都排在一条线上(又称“轴线”)上,并且超出不会自动换行。

flex-wrap 属性定义,如果以条轴线排不下, 如何换行。

    nowrap(默认值):不换行(强行挤压,平均分配宽度);

    wrap:换行,第一行在上⽅(从上往下一次排列);

    wrap-reverse:换行,第一行在下方(从下往上一次排列);

    flex-flow flex-flow 属性是 flex-direction 属性和 flex-wrap 属性的简写形式,默认值 为 row nowrap 。.box{ flex-flow: row wrap; }

justify-content 属性

justify-content 属性定义了项目在主轴上的对齐方式。

    flex-start(默认值):左对齐

    flex-end:右对齐

    center: 居中

    space-between:两端对齐,项⽬之间的间隔都相等。

    space-around:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍。

align-items 属性

align-items 属性的取值及其含义:(具体对⻬⽅式与交叉轴的方向有关。下面假设交叉轴为从左到右。)

flex-start:交叉轴的起点对齐。

flex-end:交叉轴的终点对齐。

center:交叉轴的中点对齐。

baseline:所有文字相对于同一基线对齐

align-content 属性

align-content 属性定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。

align-content 属性的取值及其含义:

flex-start:与交叉轴的起点对齐。

flex-end:与交叉轴的终点对齐。

center:与交叉轴的中点对齐。

space-between:与交叉轴两端对齐,轴线之间的间隔平均分布。

space-around:每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍。

stretch(默认值):轴线占满整个交叉轴。

差不多了,下面我们来具体的看下怎么使用这些属性


首先看下几张经常会遇到的设计图

很多APP商城都采用这样的布局 。。。

像这种布局一般用浮动的话写起来会很麻烦 还要解决各种兼容性的bug

先实现第一张图的效果

css和html

效果图

这样就实现了一个简单的京东导航,具体像素等在细写,可以加margin和padding;但是一般情况会加一个怪异和模型

box-sizing:border-box;

其实道理都是一样的,不要麻烦套的盒子多,盒子套的越多分的约清晰,而且后期维护还好修改,不用做太多的改动

本期就到这里;

上一篇 下一篇

猜你喜欢

热点阅读