最近试用了一下 CSS-Doodle, 效果很不错,见上图。
尽管官方教程已经非常清楚,但对于本人这种不太熟悉 CSS 的,学起来还是花了点时间。为了避免忘记,特以上图为例,简单解释一下实现方法,以求抛砖引玉。
CSS-Doodle 作图
要在网页中显示 CSS-Doodle 图形,需要调用 css-doodle.js. 最简单的方法是将下面的代码加入到网页的 <head>...</head> 中。
由于 CSS-Doodle 的设计是基于 CSS 的,所以用 CSS-Doodle 作图时,既可以用 CSS 本身的语法,也可以用 CSS-Doodle 自身的语法 (详情可见 CSS-Doodle Usage)。 但是代码要放入一个特殊的元素块:
例如,上面的图形,是由下面的代码生成的。
用 CSS-Doodle 图形做背景
由于 <css-doodle>...</css-doodle> 是一个独立的元素块。要将生成的图形做为另一个元素块儿的背景,一个方法是单独生成一个图片,然后截屏;另一个方法是用下面的代码将图形输出为背景图像。
需要注意的是,css-doodle 元素块在设计上依赖 grid 来生成重复的图形,所以在用上述方法的时候,可以在 css-doodle 元素块中加上下面这一行。
另外,也可以加上背景色并显示背景的大小。
把上面这些代码合起来即可作为背景使用了。但是需要注意的是,该背景实际上是 css-doodle 元素块儿的背景。
元素块重叠
要将 css-doodle 元素块儿作为别的元素块儿的背景,可以使用 z-index。例如将 css-doodle 的 z-index 设置为 -1。将要覆盖在上面的元素块儿的 z-index 设置为正整数。另外还需要适当的调整覆盖在 css-doodle 上的元素块儿的边距。这些都可以用 CSS 实现。例如, 下面的代码
上面的 html+CSS 代码的效果如下
后记
-
为了方便维护,CSS-Doodle 作者 Yuan Chuan 为
css-doodle设置了一个use属性。利用该属性,可以将 css-doodle 作图代码放入一个 CSS 变量,如--rule,之后可以用use="var(--rule)"调用。详情请见 CSS-Doodle Attributes: use. -
如果用 CSS 设置元素块的格式,需要小心选用选择器才能实现元素块儿的重叠。