很多人认为CSS并非编程语言,我同意——它更难掌握。精通CSS需要设计能力、决心、创造力、经验以及编码技能(尤其是在使用Sass等预处理器时)。
CSS向浏览器建议布局和样式。浏览器可以随意解释这些建议,甚至用户或设备可以忽略或覆盖任何属性。创建在所有设备和屏幕分辨率上都能良好运行的高性能代码是一项挑战,很少有人尝试或成功完成。然而,回报可能是令人兴奋的。
从最简单的开始,以下项目建议将帮助您使用SitePoint Premium提供的书籍,踏上CSS精通之路。
关键要点
访问您正在处理的网站,并尝试打印(或打印预览)页面。您对结果满意吗?
HTML页面是连续的介质,在打印媒体上不一定效果很好。不合适的章节、缩放、文本大小、列尺寸以及缺失或裁剪的内容都会导致访问性差的打印体验,而很少有开发人员会考虑这个问题。
幸运的是,打印CSS可以在几个小时内开发出来。这通常是重置样式(黑底白字)、删除不必要的章节(菜单、英雄图像、表单、社交媒体小部件等)、线性化布局以及减少纸张和墨水用量的问题。
深入研究基于浏览器的开发者工具(来自《CSS Master》)和《Browser DevTool Secrets》,了解如何在切换到打印渲染后检查和修改样式。
《Applying CSS Conditionally》(来自《CSS Master》)描述了如何定义@media查询规则,包括打印样式表。
考虑您的《Strategy Guide to CSS Custom Properties》(来自《New Frontiers In Web Design》),以确定CSS变量是否可以帮助处理打印属性。还可以考虑《Accessibility》(来自《CSS Animation 101》),以关闭动画或以最佳状态打印它们。
最后,《How to Create Printer-friendly Pages with CSS》(来自《CSS Tools & Skills》)提供了一个完整的打印优化教程,其中包含节省墨水和纸张成本的技巧。
单一的配色方案很枯燥!每个人都期望在他们的操作系统和应用程序中拥有暗模式选项,那么为什么不在您的网站上添加一个呢?
直到最近,主题切换器通常需要一组额外的样式以及JavaScript驱动的切换控件。但是,现代浏览器使用CSS自定义属性(变量)和prefers-color-scheme
@media规则使生活更轻松。
《Strategies for Theming》(来自《New Frontiers In Web Design》)在设计新主题时提供了一系列想法和注意事项。
《Applying CSS Conditionally》(来自《CSS Master》)描述了如何定义@media查询规则,包括prefers-color-scheme
。
最后,《Modern CSS: Adding a CSS Dark Theme》(来自《Modern CSS》)提供了一个完整的启用暗主题的教程。
检查您网站上的表单,例如查询或注册表单。除非它是最近编码的,否则它很可能使用容器DIV和基于浮动的布局实现,这些布局可能在较小的屏幕上中断。较旧的表单可能使用不必要的JavaScript或可访问性差。
《A Registration Form》(来自《Form Design Patterns》)描述了使用HTML5设计、样式和编码表单的最佳方法。
CSS Grid允许您消除不必要的标记,并在不使用媒体查询的情况下创建防弹响应式布局。以下CSS Grid教程将帮助您快速上手:
最后,《Make Forms Great with CSS Grid》(来自《CSS Grid Layout》)提供了一个完整的教程,该教程提供了一个基于网格的表单布局,以及针对旧版浏览器的浮动回退。
在2020年初,平均网页需要2MB的下载量,这需要20秒才能在普通移动设备上完全显示。CSS占65KB,分布在七个文件中。这似乎并不重要,但样式表属性会产生影响。
花几个小时检查您现有的网站,以确定是否可以使用更高效的CSS替换或优化图像、字体和JavaScript效果。您的CSS代码可能会增长,但总体重量会下降,性能会明显提高。
《Testing Tools》(来自《Jump Start Web Performance》)和《Debugging for UI Responsiveness》(来自《CSS Master》)解释了如何使用现代浏览器开发者工具来评估性能并发现优化目标。
《Loading Assets on the Web》(来自《New Frontiers In Web Design》)描述了如何使用关键CSS和渐进式CSS加载等技术来确保样式表有效加载。《20 Tips for Optimizing CSS Performance》(来自《Modern CSS》)提供了一些实用技巧。
最后,《Jump Start Web Performance》包含数十个快速、更深入和改变生活的开发建议,以确保您的网站对每个人都保持快速。
以上项目建议可用于改进现有网站,但在从头开始新项目时没有限制或约束。可考虑的选项:
开发者和浏览器工具:
CSS Grid理念:
响应式CSS技术:
CSS过渡和动画:
将CSS与SVG结合使用:
现在停止阅读,开始编码!
掌握现代CSS项目需要很好地理解CSS基础知识和最佳实践。这些包括使用CSS重置以确保不同浏览器之间的一致性,使用移动优先方法进行响应式设计,以及使用Sass或Less等CSS预处理器来使您的CSS更易于维护。此外,了解CSS Grid和Flexbox可以帮助您使用更少的代码创建复杂的布局。最后,保持CSS井然有序并添加良好的注释可以使其他人(或未来的您)更容易理解您的代码。
通过持续练习和学习可以提高您的CSS编码技能。首先了解CSS的基础知识,然后逐渐转向更高级的主题。在线教程、编码挑战和开源项目可以提供实践经验。此外,关注行业专家并加入CSS社区可以帮助您了解最新的趋势和技术。
使用CSS时的一些常见挑战包括处理浏览器不一致性、理解盒模型以及管理复杂的布局。这可以通过使用CSS重置或规范化、了解box-sizing
属性以及使用CSS Grid或Flexbox进行布局来克服。此外,使用CSS预处理器可以帮助管理大型CSS文件并使您的代码更易于维护。
可以通过使用媒体查询来使用CSS创建响应式设计,媒体查询允许您为不同的屏幕尺寸应用不同的样式。此外,CSS Grid和Flexbox可用于创建适应屏幕尺寸的灵活布局。移动优先方法(从最小的屏幕尺寸开始,然后逐渐为更大的屏幕添加样式)也可以帮助创建有效的响应式设计。
您应该学习的一些高级CSS技术包括CSS动画和过渡、CSS变量和CSS自定义属性。此外,了解如何使用伪元素和伪类可以帮助您创建更复杂的样式。学习Sass或Less等CSS预处理器也很有益。
可以通过最大限度地减少使用的CSS数量、使用速记属性以及减少使用昂贵的CSS属性来优化CSS以获得更好的性能。此外,使用CSS压缩器可以帮助减小CSS的文件大小,从而加快加载时间。
有很多在线资源可以学习高级CSS,包括在线教程、编码挑战和文档。CSS-Tricks、MDN Web Docs和Smashing Magazine等网站提供关于各种CSS主题的深入文章和指南。此外,关注行业专家并加入CSS社区可以提供宝贵的见解和学习机会。
可以使用浏览器的开发者工具来调试CSS问题,这些工具允许您检查元素、查看应用的样式以及实时试验不同的样式。此外,了解CSS级联、特异性和继承可以帮助您理解为什么某些样式没有按预期应用。
可以通过遵循一致的命名约定、使用注释来描述您的代码以及将CSS组织成逻辑部分或单独的文件来保持CSS井然有序且易于维护。此外,使用CSS预处理器可以帮助管理大型CSS文件并使您的代码更易于维护。
CSS通过控制网站的外观和感觉在Web开发中发挥着至关重要的作用。它允许您将样式应用于HTML元素,创建响应式设计,甚至创建动画和过渡。如果没有CSS,网页将是普通且无样式的,这使得它成为任何Web开发人员的重要工具。
以上是5个项目,以帮助您掌握现代CSS的详细内容。更多信息请关注PHP中文网其他相关文章!