下面这个图形,只使用一个标签,可以有多少种实现方式: 假设单标签是一个 div: 定义如下通用 CSS: border 使用伪元素 使用具有相对特性的无依赖的 absolute 绝对定位 父元素去掉 position:relative 属性 外 box-shadow box-shadow: 水平阴影位置 垂直阴影位置 模糊距离 阴影的尺寸 阴影的颜色 内部阴影 内 box-shadow drop-shadow 渐变 linearGradient /_ 从下到上,从蓝色开始渐变、到高度 4… »
块级元素负责结构,内联元素接管内容,而 CSS 世界是面向图文混排,也就是内联元素设计的,由此可见,本章内容在整个 CSS 世界体系中占有非常重要的位置。 字母 x —— CSS 世界中隐匿的举足轻重的角色 字母 x 与 CSS 世界的基线 在各种内联相关模型中,凡是涉及垂直方向的排版或者对齐的,都离不开最基本的基线 (baseline)。例如,line-height 行高的定义就是两基线的间距,vertical-align… »
深入理解 content content 与替换元素 替换元素 根据外在盒子是内联还是块级,元素分为内联元素和块级元素,而根据是否具有可替换内容,我们也可以把元素分为替换元素和非替换元素 通过修改某个属性值呈现的内容就可以被替换的元素称为替换元素,例如 img、object、video、iframe 或者表单元素 textarea、input 特性 内容外观不受页面上 CSS 的影响,需要类似 appearance… »
合并序列 合并序列也属于创建序列的一种,例如有这样的需求:进入某个页面后拿到了一个列表,然后需要对列表每一项发出一个 http 请求来获取对应的详细信息,这里我们把每个 http 请求作为一个序列,然后我们希望合并它们。 合并有很多种方式,例如 N 个请求按顺序串行发出(前一个结束再发下一个);N 个请求同时发出并且要求全部到达后合并为数组,触发一次回调;N 个请求同时发出,对于每一个到达就触发一次回调。 如果不用 RxJS… »
RxJS 是使用 Observables 的响应式编程的库,它使编写异步或基于回调的代码更容易。 这个项目是 Reactive-Extensions/RxJS(RxJS 4) 的重写,具有更好的性能、更好的模块性、更好的可调试调用堆栈,同时保持大部分向后兼容,只有一些破坏性的变更(breaking changes)是为了减少外层的 API 。 基础 转换成 observables 创建 observables… »