如何成为一位函数式编程爱好者(Part 1)
踏出理解函数式编程概念的第一步是最重要的一步,有时也是最难的一步。不过也不一定,取决于你们的思考方式。学习开车我们第一次学车的时候,是很痛苦的。看别人在学的时候真的很简单。但一到我们自己做的时候就变得比想象得要难得多。我们曾在父母的车上练习,但是能在家周围的街道上熟练地驾驶之前都不敢去高速公路上冒险。但经过反复练习和一些可能都已经忘记了的痛苦经历之后,我们也学会了开车并且最终拿到了驾照。驾照到手后,...
View Article组织你的Sass文件
组织文件是每个项目的重要一步,特别是如果你半年重新打开这个项目的时候,你会发现,文件组织得好,对于你理解项目会有很大的帮助。如果你从未接触过Sass,你可以先阅读一下Sass指南或者点击这里阅读Sass相关的教程。Sass到目前为止有两种语法书写格式。第一种称之为SCSS(Sassy...
View Article使用CSS Grid和Flexbox制作Card
“Card”这样的UI组件在现在的Web中经常可见,但我们制作这方面的UI组件方式仍然受到一定的限制。直到现在,通过CSS Grid和Flexbox的组合,可以使卡整齐对齐,响应性更好,并适应其中的内容。接下来看看我们是如何制作的。我们将要做的我们将要做的一个Card...
View Article使用Sass制作倾斜角度
最近,我不得不在一个网站大量使用倾斜角度作为其设计指南的一部分。倾斜角,是指一个区域它的顶部或底部边缘不是完全水平而是倾斜的。实现这种效果有很多种方法。例如可以将base64编码的图片应用为背景,但这会使得它很难自定义(颜色,角度等)。另一种方法是倾斜或旋转绝对定位的伪元素,然而倾斜变换是我最不愿意处理的一件事。使用Sass时,可以使用动态编码生成SVG的 Angled...
View Article深入学习CSS自定义属性(CSS变量)
我本来觉得应该从介绍CSS中引入变量的用途开始讲起,但事实上,很多流行的CSS预处理/后处理程序已经做了很好的诠释。一些常见的例子:为风格统一而使用颜色变量一致的组件属性(布局,定位等)避免代码冗余当然,手动地去搜索或者查找/替换依然能满足你的需求,但这就像是不在JS中使用变量一样--很痛苦。事实上,CSS变量的动态性和作用域能够为你的实践和应用提供更加强大的能力--你可以非常高效的读取、设置和更新...
View ArticleCSS变量创建网格系统
今天要聊的网格系统不是CSS Grid Layout,而要聊的是类似960gs。到止前为止类似于960gs的网格系统成熟的系统有很多套了。SusyGridlexGumby GridBootstrap GridFoundation GridFlexbox GridFLUIDABLEGetskeleton GridUnsemanticMaterialize...
View Article【转载】React 初学者教程6 :传递属性
本文转载自:众成翻译译者:网络埋伏纪事链接:http://www.zcfy.cc/article/1535原文:https://www.kirupa.com/react/transferring_properties.htm处理属性有令人沮丧的一面,在前一个教程中我们已经看到了一点。在只处理一层组件时,将属性从一个组件传递到另一个很简单。但是如果你想将一个属性在多层组件之间传递,事情就开始变得复杂了...
View Article【转载】React 初学者教程7:深入 JSX
本文转载自:众成翻译译者:网络埋伏纪事链接:http://www.zcfy.cc/article/1537原文:https://www.kirupa.com/react/meet_jsx_again.htm你可能已经注意到,在前面的教程中我们用到很多 JSX。但是我们确实还没有认真看看 JSX 到底是什么。它实际上是如何工作的呢?为什么我们不就把它叫 HTML...
View Article【转载】React 初学者教程8:处理状态
本文转载自:众成翻译译者:网络埋伏纪事链接:http://www.zcfy.cc/article/1539原文:https://www.kirupa.com/react/dealing_with_state.htm到目前为止,我们已经创建的组件都是无状态的(stateless)。它们有从它们的父组件传递进来的属性(亦称...
View Article【转载】React 初学者教程9:从数据到 UI
本文转载自:众成翻译译者:网络埋伏纪事链接:http://www.zcfy.cc/article/1539原文: https://www.kirupa.com/react/from_data_to_ui_in_react.htm简介:利用 JSX 的灵活性,将烦人的数据转化为甜蜜的 UI 元素。在创建应用时,术语 props、state、组件、JSX 标记、render 方法以及其它 React...
View Article【转载】React 初学者教程10:React 中的事件
本文转载自:众成翻译译者:网络埋伏纪事链接:http://www.zcfy.cc/article/1543原文:https://www.kirupa.com/react/events_in_react.htm概述:通过学习如何处理事件,学习如何将无趣的 React 应用变为有趣而具互动性的应用。迄今为止,我们所有的示例都是只在页面加载时执行。你可能会猜到,这是不正常的。在很多应用中,特别是重 UI...
View Article【转载】React 初学者教程11:组件的生命周期
本文转载自:众成翻译译者:网络埋伏纪事链接:http://www.zcfy.cc/article/1545原文:https://www.kirupa.com/react/component_lifecycle.htm概述:学习生命周期方法,从而更好地理解组件能做和不能做什么。在开始,我们以一个很简单的视图组件以及他们要做什么开始。随着我们对 React...
View Article【转载】React 初学者教程12:在 React 中用 React Router 创建单页应用
本文转载自:众成翻译译者:网络埋伏纪事链接:http://www.zcfy.cc/article/1547原文:https://www.kirupa.com/react/creating_single_page_app_react_using_react_router.htm概述:通过学习如何使用 React Router 来创建一个单页应用,来提升 React 技能。现在我们已经熟悉了 React...
View Article【转载】React 初学者教程13:用 React 创建一个简单的 Todo List 应用
本文转载自:众成翻译译者:网络埋伏纪事链接:http://www.zcfy.cc/article/1554原文:https://www.kirupa.com/react/simple_todo_app_react.htm概述:通过学习如何创建经典的 Todo List 应用,将所有学过的 React 技巧投入到实战中。如果说创建 “Hello, World!” 示例是庆祝你开始涉足...
View Article【转载】React 初学者教程14:在React中访问DOM元素
本文转载自:众成翻译译者:网络埋伏纪事链接:http://www.zcfy.cc/article/1558原文:https://www.kirupa.com/react/accessing_dom_elements.htm有时我们需要直接访问 HTML 元素上的属性和方法。在 React 的缤纷世界里,JSX 代表纯粹的标记,那么为什么你会想要直接处理可怕的 HTML...
View Article【转载】React初学者教程15:设置React开发环境
本文转载自:众成翻译译者:网络埋伏纪事链接:http://www.zcfy.cc/article/1556原文:https://www.kirupa.com/react/setting_up_react_environment.htm概述:学习如何配置 Node、Babel 和 Webpack 来高效创建 React 应用。最后要学习的是如何设置创建 React...
View ArticleCSS Grid布局:理解CSS Grid中自动排列的算法
在这个系列教程中的《列和间距》一文中了解到了在CSS Grid布局中如何实现流体网格列和列间距。也了解到了没有必要指定网格项目具体的值就可以实现网格项目的排列位置。如果显式声明网格属性,网格项目根据自动排列算法,会使网格排列变得更糟糕。在这篇文章中我们将看看这个算法是如何影响网格项目的位置排列。配置如果你的浏览器不支持CSS...
View Article如何在Web中使用CSS Shapes
布局一般都是遵循按行和列等线性原则,Web网站的布局到今天为止很大程度上受到这些原则的影响。虽然CSS Grid的出现让布局变得更好,更灵活,但相对于印刷媒体而言,Web布局总体上还是受到很好的限制,特别是内容流上。杂志和报纸一直有很好的办法来安排内容。比如文本绕着非矩形排列。直到目前为止,Web上的布局都局限于规则矩形排列,无法让内容流实现非矩形布局。接下来让我们一起探讨如何使用CSS...
View Article如何成为一位函数式编程爱好者(Part 2)
踏出理解函数式编程概念的第一步是最重要的一步,有时也是最难的一步。不过也不一定,取决于你们的思考方式。友情提示请仔细通读示例代码。确保自己的确看懂了。每一节都是在上一节的基础上进行的。如果你心急跳过了,对后面部分的理解就可能会出现偏差。重构花一分钟时间考虑一下如何重构下面的JavaScript代码:function validateSsn(ssn) { if...
View Article