二.弹性布局(重点******************************************)

1.什么是弹性布局

弹性布局,是一种布局方式。

主要解决的是某个元素中子元素的布局方式

让页面布局更加的灵活

2.弹性布局专有的名词解释

1.容器

要发生弹性布局的子元素,他们的父元素,成为容器

就是设置display:flex的那个元素

2.项目

要发生弹性布局的子元素们,叫项目

就是设置了display:flex的元素的子元素们

3.主轴

项目们排列方向的一根轴,称之为主轴

如果项目们是按照水平排列,那么主轴就是x轴

如果项目们按照垂直排列,那么主轴就是y轴

项目们在主轴排列的顺序,称为主轴起点和主轴的终点

4.交叉轴

与主轴垂直的一根轴,叫做交叉轴

项目们在交叉轴的排列顺序,称为交叉轴的起点和终点

3.语法

将元素设置为弹性容器之后,他所有的子元素,都会变为弹性项目

display:flex;  将块级元素设置为容器

inline-flex 将行内元素设置为容器

注意:

元素设置为flex容器后,容器的text-align,vertical-align失效

项目float,clear失效

4.容器的属性

①设置主轴的方向

flex-direction

取值  row 默认值,主轴是x轴,主轴起点在左端

row-reverse 主轴是x轴,主轴起点在右端

column     主轴是y轴,主轴起点在顶部

column-reverse 主轴是y轴,主轴起点在底部

②设置项目的换行

flex-wrap:

取值: 默认值  nowrap  空间不够时,不换行,项目会自动缩小

wrap  空间不够时,项目不缩小,换行

wrap-reverse 项目换行,并反转

③上面两个属性的简写

flex-flow:direction wrap;

④定义项目在主轴上的对齐方式

justify-content

取值 1.flex-start 默认值,主轴起点对齐

2.flex-end 主轴终点

3.center   主轴中心

4.space-around 每个外边距相同,两端有空白

5.space-between 两端对齐,两端无空白

5.项目们在交叉轴上的对齐方式

align-items:

取值

1.flex-start 默认值,交叉轴起点对齐

2.flex-end 交叉轴终点对齐

3.center 交叉轴中间对齐

4.baseline 基线,同flex-start类似

5.stretch 项目不写高,充满容器整个高度

5.项目属性

设置在项目中的属性,只会影响当前项目

不影响其他项目

①项目顺序

order 定义项目排列的顺序,值越小。越靠近起点。默认值为0

取值:无单位数字

②flex-grow

如果容器有足够大的剩余空间,项目将按比例放大(比例不准确)

取值,无单位数字   默认值 0

③flex-shrink

如果容器空间不够,项目将按比例缩小(比例不准确)

取值,无单位数字   默认值 1   取值越大,缩小的越快

④align-self

定义某一个项目在交叉轴上的对齐方式,不影响其他项目

取值

1.flex-start交叉轴起点对齐

2.flex-end 交叉轴终点对齐

3.center 交叉轴中间对齐

4.baseline 基线,同flex-start类似

5.stretch 项目不写高,充满容器整个高度

6.auto 使用align-items定义的值

三.css hack

由于不同的浏览器对css的解析认知是不同的,会导致同一份css在不同的浏览器生成的页面效果不同

我们要针对不同的浏览器写不同的css代码

这种写不同css代码的过程,就叫css hack

tmooc有相关的视频

-webkit-

-ms-

-moz-

-o-

四.转换(重点******)

1.什么是转换

改变元素在页面中的位置,大小,角度,形状

2D转换,只在x轴和y轴上发生转换

3D转换,增加了z轴的转换效果

2.转换属性

transform:

取值:1.none 默认值,无任何转换效果

2.转换函数 transform-function

转换函数 transform-function:位移,旋转,放大,倾斜,3D旋转

3.转换原点

transform-origin:

转换原点会影响元素旋转时的效果

取值:1.以px为单位的数字

2.%

3.关键字   left/center/right   top/center/bottom

4.2D转换

①位移

transform:translate();

取值 1.translate(x) 和 translateX(x)

x轴位移  + 往右    - 往左

2.translateY(y)

y轴位移  + 往下    - 往上

3.translate(x,y) 同时设置x轴和y轴的位移

②缩放

③旋转

④倾斜

css3弹性布局的更多相关文章

  1. 【repost】CSS3弹性布局

    本文导读:在CSS 3中,CSS Flexible Box模块为一个非常重要的模块,该模块用于以非常灵活的方式实现页面布局处理.使用CSS Flexible Box模块中定义的弹性盒布局技术,可以根据 ...

  2. css3弹性布局语法全解

    本文介绍css3弹性布局的语法 html布局 <div class="box"> <div class="item">1</div ...

  3. css3 弹性布局和多列布局

    弹性盒子基础 弹性盒子(Flexible Box)是css3中盒子模型的弹性布局,在传统的布局方式上增加了很多灵活性. 定义一个弹性盒子 在父盒子上定义display属性: #box{ display ...

  4. 从零开始学习前端开发 — 12、CSS3弹性布局

    一.分栏布局 1.设置栏数column-count:数值; 2.设置每栏的宽度column-width:数值+单位; 注:当设置了column-width,column-count会失效,二者设置其一 ...

  5. CSS3弹性布局内容对齐(justify-content)属性使用具体解释

    内容对齐(justify-content)属性应用在弹性容器上.把弹性项沿着弹性容器的主轴线(main axis)对齐. 该操作发生在弹性长度以及自己主动边距被确定后. 它用来在存在剩余空间时怎样加以 ...

  6. CSS3弹性布局内容对齐(justify-content)属性使用详解

    内容对齐(justify-content)属性应用在弹性容器上,把弹性项沿着弹性容器的主轴线(main axis)对齐. 该操作发生在弹性长度以及自动边距被确定后. 它用来在存在剩余空间时如何加以分配 ...

  7. css3 FlexBox 弹性布局

    Flex 弹性布局 这个是css3中新添加的内容,现在已经支持所有的浏览器,利用Flex布局,可以简便.完整.响应式地实现各种页面布局. 注意:在设置 flex 后,子元素的flaot ,clear, ...

  8. CSS3支持box-flex弹性布局

    <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title> ...

  9. 第 29 章 CSS3 弹性伸缩布局[上]

    学习要点: 1.布局简介 2.旧版本 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS3 提供的用来实现未来响应式弹性伸缩布局方案,这里做一个初步的了解. 一.布局简介 CSS3 提供一种崭新的 ...

随机推荐

  1. XSS Cheat Sheet(basics and advanced)

    XSS Cheat Sheet BASICS HTML注入 当输入位于HTML标记的属性值内或标记的外部(下一种情况中描述的标记除外)时使用.如果输入在HTML注释中,则在payload前加上&quo ...

  2. Vsftp用户限制

    背景 Oracle全库备份,异地备份 在实现异地备份后,由第三方人员登录服务器拉取dmp文件. 为了确保安全,创建一个特定ftp账号用于第三方人员使用 要求 1.可以登录服务器 2.可以拉取dmp文件 ...

  3. java之重载与重写

    重写(override) 重写是子类对父类的允许访问的方法的重新编写,方法名,返回值类型和形参列表都不能改变,唯一恩能够改变的是方法体. 重写的好处是可以根据子类的需要的行为来实现父类的方法. 重写方 ...

  4. 浅析Java三大特性封装、继承、多态,及作业分析

    前言 本次博客衔接上次博客,作为这一阶段Java学习的分析.上一篇博客着重介绍了Java的OO编程思维,面向对象与面向过程的区别.本篇博客重心在Java的三大技术特性,附带作业分析. Java三大特性 ...

  5. Get on the CORBA

    from: <The Common Object Request Broker: Architecture and Specification> Client To make a requ ...

  6. Greenplum列存压缩表索引机制

    列存压缩表,简称AOCS表 数据生成 create table testao(date text, time text, open float, high float, low float, volu ...

  7. Bind+DLZ+MySQL智能DNS的正向解析和反向解析实现方法

    使用文本配置文件的配置方式结合bind的最新的acl和view特性来实现智能DNS想必很多人已经很熟悉了,使用MySQL数据库来存放zone文件的方式可能也不少.对于两者都熟悉的,实现 Bind+DL ...

  8. Character Array and Character Pointer

    最近复习数据结构实验时,碰到这么一行代码,看的有点不爽. typedef char** HuffmanCode; 借此梳理下数组和指针. int* p; //指针变量p中存的地址代表的内存单元中的数据 ...

  9. ansible roles 自动化安装

    例:  ansible roles 自动化安装memcached 文件目录结构如下: cat memcached_role.yml - hosts: memcached remote_user: ro ...

  10. vue2.0那些坑之使用elementUI后v-on:click事件不生效问题

    最近在维护vue2.0的项目,遇到了不少坑,在这里说下引用elementui之后,使用v-on:click绑定点击事件无效的情况,如下图: 我想阻止冒泡事件,发现无效.这里将@click换成了@cli ...