本文的每一条,都是我曾经发过的掘金沸点,其中有很多条超过了百赞(窃喜)。
鉴于时不时有童鞋翻我以前的沸点,因此,本文收集了个人目前发过的所有CSS知识点动图,以便阅读。
需要说明的是,顺序仍是按当时发布顺序罗列的,还没有系统的总结,多多包涵。
另外这里,老姚谢谢各位一如既往的支持。
01.【负边距】 负边距的效果。注意左右负边距表现并不一致。左为负时,是左移,右为负时,是左拉。上下与左右类似
![7060cafb89c02c3b37bf8c641f3db5cc.gif](https://i-blog.csdnimg.cn/blog_migrate/3f1fa443dcaaf7c3dbbd16bad83eba9a.gif)
02.【shape-outside】❤不要自以为是了。你以为自己是方的,在别人眼里你却是圆的
![1ecc4c2e18dad966d554d13b6918c37a.gif](https://i-blog.csdnimg.cn/blog_migrate/3bb85c48f2bb4525dbce232a45def892.gif)
03.【BFC应用】 BFC应用之阻止外边距合并(margin collapsing)
![d9c6dac31c85c8a40c23c151c9c1de7b.gif](https://i-blog.csdnimg.cn/blog_migrate/899920329e18b3a13f43447b0d3ad4bf.gif)
04.【BFC应用】 BFC应用之消除浮动的影响
![f5734704c24ff40942a8d15534c68c88.gif](https://i-blog.csdnimg.cn/blog_migrate/df94e63fccabec1bfe8da12a66a3c31c.gif)
05.【flex不为人知的特性之一】 flex布局下margin:auto的神奇用法
![5834349d552703f83bbde6c1656e6cf3.gif](https://i-blog.csdnimg.cn/blog_migrate/bc4f9c88d54228b27c291cb4e5fb109b.gif)
06.【flex不为人知的特性之二】 flex布局,当flex-grow之和小于1时,只能按比例分配部分剩余空间,而不是全部
![9a6aabc6354051a3818f114e32c3851f.gif](https://i-blog.csdnimg.cn/blog_migrate/88a7fc447a541727f203cffdedbe3bf8.gif)
07.【input的宽度】 并不是给元素设置display:block就会自动填充父元素宽度。input 就是个例外,其默认宽度取决于size特性的值
![c3f427aa3dfe94e554ec83537ccc50c8.gif](https://i-blog.csdnimg.cn/blog_migrate/aba11055340be0811a52a647c8e0c91b.gif)
08.【定位特性】 绝对定位和固定定位时,同时设置 left 和 right 等同于隐式地设置宽度
![8fcc70377b1098366b58bc41e930b091.gif](https://i-blog.csdnimg.cn/blog_migrate/ecac44555e6922e41c0257e76eb8cbd0.gif)
09.【层叠上下文】 层叠上下文:小辈就是小辈,再厉害也只是个小辈
![a792a232e971c72e50fd9eafb125605b.gif](https://i-blog.csdnimg.cn/blog_migrate/4361e1cb9ff2240a04dd9bac7300468d.gif)
10.【粘性定位】 position:sticky,粘性定位要起作用,需要设置最后滞留位置。chrome有bug,firefox完美
![07461a63ab0d714464a921e609843cf3.gif](https://i-blog.csdnimg.cn/blog_migrate/57fd4228e47e46d0f0ea9a798d93ace0.gif)
11.【相邻兄弟选择器】 相邻兄弟选择器之常用场景
![09af35f3ce8d4645eeb96cc74fbd9677.gif](https://i-blog.csdnimg.cn/blog_migrate/7e5b9ea9c35457c6f9c7c334ec967985.gif)
![8c65003f19fa48c869f709ff66e80165.png](https://i-blog.csdnimg.cn/blog_migrate/274b07e38a9cb2b4d6ef8384d9cc5b38.jpeg)
12.【模态框】 要使模态框背景透明,用rgba是一种简单方式
![0fdd45457b303af2735112a139943674.gif](https://i-blog.csdnimg.cn/blog_migrate/3d581f07c38ef62e118ea1d4425862e9.gif)
![8c65003f19fa48c869f709ff66e80165.png](https://i-blog.csdnimg.cn/blog_migrate/274b07e38a9cb2b4d6ef8384d9cc5b38.jpeg)
13.【三角形】 css绘制三角形的原理
![44c64accea08ef16a4953bfd427eb068.gif](https://i-blog.csdnimg.cn/blog_migrate/7667a0933403a4e546f28698a4fa4f69.gif)
14.【table布局】 display:table实现多列等高布局
![ef5a6abc3671433ee48b33c1294092cf.gif](https://i-blog.csdnimg.cn/blog_migrate/8b550815188311058c90ad9326d30238.gif)
15.【颜色对比度】❣蓝底红字,由于颜色对比度比较低,故而看不清,因此不是好的配色方案
![82f0b01ad105805d934c28c4616a8d13.gif](https://i-blog.csdnimg.cn/blog_migrate/cf494ef0779a8b2eca86f205871c3783.gif)
16.【定宽高比】♥css实现定宽高比的原理:padding的百分比是相对于其包含块的宽度,而不是高度
![2c6647d7a6f4e28ce43934fd7ad45226.gif](https://i-blog.csdnimg.cn/blog_migrate/122be22af2002368bc57ca98c7893655.gif)
![8c65003f19fa48c869f709ff66e80165.png](https://i-blog.csdnimg.cn/blog_migrate/274b07e38a9cb2b4d6ef8384d9cc5b38.jpeg)
17.【动画方向】 动画方向可以选择alternate,去回交替进行
![1713cceb643a37777f4d059b19dba72a.gif](https://i-blog.csdnimg.cn/blog_migrate/53a8d4d12cd6969f79eb593b073fdf4b.gif)
18.【线性渐变应用】 css绘制彩带的原理
![befbc6c2cf3069de14b573029d4d935b.gif](https://i-blog.csdnimg.cn/blog_migrate/fa0eec0abbda50d35295c921d1fb6a58.gif)
19.【隐藏文本】 隐藏文字内容的两种办法
![1a4570c5709c39e2262572090436efdb.gif](https://i-blog.csdnimg.cn/blog_migrate/bfe4f2f7cae3d98146c515159ca9976a.gif)
20.【居中】 实现居中的一种简单方式
![91a363d7da799e8ff54f1b3853dde240.gif](https://i-blog.csdnimg.cn/blog_migrate/6579b21f7a97c6e925b525088ef228a9.gif)
21.【角向渐变】 新的渐变:角向渐变。可以用来实现饼图
![b5f323ec39f127b233fdfddd99631893.gif](https://i-blog.csdnimg.cn/blog_migrate/b3633f64903f0b3e3d1293d3a81f4662.gif)
22.【背景位置百分比】 background-position百分比的正确理解方式:图片自身的百分比位置与容器同样的百分比位置重合
![4684dd1f9a2b9e555dcedc919068d704.gif](https://i-blog.csdnimg.cn/blog_migrate/56cb195f64b39501f26e46974e7905c3.gif)
23.【背景重复新值】 background-repeat新属性值:round和space。前者表示凑个整,后者表示留点缝
![803d0ed93265e4e2c7337b3fc9c75b3d.gif](https://i-blog.csdnimg.cn/blog_migrate/bff422179c13956a833a7c3110529b03.gif)
24.【背景附着】 background-attachment指定背景如何附着在容器上,注意其属性值local和fixed的使用
![1135621512a265f446a0b03facfb37c5.gif](https://i-blog.csdnimg.cn/blog_migrate/0582a8ef5e270fc50b0b1d21a137da81.gif)
25.【动画延时】 动画添加延迟时间可以使步调不一致
![f0bf5074fe2e6924ef3affa4d6b5d998.gif](https://i-blog.csdnimg.cn/blog_migrate/fe9ae374a8a6ae482f5bbd8c95fcd3dc.gif)
26.【outline使用】 可以使用outline来描边,不占地方,它甚至可以在里面
![ad895b5fb75d9158b77a967f6fcd61f5.gif](https://i-blog.csdnimg.cn/blog_migrate/d48495621df5e97a9b9e96aad76e6051.gif)
27【背景定位】 当固定背景不随元素滚动时,背景定位是相对于视口的
![b196f4d969db3d30ca6b9abeb0b53808.gif](https://i-blog.csdnimg.cn/blog_migrate/3c543232a272c841fde06bedf6f4a8eb.gif)
28【tab-size】 浏览器默认显示tab为8个空格,tab-size可以指定空格长度
![edc51e4380e31ee153285f90798534a1.gif](https://i-blog.csdnimg.cn/blog_migrate/a5ec98a578ddc510ba6e65ea5de70aed.gif)
29【动画暂停】 CSS动画其实是可以暂停的
![bbad39d450356ef5226626ec391d0a04.gif](https://i-blog.csdnimg.cn/blog_migrate/6abff42dc972eee9fa0834a5b6cab931.gif)
30【object-fit】 图片在指定尺寸后,可以设置object-fit为contain或cover保持比例
![178c987cfb24a45def269c46334ec312.gif](https://i-blog.csdnimg.cn/blog_migrate/7066daaa068663a4723f77cf98634dce.gif)
31【鼠标状态】 按钮禁用时,不要忘了设置鼠标状态
![b1bb0b250f7739b8c830718476c0d6d9.gif](https://i-blog.csdnimg.cn/blog_migrate/6e366c5c24000bff50710e80290b1241.gif)
32【背景虚化】 使用CSS滤镜实现背景虚化
![b167f7845fd9faef56c8c93e7fd8f7f4.gif](https://i-blog.csdnimg.cn/blog_migrate/d8d5121f55b03343a7a0766995cc4890.gif)
33【fill-available】 设置宽度为fill-available,可以使inline-block像block那样填充整个空间
![3240280ef8d8e3663ee6836abd4a2290.gif](https://i-blog.csdnimg.cn/blog_migrate/9d020f83787494e9094609e48d2acd0b.gif)
34【fit-content】 设置宽度为fit-content,可以使block像inline-block那样实现收缩宽度包裹内容的效果
![c2bf91495e0e6e234dba4b2347416999.gif](https://i-blog.csdnimg.cn/blog_migrate/81b650eb8da5c140d4dbc876161d6eea.gif)
35【自定义属性】 CSS自定义属性的简单使用
![397ec743cc781e8a102ae8e977d6c9f8.gif](https://i-blog.csdnimg.cn/blog_migrate/47c796febd78b585af2f5be24994bc9d.gif)
36【min-content/max-content】 可以设置宽度为min-content和max-content,前者让内容尽可能地收缩,后者让内容尽可能地展开
![5cf661f41638a64a10f349fdd78ba5af.gif](https://i-blog.csdnimg.cn/blog_migrate/6c736286f0dabc4352478a9d8b4183ec.gif)
37【进度条】 使用渐变,一个div实现进度条37【进度条】 使用渐变,一个div实现进度条
38【打印】 可以在打印网页时,设置page相关属性。比如page-break-before属性来表示是否需要另起新页
![f0a79ad37908e858342c3d4d78c63b45.gif](https://i-blog.csdnimg.cn/blog_migrate/eaebe0ad5040a6a81b850622714f4278.gif)
39【逐帧动画】 利用CSS精灵实现逐帧动画
![3828b3a6b47e9acf40b130cdaa99521a.gif](https://i-blog.csdnimg.cn/blog_migrate/881b3fa6544c001511ffb560160c0d44.gif)
40【resize】 普通元素也可以像textarea那样resize
![d1562842d380ad336a4c313887f96388.gif](https://i-blog.csdnimg.cn/blog_migrate/49beebed232dd4343fa6ac86866796a0.gif)
41【面包屑】 使用before伪元素实现面包屑
![031de7191d37a343e7e1c6f906b92547.gif](https://i-blog.csdnimg.cn/blog_migrate/1c92b24b383e4d47d215bb457aa9bab0.gif)
42【sticky footer】 使用grid布局实现sticky footer
![317f31e6b5930cdedcec3a568611a612.gif](https://i-blog.csdnimg.cn/blog_migrate/aa89ba15d2afc044b1bec372ed9fa98c.gif)
43【动画填充状态】 CSS可以设置动画开始前和结束时所保持的状态
![5d23099cbaf911ce4d53d22527e3bee1.gif](https://i-blog.csdnimg.cn/blog_migrate/9ce2c6cdd80896b32cd4db491e6be79b.gif)
![031de7191d37a343e7e1c6f906b92547.gif](https://i-blog.csdnimg.cn/blog_migrate/1c92b24b383e4d47d215bb457aa9bab0.gif)
![8c65003f19fa48c869f709ff66e80165.png](https://i-blog.csdnimg.cn/blog_migrate/274b07e38a9cb2b4d6ef8384d9cc5b38.jpeg)
44【动画负延迟】 CSS动画可以设置延迟时间为负数,表示动画仿佛开始前就已经运行过了那么长时间
![2fc554f27811c10f32539809f08967ab.gif](https://i-blog.csdnimg.cn/blog_migrate/27f553b77ee184789b88f99c4ada66a1.gif)
![8c65003f19fa48c869f709ff66e80165.png](https://i-blog.csdnimg.cn/blog_migrate/274b07e38a9cb2b4d6ef8384d9cc5b38.jpeg)
45【过渡】 爱的魔力转圈圈
![1d470171140b36b3c2d48a9148756faa.gif](https://i-blog.csdnimg.cn/blog_migrate/62de285d06701a0cd405ff032ab5c76e.gif)
46【动画案例】 水波效果原理
![6723ad6949f7296c24225443346e08be.gif](https://i-blog.csdnimg.cn/blog_migrate/bb71d261d50ec974f50ba38a8d19ae02.gif)
47【动画案例】 CSS弹球动画效果的原理
![cea38128973e7025bf6722a14dbdd4c1.gif](https://i-blog.csdnimg.cn/blog_migrate/3bd3934da77a52498062e4d4fe1ac4a1.gif)
48【outline】 outline属性的妙用
![81e2eaff60ee973d680af45b559e33a9.gif](https://i-blog.csdnimg.cn/blog_migrate/eca9d486325e09e554bd6dde19470bba.gif)
49【grid】 火狐浏览器grid布局检测器
![a3bb8a879514a743d10d0de0e824ef56.gif](https://i-blog.csdnimg.cn/blog_migrate/a65f746443aef4e4a4a5161f166d46e6.gif)
希望有所帮助。
也欢迎阅读本人的《JS正则迷你书》。
本文完。
原作者姓名:老姚
原出处:掘金
原文链接: https:// juejin.im/post/5d3eca78 e51d4561cb5dde12