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

news/2024/6/19 6:22:23 标签: css3, 前端, css

过渡属性

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}}


http://www.niftyadmin.cn/n/737315.html

相关文章

Element 单选框 el-radio-group 点击改变触发change事件

1.代码段 <el-form-item label"会议类型" prop"kind"><el-radio-group type"kind" v-model"form.kind" change"agreeChange"> <el-radio label"普通会议" style"font-size: 25px" >…

高度塌陷问题以及BFC

高度塌陷产生的条件&#xff1a; 1、父元素不设高&#xff1b; 2、所有子元素浮动 由于子元素浮动脱离文档流&#xff0c;父元素高度变为0&#xff1b;会影响其他元素布局 解决方法&#xff1b; 1、给父元素添加overflow:hidden属性&#xff1b;&#xff08;BFC原理&#…

元素见缝插针等常见问题总结

元素见缝插针问题&#xff1a; 元素都给浮动后&#xff0c;排列多行时&#xff0c;给了hover:margin-top:-10px; 则一行中最后一个元素触发hover时会导致本该排列在第二行的第一个元素见缝插针挤在第一行最后一个元素下的一点10px空间 原因&#xff1a; 位置空出&#xff0…

js数组三种排序方式(冒泡排序、选择排序、sort()排序)

冒泡排序 <script type"text/javascript">var arr1 [1, 5, 6, 4, 8, 9, 2, 4];function sort(arr) {var t;for (var i 0; i < arr.length - 1; i) {for (var j 0; j < arr.length - 1 - i; j) {if (arr[j] > arr[j 1]) {t arr[j];arr[j] arr[j…

关于Vue中的 render: h = h(App) 具体是什么含义?

大概的翻译下&#xff1a; render: h > h(App) 是下面内容的缩写&#xff1a; render: function (createElement) {return createElement(App); }进一步缩写为(ES6 语法)&#xff1a; render (createElement) {return createElement(App); }render (h){return h(App); }按…

关于js数组的方法(api)

数组的三个迭代函数 方法forEachmapfilter功能遍历整个数组执行某种功能遍历整个数组&#xff0c;执行某种功能&#xff0c;根据return返回新数组遍历整个数组&#xff0c;根据return的布尔值&#xff0c;返回新数组参数arr.forEach(回调函数)arr.map(回调函数)filter(回调函数…

Vue.js引入echarts、elementUI

1.下载elementUI npm install element-ui -s2.下载echarts组件 npm install echarts --save3.package.json查看版本 4.我们在main.js下引用我们下载的 5.main.js代码 import elementui from element-ui import element-ui/lib/theme-chalk/index.css import echarts from …

关于js字符串的方法(api)

字符串api 方法功能参数返回值charAt返回对应位置的字符str.charAt(位置)对应位置的字符charCodeAt返回对应位置的字符的asc值str.charCodeAt(位置)对应位置的字符的asc值fromCharCode返回该asc值对应的字符String.fromCharCode(asc值)对应asc值的字符indexOf查找第一个该元素…