作者:老姚《JS正则迷你书》的作者 https://github.com/qdlaoyao/css-gif

本文的每一条,都是我曾经发过的掘金沸点,其中有很多条超过了百赞(窃喜)。鉴于时不时有童鞋翻我以前的沸点,因此,本文收集了个人目前发过的所有 CSS 知识点动图,以便阅读。

需要说明的是,顺序仍是按当时发布顺序罗列的,还没有系统的总结,多多包涵。另外这里,老姚谢谢各位一如既往的支持。???

01.【负边距】?负边距的效果。注意左右负边距表现并不一致。左为负时,是左移,右为负时,是左拉。上下与左右类似

df7f3416ab021f161a251bf2d79b8aad.gif

02.【shape-outside】❤不要自以为是了。你以为自己是方的,在别人眼里你却是圆的

5dca4f3a0ecfdedcd4b843c34f84ab4a.gif

03.【BFC应用】?BFC应用之阻止外边距合并(margin collapsing)

1f1384cf0cdfeeaa70464a1ecfba6618.gif

04.【BFC应用】?BFC应用之消除浮动的影响

62e04357f179023d9c811dbb920ca68b.gif

05.【flex不为认知的特性之一】?flex布局下margin:auto的神奇用法

13aa403e072b38efb8d73cd55217b726.gif

06.【flex不为认知的特性之二】?flex布局,当flex-grow之和小于1时,只能按比例分配部分剩余空间,而不是全部

8f2ca6a59d937198bd63fee801ebed68.gif

07.【input的宽度】?并不是给元素设置display:block就会自动填充父元素宽度。input 就是个例外,其默认宽度取决于size特性的值

7f312487d328954ed1e1d09c65183ec0.gif

08.【定位特性】?绝对定位和固定定位时,同时设置 left 和 right 等同于隐式地设置宽度

f2c37a946a86e8a1fe127d7db1f720ca.gif

09.【层叠上下文】?层叠上下文:小辈就是小辈,再厉害也只是个小辈

62970e233b1b0447d34eac6e131caa51.gif

10.【粘性定位】?position:sticky,粘性定位要起作用,需要设置最后滞留位置。chrome有bug,firefox完美

a08ed8ccd9de156f6fb34326c19d1bcc.gif

11.【相邻兄弟选择器】?相邻兄弟选择器之常用场景

406fc1920b3f1e9c3d3e29169a737934.gif

12.【模态框】?要使模态框背景透明,用rgba是一种简单方式

4e3fbb67507a51e91caaebe8229e3d6d.gif

13.【三角形】?css绘制三角形的原理

4283587e9d01eca96c565aa8a1478e04.gif

14.【table布局】?display:table实现多列等高布局

8201051dff856ed9c5e8bb36bc3c0f57.gif

15.【颜色对比度】❣蓝底红字,由于颜色对比度比较低,故而看不清,因此不是好的配色方案?

2d9495f4ff7769d949bf77ca75ae9d7c.gif

16.【定宽高比】♥css实现定宽高比的原理:padding的百分比是相对于其包含块的宽度,而不是高度

8c2e027adf1604a77697070659fcca60.gif

17.【动画方向】?动画方向可以选择alternate,去回交替进行

abb3100fae4cb7fea684fda78b3ab729.gif

18.【线性渐变应用】?css绘制彩带的原理

18cd9e1154e011232e982d828096abb1.gif

19.【隐藏文本】?隐藏文字内容的两种办法

876fdf72757cde68ddcdaa47f5f0c5c2.gif

20.【居中】?实现居中的一种简单方式

2df0e5dd70f467986aeb9239c0a7d073.gif

21.【角向渐变】?新的渐变:角向渐变。可以用来实现饼图

c65453afdb24cde9dc82eaa0e15ba031.gif

22.【背景位置百分比】?background-position百分比的正确理解方式:图片自身的百分比位置与容器同样的百分比位置重合

fd7c09f1a93a33448d56ac4e5b6c52d3.gif

23.【背景重复新值】?background-repeat新属性值:round和space。前者表示凑个整,后者表示留点缝

64121cff0a695aee419d325c11bb558b.gif

24.【背景附着】?background-attachment指定背景如何附着在容器上,注意其属性值local和fixed的使用

4adba3b8c9d97a4de18a5564b9f24234.gif

25.【动画延时】?动画添加延迟时间可以使步调不一致

839afdf981f721619874035361a675ef.gif

26.【outline使用】?可以使用outline来描边,不占地方,它甚至可以在里面

d9b1ca11c2e269b732f2dc0ad5b4cdd8.gif

27【背景定位】?当固定背景不随元素滚动时,背景定位是相对于视口的

fcc2f9f07b76923a24b54ea16553c93d.gif

28【tab-size】?浏览器默认显示tab为8个空格,tab-size可以指定空格长度

eea82dc8a77b38c5850caa3709a1c45c.gif

29【动画暂停】?CSS动画其实是可以暂停的

fd01bf6cf6a27e3d8668a05578997621.gif

30【object-fit】?图片在指定尺寸后,可以设置object-fit为contain或cover保持比例

6015eebd0e32d34f85ab27c67f6336f4.gif

31【鼠标状态】?按钮禁用时,不要忘了设置鼠标状态

e947f239a041a9b71f084bd2c7a5cba4.gif

32【背景虚化】?使用CSS滤镜实现背景虚化

b86b24fcdfb7c80e2b3016e6335fe5de.gif

33【fill-available】?设置宽度为fill-available,可以使inline-block像block那样填充整个空间

3287597ee21cc1643a35c9c5dd2f42fc.gif

34【fit-content】?设置宽度为fit-content,可以使block像inline-block那样实现收缩宽度包裹内容的效果

f7513fc03f5817f3923f84750759632d.gif

35【自定义属性】?CSS自定义属性的简单使用

3d9ab0bc3ac3ae5a06c90ab83842e8f7.gif

36【min-content/max-content】?可以设置宽度为min-content和max-content,前者让内容尽可能地收缩,后者让内容尽可能地展开

4ac955001245c6d24b15fa115c709a0b.gif

37【进度条】?使用渐变,一个div实现进度条

d72e893f716baeed26a9a558fe358d04.gif

38【打印】?可以在打印网页时,设置page相关属性。比如page-break-before属性来表示是否需要另起新页

48fb23078fdb8700a3b7421b8a1aa8dd.gif

39【逐帧动画】?利用CSS精灵实现逐帧动画

41eddf4b96d58362ab270e5852036093.gif

40【resize】?普通元素也可以像textarea那样resize

b32fc2e3ebd1baf13baf2c2e3585ff90.gif

41【面包屑】?使用before伪元素实现面包屑

051a86313d4525c922d422fdfa225c6f.gif

42【sticky footer】?使用grid布局实现sticky footer

29879a614e6ca07b239a087a787e3e13.gif

43【动画填充状态】?CSS可以设置动画开始前和结束时所保持的状态

09a252c8f8b6825e0882c944d7745af5.gif

44【动画负延迟】?CSS动画可以设置延迟时间为负数,表示动画仿佛开始前就已经运行过了那么长时间

86432f26e606279efd469d73473cdd9b.gif

45【过渡】?爱的魔力转圈圈

ac3b0bf5be2e8da031e43d9f275a1344.gif

46【动画案例】?水波效果原理

3943ff9a00a562b2a8c8f48031c30908.gif

47【动画案例】?CSS弹球动画效果的原理

2db8e23c9b7f5342c670c8e641a9c6ed.gif

48【outline】?outline属性的妙用

c303d6034b268d84c9a0a5b5183cdd7a.gif

49【grid】?火狐浏览器grid布局检测器

0158f8823de43f41278fc2ba86d053b7.gif

希望这些知识点对你有所帮助。

也欢迎阅读本人的《JS正则迷你书》: https://github.com/qdlaoyao/js-regex-mini-book

最后

如果你想进【大前端交流群】,关注公众号点击“交流加群”添加机器人自动拉你入群。关注我第一时间接收最新干货

b895c041e088c58dce8452235f956a23.png

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐