CSS3.0(过渡、动画、弹性盒、响应式)总结(2)

过渡属性

transition:属性 时间 延迟时间 效果

property   duration  delay  timing-function

过渡属性谁变给谁加,使用复合写法只需要写时间即可生效,属性默认是all


动画属性

定义动画:

@keyframs 动画名{from{} 50%{} to{}}

使用动画:

复合写法 animation:动画名 时间 延迟时间 效果 次数 交替 停止 停在哪一帧

动画时间及延迟

animation-duration/ delay:s/ms

动画效果属性及属性值

animation-timing-function:linear/ease(默认值)/ease-in/ease-out/ease-in-out

分别表示:匀速/开始时候慢,中间增快结束时变慢/逐渐加速/逐渐减速/动画以低速开始和结束

动画执行次数

animation-interation-count:数字/infinte(无限次)

动画交替

animation-direction:reverse/alternate(正反交替)

动画停止

animation-play-state:running/paused(暂停)

动画停止位置
animation-fill-mode:backwards(停在第一个关键帧)/forwards(最后一个关键帧)


过渡和动画属性的区别:

1、过渡需要鼠标触发,动画不需要鼠标触发自动执行

2、动画可以循环

3、动画可以有多个状态,添加多个关键帧

4、动画可以停止


弹性盒布局及其属性

父元素属性

形成弹性盒display:flex

主轴方向flex-direction:row/row-reverse/column/column-reverse

主轴排列方式justify-content:flex-start/center/flex-end/space-between/space-around/space-evenly

交叉轴排列方式align-items:stretch/flex-start/center/flex-end

换行属性flex-wrap:nowrap(默认不换行)/wrap

多行元素交叉轴排列方式align-content:stretch/flex-start/center/flex-end/space-between/space-around/space-evenly

子元素属性

某个子元素在交叉轴的排列方式属性align-self

排列顺序order:数值(数值越大越靠后)

压缩属性flex-shrink:1表示默认值压缩/0代表不压缩

放大属性flex-grow:1表示拿取剩余的空间(0是默认值表示不放大)

子项宽flex-basis:数值PX/百分比

复合写法:flex:放大 压缩 宽

flex:1即可表示放大属性


弹性盒小结:

  • 形成弹性盒后所有元素默认横着(主轴)从左致右排列,默认即使设置了宽度也会压缩(flex-shrink=1)至容器内;
  • 默认子元素没有高度的话会在交叉轴方向自动拉伸至充满容器(有高度则不会);
  • 如果设置了flex-wrap:wrap后形成多行元素,没有高度同样会拉伸至容器高度刚好能够包含所有元素,如果子元素设置了高度,子元素可能会存在下间距,原因是子元素的拉伸间距默认是已经预留出来的,这时使用多行交叉轴排列属性即可正常调整样式;
  • 容器给宽高再给弹性盒,子元素不设置高,使其自动拉伸,之后使用交叉轴排列方式居中即可(高度宽度由子元素内容撑开)实现子元素内容居中显示,如果子元素设置了100%的高度,则子元素不会居中
  • 子元素高度不设置,默认拉伸至充满容器,但是如果给多行交叉轴排列属性的话,没有内容的子元素会高度塌陷为0
  • 形成弹性盒之后,子元素宽度被压缩,但是图片不会被压缩
  • 如何形成横向滚动条(移动端常用):第一种情况:子元素宽度由内容撑开(不设宽),再给margin(margin不会被压缩),最后给overflow:auto即可/第二种情况:子元素设置宽,给子元素设flex-shrink:0不压缩,再给overflow:auto即可

响应式界面

根据不同的浏览器的视口大小改变样式

媒体查询

@media 媒体类型 and (媒体特性){}

max-width:数值px     表示当视口低于该值时显示的样式

min-width:数值px     表示视口高于该值时显示的样式

写法如下

@media all and (max-width:300px){div{height:200px;color:red} p{width:100px}}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值