仿PPT的一次失败编程 | 「青训营 X 码上掘金」- 我的名片

98 阅读2分钟

当青训营遇上码上掘金

image.png

作为一个基本没有接触过前端设计的小白,我想到的第一个设计工具就是PPT,上图是用PPT做的名片

那么应该怎样使用CSS将其复现出来呢?(本代码未使用JS)

代码要点

由于时间紧迫,而且码上掘金引入three.js无法解决,这里比较复杂的棱台,基座和3d文字以图片形式插入其中

图片1-我的名片.png

而左侧不规则多边形,使用了clip-path属性的polygon()函数进行绘制。

image.png 模拟PPT中形状自带的阴影使用box-shadow属性进行设置。

注:ICON来自iconfont iconfont-阿里巴巴矢量图标库

本次编程学习到的知识点

  • clip-path绘制多边形
  • opacity不透明度会继承,容器内元素即使重新设定opacity:1仍然会继承容器的不透明度
  • position:relative 会与html中同容器内的前一个元素的位置进行比较
  • box-shadow: 0 0 5px 1px #999 ; 适用于浅色背景
  • box-shadow: 0 0 5px 1px black ; 适用于深色背景
  • 使用 linear-gradient() 制作渐变色,默认是从上到下

对比效果

image.png

image.png

经过对比可以看出,字体,位置上都没有PPT做出的代码美观,而且棱台使用图片插入后很多细节丢失了,当然,这很大程度是由于我的技术水平不足所导致的。

吐槽和间歇性的发奋图强

编程的体验和制作PPT的体验完全天差地别。

PPT可以拖拽的方式调整元素的位置,但是CSS希望元素放置到指定位置需要调整相对位置或绝对位置,不是很直观。距离的大小更需要经验来判断。

而且编程时发现即使设定了容器的宽度和高度,如果容器内不填充,也就是一个空标签,很有可能在浏览器中显示的宽度是0。

另外,CSS的实现方式也不一定能够完全替代PPT,PPT有更多的交互和动画效果,可以更好地表现出设计师的想法和创意,而CSS的动画个性化设置却很繁琐。

但是,我同样知道的是,学习CSS可以增加灵活性和可扩展性,可以适应不同的需求和设计风格。在学习CSS的过程中,我需要不断地积累经验,学习不同的技巧和实现方式。相信我能够通过不懈努力,提升技术水平,从而能够真正完美复现上面的PPT。