1.12 变形倾斜、动画属性以及弹性盒

变形倾斜、动画属性以及弹性盒

一、变形倾斜

  • x轴倾斜 transform: skew X(数值deg)
  • y轴倾斜 transform: skew Y(数值deg)
  • x y 轴倾斜
    transform: skew X(数值deg) skew Y(数值deg)

二、动画属性

1、定义动画

(1)如果要加浏览器前缀的话

@-webkit-keyframes name{
		from{}
		to{}
	}

(2)不加浏览器前缀的时候

@keyframes 动画名{
		关键帧划分的时间
		from{}
		to{}
	}
@keyframes 动画名{
		关键帧
		0%{}
		……
		100%{}
	}

2、使用动画

  • animation-name:动画名; 必须
  • animation-duration:s/ms; 动画执行的时间 必须
  • 动画延迟时间:animation-delay:s/ms;
  • 执行效果:animation-timing-function:linear(匀速)
  • animation-iteration-count:数字/infinite(无限次)

3、执行次数

  • animation-play-state:running/paused(暂停)
  • animation-direction:normal(头-尾)/reverse(尾-头)/alternate(头-尾-头) 动画关键帧执行的方向
  • 动画停留的关键帧:animation-fill-mode:forwards(结束的关键帧)/backwards开始的关键帧

4、复合写法:

animation:动画名 动画执行的时间 动画延迟时间 执行效果 执行次数;

5、动画的和过渡的区别

  • 过渡需要结合hover,动画可结可不结
  • 动画可有执行无限次
  • 过渡只有两种状态,动画可有有多个状态

三、元素类型

1、置换元素

img / input / select / textarea / vidio / audio

  • 可以设置宽高,在同一行显示
  • 在浏览器显示的时候会自动形成一个区域,或者一块
  • 浏览器会根据当前标签以及标签中的属性,在浏览器上面显示不一样的效果

2、非置换元素: 除了置换元素

3、BFC(Block Formatting Context)

块级格式化上下文,是一个独立渲染的区域

(1)触发条件
  • overflow: hidden/scroll/auto;
  • float: left/right
  • position: absolute/fixed
  • display: inline-block/table-caption(表格表头)/table-cell(表格单元格)/flex(弹性盒)/inline-flex(内联弹性盒)
(2)特性
  • 在BFC的区域,浮动元素的高度会计算在内–主要和高度塌陷
  • BFC区域内的元素不会影响到外面的元素–主要和margin的重叠
  • BFC的区域不会和浮动元素重叠

四、弹性盒

1、给父元素身上加的属性

  • 形成弹性盒 display: flex;
  • 子元素在主轴上的位置 justify-content:
    • flex-start 默认值,主轴的起点
    • flex-end 主轴的终点
    • center 主轴的中心
    • space-between 两端对齐
    • space-around 中间是两端的2倍
    • space-evenly 平均
  • 子元素在交叉轴的位置 align-items:
    • stretch 拉伸,默认值,需要把子项的高度去掉才能拉伸
    • flex-start 交叉轴的起点
    • flex-end 交叉轴的终点
    • center 交叉轴居中
  • 换行 flex-wrap:nowrap(默认不换行)/wrap(换行),弹性盒子元素宽超出父元素会被压缩
  • 多行之间的位置(只针对多行) align-content:
    • stretch 拉伸,默认值
    • flex-start 整个盒子开始位置
    • flex-end 整个盒子结束的位置
    • center 整个盒子的中心
    • space-between 整个盒子两端
    • space-around 行和行中间的距离是两端2倍
    • space-evenly 行和行的距离平均
  • 主轴方向 flex-direction
    • row 从左向右,默认值
    • column 从上到下
    • row-reverse 从右到左
    • column-reverse 从下往上

2、加在子元素身上

  • 单独调整某个子元素在交叉轴的位置 align-self:
    • stretch 拉伸,默认值,需要把子项的高度去掉才能拉伸
    • flex-start 交叉轴的起点
    • flex-end 交叉轴的终点
    • center 交叉轴居中
  • 排序 order:数值;
    • 默认理解为0
    • 值越大,越靠后,可以为负数
  • 子项压缩 flex-shrink:1(压缩)/0(不压缩)
    • 如果子项不想被压缩,而且还不想换行时适用
  • 子项放大 flex-grow:0(不放大)/数值;
    • 要看父元素剩余的空间,值为1会把父元素剩余的空间全部都拿走
  • 子项宽度 flex-basis:数字px;
  • 复合写法:flex:子项放大(0) 子项压缩(1) 子项宽度(auto);
    • flex:1;效果和flex-grow是等同的

3、子元素水平垂直居中

父元素{
	display:flex;
	justify-content:center;
	align-items:center;
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值