现代 CSS

译文

在Vue中有条件地使用CSS类

很多时候Web在运行时要更改元素的CSS类名。但是在改变类名时,有时最好是有条件地应用样式。例如你有一个翻页的效果。翻页效果通常有一个高亮的效果,用于向用户显示当前页,这对于用户而言是很有帮助的。该项目的样式是有条件设置的,基于当前正在查看的页面。

iPhone X的Web设计

在新的iPhone X的Safari浏览器中为你的网站显示留有边缘。内容自动设置在显示的安全区域内,这样它就不会被圆角或设备的传感器外壳遮挡住(俗称iPhone X的刘海)。在<body><html>元素中指定与页面的background-color一样的颜色用来填充整个页面。这样页面的安全区域和其余部分混合在一起。对于许多网站来说,这已经足够了。如果你的页面只有文本和图片,那么背景色的设置看起来也非常不错。对于其他页面——特别是那些设计全宽水平导航栏的页面,比如像下图的页面,可以选择稍微深入一点,充分利用新显示的功能。iPhone X人机界面指南详细介绍了一些通用的设计原则,并且UIKit文档讨论了本地应用程序可以采用的特定机制,以确保它们看起来不错。你的网站可以利用iOS 11中引入的一些类似WebKit API来充分利用边缘的优势。

掌握这5大核心概念,你就理解了React

几年前,我的一个朋友向我吹捧有个叫做React的框架会如何革新Web开发。其实一开始我觉得它只是又一个昙花一现的框架罢了。可在之后的时间里,React名声鹊起,逐渐变得不容小觑了。也许你和我之前的状况差不多:总是听到React这儿好那儿爽,可是真正坐下来学习React的时候又毫无头绪。好消息是我在这里替你总结了,其实React只有“五大核心概念”。不过也请不要误会我的意思,并不是说我一篇文章就能能让你摇身一变成为精通React的大神,但如果你打算或者正在学习React的话,我至少能帮你理清思路。

PostCSS-modules: 让CSS变得更强大

多年来,我们一直与全局CSS作斗争。现在是时候结束它了。不管你使用哪种语言或框架,CSS命名的冲突不再是问题。我将向你展示如何使用PostCSSPostCSS-modules在服务端自动处理它。CSS最初只是用来美化文档的一种工具。自1996年以来,许多事情发生了变化。浏览器不再是文档查看器了。聊天、工作、游戏,几乎没有任何浏览器不能做到的。现在,我们比在HTML中标记文本和使用CSS开发内容的网站要多得多。我们使用CSS来充分发挥它的潜力,创造出它很难处理的东西。

使用CSS Modules解决权重的烦恼

CSS Modules与W3C无关,而是构建过程的一部分。它编译你的项目,重命名选择器和类,使它变得独一无二作用于各个组件。样式被锁在这些组件中,不能在其他地方使用,除非你有特别需求。现在我们已经习惯了Web技术来驱动App,Web App,移动端和PC端的应用程序。但与简单的静态网站不同的是,应用程序通常更动态、更复杂,而且通常包括组件,甚至超出了Bootstrap和ZURB Foundation提供的功能。当一个应用程序变得复杂起来,管理它的CSS可能是一个如地狱般的任务。

可视化介绍CSS Modules是什么?

你是否曾经为组件设计过样式,却只知道应用了不需要的CSS规则?也许你会重新考虑CSS的另一个部分,所以规则不适用,或者你会添加!important规则,只是为了让它发挥作用。这就是CSS Modules要解决的问题。让我们看看CSS Modules的官方定义:CSS Module是一个CSS文件,所有类名和动画名称默认都在本地范围内。这里的关键词是局部范围的。使用CSS Module,你的CSS类名与JavaScript中的本地变量类似。顺便说一下,CSS Module只是一个.css文件。如果你打算使用CSS Module编译器,你可以把它叫做CSS Module。

CSS中的艺术

本文介绍了用于大型Web应用程序(通常是SPA)的CSS最新趋势。我不想质疑这是对的还是错的,而是把它们列出来。以供大家参考和讨论。最初,Web页面被设计成具有超链接的信息页面(即使图像也不应该是内联的——它被解释为,在1990年,带宽和计算机资源非常小),类似交互式图书的东西。CSS的设计是为了添加一些基本的样式,最初它看起来像是一个好主意,用你自己的风格覆盖外部风格。现在,它绝对是一个疯狂的想法 —— 尝试应用自己的样式,比如说页头。开发人员绝对不会期望这些样式是来自于用户。其中最有趣的一点是,它是由微软推动的,你可以在这里阅读到它。这篇文章涉及面非常广泛,但我将跳过最初的部分,直接进入重要的内容中。

如何遍历JavaScript中对象属性

在2016年6月发布的ECMAScript 2016的同一时期,令JavaScript开发人员开心的是知道另一组很棒的提案已经达到了第4阶段(完成)。当然,你不必等到ES2017发布,或者直到供应商(浏览器)实现了新功能!Babel已经包含了这些已完成的提案中的大部分特性。本文主要讨论如何改进对象属性的迭代:使用Object.values()获取对象属性和 使用Object.entries()获取属性key/value。乍一看,这些静态函数似乎并没有带来显著的价值。但是当它们与for...of循环配合使用,你会得到一种简而美的遍历对象的属性的方式。

让我们一探究竟吧。

JavaScript中的作用域和闭包

作用域和闭包在JavaScript中是两个很重要的概念。刚开始接触的时候,他们一直让我感到非常的困惑。下面是对作用域和闭名解释,以帮助你能更好的了解它们是什么?先从作用域开始。

理解JavaScript中的作用域

JavaScript有一个名为scope的特性。尽管对于许多新开发人员来说,scope的概念并不是那么容易理解,但我还是会尽我最大的努力,用最简单的内容向你们阐述scope。理解scope将使你的代码脱颖而出,减少错误,并帮助您使用它做出强大的设计模式。

页面

返回顶部