惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

U
Unit 42
N
News and Events Feed by Topic
S
Schneier on Security
G
GRAHAM CLULEY
Scott Helme
Scott Helme
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
GbyAI
GbyAI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
C
CERT Recently Published Vulnerability Notes
T
The Exploit Database - CXSecurity.com
C
Cisco Blogs
T
The Blog of Author Tim Ferriss
Cisco Talos Blog
Cisco Talos Blog
P
Privacy & Cybersecurity Law Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
博客园 - 司徒正美
Blog — PlanetScale
Blog — PlanetScale
Project Zero
Project Zero
MyScale Blog
MyScale Blog
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Apple Machine Learning Research
Apple Machine Learning Research
小众软件
小众软件
The Last Watchdog
The Last Watchdog
Vercel News
Vercel News
The Cloudflare Blog
C
Check Point Blog
Help Net Security
Help Net Security
Microsoft Security Blog
Microsoft Security Blog
AI
AI
Simon Willison's Weblog
Simon Willison's Weblog
云风的 BLOG
云风的 BLOG
M
MIT News - Artificial intelligence
Stack Overflow Blog
Stack Overflow Blog
腾讯CDC
NISL@THU
NISL@THU
S
Security @ Cisco Blogs
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
S
SegmentFault 最新的问题
MongoDB | Blog
MongoDB | Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
T
Threatpost
AWS News Blog
AWS News Blog
Cloudbric
Cloudbric
N
News and Events Feed by Topic
PCI Perspectives
PCI Perspectives
S
Securelist
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V
Vulnerabilities – Threatpost
S
Secure Thoughts

一颗小树

周更的第 100 篇 改变阅读方式 宝贵的人生建议 小树的工具库 2023 读《重构》有感 仅需 10 分钟,用 GPTs 实现文章总结助手 高质量的需求交付 产品始于问题,而不是解决方案 如何更好地休息 最优解人生 与体重斗,其乐无穷 结构化 prompt = 数字员工? 持续创作的法门 如何降低知识焦虑 7 月思维碎片 N 倍生产力提升:我的 AI 助理 Indie Hacker,互联网打工人的下一个出路? 如何成就伟大事业 夏日碎片 小报编辑的自我修养 一颗小树 #49 投入真实生活 一颗小树 #48 过年杂记 一颗小树 #47 我的人生信念(2023) 一颗小树 #46 回本就卖 一颗小树 #45 规划和落地 小树的 2022 年终总结 一颗小树 #44 构建高质量信源 一颗小树 #43 我的 2022 书单 一颗小树 #42 阳了怎么办 一颗小树 #41 一人企业 一颗小树 #40 非必要别正常啦 一颗小树 #39 阅读和创造 一颗小树 #38 疫情生活碎片 一颗小树 #37 基于多维表格的可转债投资系统 一颗小树 #36 飞盘初体验 一颗小树 #35 雁栖湖半日游 一颗小树 #34 初探多维表格 一颗小树 #33 回不去的名字叫家乡 一颗小树 #32 生活需要留白 一颗小树 #31 Figma 的成功之道 一颗小树 #30 拓宽自己 拥抱善意 一颗小树 #29 有关下雨的记忆 一颗小树 #28 隐入尘烟 一颗小树 #27 找到并坚持自己的热爱 一颗小树 #26 好产品的“差”改版 一颗小树 #25 吹吹南澳岛的海风 一颗小树 #24 代码重构的一点心得 一颗小树 #23 和团队新同学的对话 一颗小树 #22 从《干法》中学到的 一颗小树 #21 阿里四年我的收获和感想 一颗小树 #20 周更半年我学到的事 一颗小树 #19 慢慢来比较快 一颗小树 #18 只规划每天最重要的三件事 一颗小树 #17 裁员潮下的反思 一颗小树 #16 纪录片的力量在于真实 一颗小树 #15 世界很小但很好 一颗小树 #14 让自己成为问题的终结者 一颗小树 #13 别忘记你的热爱 一颗小树 #12 聊聊写作这件事 一颗小树 #11 开始投资前更重要的事 一颗小树 #10 疫情囤货指南 一颗小树 #9 疫情之下 重建内心的秩序 一颗小树 #8 不要倒在黎明前 一颗小树 #7 从小孩子身上学到的事 一颗小树 #6 和自己的产品一起成长 一颗小树 #5 技术对生产力的的变革是不可阻挡的 一颗小树 #4 暴风雨的意义 一颗小树 #3 投资成功,是我们变成一个更好的人之后自然的结果 一颗小树 #2 持续学习来应对这个复杂多变的世界 一颗小树 #1 任天堂和上岭村 一颗小树 #0 这是写给你们的第一封信 游戏改变世界 把自己给开源了 构建自己的不为清单 有爱和被爱 做了一点微小的工作 小树的 2021 年终总结 小树的 2020 年终总结 与其感慨路难行,不如马上出发 阿里前端也切图?不,人工智能帮你做 如何写好简历,拿到大厂 offer 的敲门砖 任时光匆匆流去 | 2019 年终总结 聊聊在阿里远程办公那点事儿 在 D2 做主持人是怎样一种体验? 提高工作效率的几个方法 有限状态机在 CSS 动画中的应用 「译」React 项目结构和组件命名之道 编写小而美函数的艺术 使用纯粹的JS构建 Web Component 翻译计划-状态管理请三思 利用Dawn工程化工具实践MobX数据流管理方案 高性能 MobX 模式(part 3)- 用例教程 高性能 MobX 模式(part 2)- 响应变化 技术文章写法浅谈 翻译计划-用node.js开发一个可交互的命令行应用 无他,唯手熟尔-前端实习面试题篇 工欲善其事必先利其器-前端实习简历篇 手把手带你用原生js实现css属性的set和get 我们来翻翻元素样式的族谱-getComputedStyle 翻译计划-从sass到PostCSS
百度前端学院笔记-css3特性的研究
也树 · 2016-03-26 · via 一颗小树

关于一些 css3 新特性的研究

Task_1_12

任务描述

实现单双行列不同颜色,且前三行特殊表示的表格 实现正常状态和 focus 状态宽度不一致的 input 文本输入框,且鼠标焦点进入输入框时,宽度的变化以动画呈现 不使用 JavaScript,实现一个 Banner 图轮流播放的效果,且点击右下角的 1,2,3 可以切换到对应 Banner 图片

使用纯 css 来实现第一个任务,我的脑海里第一个浮现的就是强大的 nth-child 选择器,可以完美实现需求,至于兼容性,除了 IE8 以及更早的浏览器都支持,对于大多数的用户来说已经完全支持,perfect! 第二个任务就需要用到 transition 这个用来过渡展示效果的属性。 第三个任务一开始完全没有头绪,经过查看手册,发现了同样相当完美的 target 选择器,兼容性依然是除 IE8 及更早的浏览器全部都支持。

收获

任务一

首先依然是不太熟悉的 table 布局,一开始一直在纠结竖直方向的分割线如何实现。尝试了许多种 border 的写法都不能完美的实现设计图中的边框,在 review 了一些团队的代码后发现似乎并没有使用到特殊的 hack,没有思路的情况下选择了先实现其他的效果,结果发现分割线自动显示出来。经过查看 chrome 开发者模式下 table 的默认属性,发现 border-collapse 属性的默认值是 separate,即边框会以分隔的形式表现,如果将这个值改为 collapse 则中间的分隔竖线会消失。经过测试发现浏览器在处理 separate 时默认选择了背景色作为分割线。 实现的效果很简单,用 css3 的 nth-child 选择器可以在不添加一个类名的情况下全部实现。首先介绍一下 nth-child 选择器:

:nth-child(n) 选择器匹配属于其父元素的第 n 个子元素,不论元素的类型。 n 可以是数字、关键词或公式。 :nth-child(odd) 奇数个子元素 :nth-child(even) 偶数个子元素 :nth-child(3n+1) n 从 0 开始计数

但是对于第一行来说和下面的样式区别较大,因此将 table 分成三部分 thead,tfoot,tbody,经过查阅标准后得知浏览器对于这三个标签的支持并不好,而且依据标准这三个标签需要一起使用,因此真正实现的时候需要灵活使用通过添加类名的方式来实现各部分更精细的效果,不必苛求 nth-child 选择器。

任务二

任务二比较简单,只需要使用 css3 里的 transition 以及:focus 选择器即可。唯一比较遗憾(开心)的是 IE10 及以上才支持 transition,兼容性不佳,此处不再赘述。

任务三

往常说到轮播图,第一感觉就是 js 的思路,但是这个任务目标让我眼前一亮,因为从来没有想到 css3 有这么强大的选择器。没错,就是 target!可以通过锚点选取到活动元素之后产生效果。最初对这个选择器理解有误,以为是在锚点元素上使用,经过不断测试发现需要是在选取到的活动元素上作用。 我完成轮播图的思路是固定一个区域的宽高,设置溢出隐藏,之后在内部的一个容器中放三个内容块使其处于同一行,通过设置该容器的左右移动和过渡来实现轮播图左右切换的效果。 遇到的又一个问题就是,最初将内容块的 id 设置为锚对应的值,之后发现目前的 css 标准中并没有可以选择父元素的选择器,因此额外增加了三个标签和~选择器用于选取显示内容块,个人感觉有些繁琐,不够优雅。

小结

任务一和任务三加深了我对 css3 选择器的理解,任务二则是简单的应用 transition。任务并没有过多的提及 css3 中的变换,之前研究了一下 2d 变换和 3d 变换以及 css3 动画的实现,感受到 css3 的强大之处,希望在以后的学习中能够加深这一部分的理解,用 css 完成更多精美的动效。

参考资料

我的 IFE 代码仓库 CSS3 :nth-child()选择器 自己写的一些 css3 小 demo css 基础属性研究 自留地——box-shadow 的研究