探索Web上图片使用方式
图片在Web上的使用占比已经非常的高,特别是在手淘互动这样的环境之下,我们每一个项目的图片使用量都非常的大。如果能把图片用好,的确是件不容易的事情,而且面对的挑战也不小。经常会碰到有关于图片如何加载,如何适配,如何优化等等。另外在移动端开发中,很多同学在Web上使用图片的方法一般都是通过<img>标签和CSS的background-image属性来处理。也正因如此,很多同学却忘记了这两者...
View ArticleVue组件通讯
使用Vue构建组件容易,但对于初学者要掌握Vue组件中的通讯还是有一定的难度。比如说,父组件如何向子组件通讯?子组件又是如何向父组件通讯?兄弟组件又是怎么通讯?这些方面都是有关于组件通讯相关的知识。而且掌握Vue组件之间的通讯方式还是掌握Vue组件的另一种能力。在Vue中,Vue的组件自身就很棒,因为它可以帮助我们使用重用的代码片段,我们也可以使用Vue提供的所有功能。现在我们要掌握怎么建立组件之间...
View ArticleVue 2.0学习笔记:事件总线(EventBus)
许多现代JavaScript框架和库的核心概念是能够将数据和UI封装在模块化、可重用的组件中。这对于开发人员可以在开发整个应用程序时避免使用编写大量重复的代码。虽然这样做非常有用,但也涉及到组件之间的数据通讯。在Vue中同样有这样的概念存在。通过前面一段时间的学习,Vue组件数据通讯常常会有父子组件,兄弟组件之间的数据通讯。也就是说在Vue中组件通讯有一定的原则。父子组件通讯原则为了提高组件的独立性...
View ArticleVue中的作用域CSS和CSS模块的差异
现代Web开发中的CSS离完美还差得远,这并不奇怪。现在,项目通常是相当的复杂的,而CSS样式又是全局性的,所以到最后总是极容易地发生样式冲突:样式相互覆盖或隐式地级联到我们未考虑到的元素。为了减轻CSS存在的主要痛点,我们在项目中普遍采用BEM的方法来。不过这只能解决CSS问题中的一小部分。对我们来说是幸运的,社区已经开发出了可以帮助我们更彻底地解决问题的解决方案。你可能已经听说过CSS...
View ArticleCSS border-radius 能做什么?
特别声明,本文根据@Nils Binder的《CSS Border-Radius Can Do That?》一文整理所得。在CSS中,使用border-radius指定八个半径值时,可以创建不同的形状。先来看一个为该特性制定的工具。简介@Rachel Andrew今年在苏黎世的前端会议上谈到了CSS Grid布局的优势。在她演讲的最后,她提到了一个在我脑海中挥之不去的CSS...
View Article使用事件总线共享组件之间的Props
特别声明,本文根据@KINGSLEY SILAS的《Using Event Bus to Share Props Between Vue Components》一文所整理。默认情况下,Vue组件之间的通讯是通过Props来完成的。Props是从父组件向子组件传递属性。例如,这里有一个组件,title是一个prop:<blog-post title="My journey with...
View ArticleVue2.0学习笔记:Vue中的Mixins
在项目开发的时候,常会碰到这样的一种现象:有两个组件非常相似,比如较为熟悉的Modal、Tooltip和Popover,它们都具有同样的基本函数,而且它们之前也有足够的不同。很多时候,就让人很难做出选择:是把它们拆会成多个不同的组件呢?还是只使用一个组件,创建足够的属性来改变不同的情况。这些解决方案都不够完美。如果拆会成多个组件,就不得不冒着如果功能变动你要在多个文件中更新它的风险。另一方面,太多的...
View Article实战Vue组件和Mixins
特别声明,本文根据@Saqueib Ansari的《Practical use of Components and Mixins in Vue...
View ArticleVue 2.0学习笔记:如何创建Vue插件
Vue插件是向应用程序添加全局特性的一种强大而又简单的方法。它有多种用途,从分发应用程序范围的组件到向应用程序添加路由和不可变数据存储等附加功能。从概念上讲,Vue插件是非常简单。它实际上只是一个带有install函数的对象,它接受两个参数:全局的Vue对象和一个包含用户定义选项的对象。然而,一个像这样简单的Vue插件仍然可以得到相当大的效果。Vue插件使用范围插件通常会为Vue添加全局功能。插件的...
View Article理解CSS的逻辑属性和值
特别声明,文本根据@Rachel Andrew的《Understanding Logical Properties And Values》一文所整理。2017年5月18日,W3C的 CSS工作组(CSS Working Group)发布了 CSS逻辑属性和值(CSS Logical Properties and Values Level 1)的首份工作草案(First Public Working...
View Article使用CSS transition和animation改变渐变状态
特别声明,本文根据@ANA TUDOR的《The State of Changing Gradients with CSS Transitions and...
View ArticleCSS伪选择器::empty vs :blank
前端时间@Zell Liew的博客深入的介绍了CSS中伪选择器:empty和:blank相关的知识。那么:empty和:blank究竟有什么作用,又在什么场景下使用呢?今天我们来一起看看,它们怎么使用,更应该应用在哪个场景之下呢?使用场景我们平时做项目的时候,时常会使用一些CSS...
View Article再聊CSS的属性选择器
属性选择器是很强大很神奇的。很多时候可以帮助你摆脱一些棘手的问题,可以让你避免类名的添加,甚至还可以指出代码中的一些问题。属性选择器是复杂而又强大的,但不用担心,因为它也是易于学习和使用的。在本文中,将会学习到CSS属性选择器的强大功能以及如何在实际工作中运用它。并提供了一些关于如何使用属性选择器的一些个人想法。我一直以来都觉得CSS属性选择器很强大,也特别的有魔性。记得第一次接触CSS属性选择器的...
View Article初探CSS 选择器Level 4
在开始聊CSS选择器Level 4(Selectors Level 4)之前,先要明确一个简单的概念。时至今日,在CSS的世界之中再不会有大版本的称谓,比如以前大家熟悉的CSS2.1、CSS3。现在的CSS都只会以CSS模块的版本来进行区分,比如我们今天要聊的CSS选择器,其最新版本就是:CSS Selectors Level 4。在CSS Selectors Level...
View Article构建一个计算器:UI界面设计
从这篇文章开始,将会花几篇文章的篇幅来介绍如何构建一个在线的计算器,将前面学习的一些知识串在一起,通过实战加强对理论知识的理解。实现计算器主要分为两个部分,一个是构建计算器的UI,另一个通过JavaScript实现计算器的功能。在完成这两个部分内容的学习,建议您需要对下面的几个知识点有所了解:网格布局渐变这两个部分可以帮助你快速完成计算器的UI效果。if/else语句for循环JavaScript函...
View Article图解CSS:揭开CSS的面纱
如果您对前端方面有所关注,那么对CSS一定不会陌生,你也肯定听说过一些CSS的新特性。在使用CSS新特性之前,你应该对这个新一代样式表语言的来龙去脉有个基本了解。在本章节中,你将知道一个CSS属性的制定将会经历哪些过程,为什么会有浏览器的私有前缀以及如何更好的处理这些私有前缀,在文章最后简单的介绍了开发人员如何对CSS新特性做一些渐进增强,优雅降级的处理,给你的用户有一个更好的,更佳的体验。Web标...
View Article给Web页面提供正确图像的姿势
在《探索Web上图片使用方式》一文中介绍了Web上图片的各种使用方式,从引入图片、图片效果处理、图片适配、图片加载以及图片优化几个方面介绍Web的图片使用方式。其中有一个值得我们去探讨的话题,那就是如何根据用户的设备为其提供正确的图片。那在这篇文章中我们就一起来聊聊这方面的技术。提供正确图像的优势随着科技的进一步发展,现在Web的展示不仅仅是在PC电脑上了,它需要面对更多的媒体终端,手机、电视以及其...
View ArticleCSS Grid带来的新单位:分数单位fr
CSS Grid经过这么多年的发展已经越来越受人青眯了,到目前为止支持率得到近88%的比例。经过这么多年的跟踪和学习,对CSS...
View ArticleFlexbox vs Grid:基本概念
整个Web在不断的演进,那么为Web服务的理念与技术等等也在不断的进行演化。那么我们今天要聊的话题,Web布局中最为优秀的两种布局方式:Flexbox布局和CSS...
View Article