创作你的第一个CSS的艺术品
很多人都知道如何用CSS来实现网页的各种效果,但是提到用来CSS来创造艺术,都不是特别清楚它是做什么的。本文会首先介绍一些CSS的基础,然后会和你一起看看如何来实现一个CSS艺术品,下面让我们开始吧:
一些重要的CSS特性
渐变(gradient)
我们可以在背景或者背景图片中定义渐变,你想使用多少颜色都可以,不同的值之间用逗号分开即可。梯度有两种:
- 线性渐变:可以有方向(上下左右)或者角度来控制。
- 径向渐变:可以通过给每种颜色设定一个百分比,并设置形状来控制。
下面是一个很好的产生渐变的网站:cssgradient
阴影效果 (box-shadow)
同样你可以设置一个或多个阴影效果,中间用逗号分隔开即可。
我发现inset这个属性特别有用,他可以把阴影效果从外阴影改成内阴影,看起来就真实多了。
关于阴影效果的网站可以使用这个:cssmatic
剪切路径(clip-path)
剪切路径在CSS艺术品中非常有用,没有它你可能需要花费很多时间才能达到同样的效果。通过指定要显示的区域,他可以帮助你画圆形,多边形和路径。
一个非常好的剪切路径的网站:bennettfeely
创作你的第一个CSS艺术品
了解了上面一些基础信息后,下面来开始创作我们的第一个艺术品吧。我们的目标就是做出下面这个图形:
下面是HTML的内容:
<div class="coffee-cont"> <div class="coffee-cup"></div> <div class="coffee-hand"></div> <div class="coffee-tasse"></div> </div>
第一件事就是为coffee container实现相关的风格(coffee-cont),我们把他设为 position:relative,然后他里面的div都设为absolute (除了coffee-cup div),这样里面的位置就会取决于他的父节点的位置。
.coffee-cont { width: 500px; height: 500px; margin: 0 auto; position: relative; }
下面就是coffee-cup相关的设置,我们使用了radial-gradient来设置背景,这样可以让中间比两边看起来稍微亮一点:
.coffee-cup { position: relative; width: 250px; height: 190px; margin: 0 auto; background: radial-gradient(circle,rgba(208, 208, 208, 1) 5%,rgba(189, 189, 189, 1) 51%); border-radius: 0 0 150px 150px; top: 50%; }
这时的效果如下所示:
然后,我们使用radial-gradient来设置这个coffee-cup的before元素。注意这里我们使用了z-index:9来让它显示在杯子上面:
.coffee-cup::before { content: ''; display: block; height: 30px; width: 230px; position: absolute; border-radius: 50%; background: radial-gradient(circle,rgba(132, 102, 76, 1) 5%,rgba(86, 44, 8, 1) 96%); top: -7px; left: 10px; z-index: 9; }
下面我们再来把杯子口设置一下:
.coffee-cup::after{ content: ''; display: block; height: 45px; width: 242px; position: absolute; border-radius: 50%; background: #cccccc; top: -25px; left: -1px; border: 5px solid #e6e6e6; }
下面我们来画杯子的手柄了,这里我们使用z-index:-1,他就会显示到杯子的后面去了:
.coffee-hand{ width: 52px; height: 32px; position: absolute; background: #ffffff; border-radius: 32px; transform: rotate(-36deg); z-index: -1; border: 15px solid #dbdbdb; top: 56%; left: 66%; }
下面我们来画下面这个杯托,我们适应一个圆的radial-gradient,让中间明亮一点。我们同时还需要一个阴影,让它看起来更自然,我们使用黑色的box-shadow来实现:
.coffee-tasse{ width: 400px; top: 68%; left: 10%; height: 139px; background: radial-gradient(circle,rgba(69, 69, 69, 1) 13%,rgba(176, 176, 176, 1) 45%,rgba(143, 141, 141, 1) 96%); border-radius: 50%; position: absolute; z-index: -1; border: 2px solid #f0f0f0; box-shadow: 1px 3px 0px 1px #323232; }
最后,我们再在::after给杯托也加一个阴影。
.coffee-tasse::after{ content: ''; display: block; width: 405px; top: 68%; border-radius: 50%; height: 145px; background: transparent; box-shadow: 2px 5px 8px 3px #bababa; }
大功告成,我们想要的杯子就这样实现了。恭喜你,去画一个你喜欢的图形吧。
参考文章:https://dev.to/laasrinadiaa/make-your-first-css-art-29jo
Recent Comments