「青训营 X 码上掘金」我的可翻盖名片设计

388 阅读3分钟

前言

当青训营遇上码上掘金,我的选题为: “主题 1:我的名片”

主题介绍:名片是向人介绍自我的重要工具,作为一名程序员用代码做自我介绍是一件非常酷炫的事情。请大家围绕“我的名片”这个主题进行代码创作。

先看成品预览图

idcard.gif

思路

作为一名前端,设计一张属于自己的电子卡片会显得非常趣味。这张简单的名片也能一定程度上反应一个前端的审美和设计倾向

我的想法是设计一个仅借助:hover伪元素实现鼠标移上卡片后的动态效果。在上面可以搭配上一些CSS内容就可以实现简单的自我介绍。

三下五除二的功夫,我把卡片的静态样式完成image-20230201135217593

单凭这些不够看,下一环节讲讲我的设计细节以及之后动态的操作。

细节

  • 色彩方面:取自南冥(#3271ae) + 以及其下一些颜色。image-20230201135429606

    在我这种直男审美下,这几种颜色竟然碰撞出一定的和谐。

  • 卡片的样式方面:非常简单,圆润卡片外型container,内部文字text和头像avatar左右分离,利用红蓝黄三色线background点缀image-20230201141042232

  • 头像来源是利用本人掘金主页的头像链接

  • 三色线的设置:我下了点巧思,其实里面就很简单的三个div盒子

    <div class = "background">
        <div style = "--right:1.2"></div>
        <div style = "--right:0.2"></div>
        <div style = "--right:-0.8"></div>
    </div>
    

    这里埋下一个right,在后面的CSS样式里面这样利用

    .background div{
      position: absolute;
      right: calc(var(--right)*100px);
      transform: rotateZ(135deg);
      ...
    }
    

    这样就实现了三色线的倾斜静态效果

随后,开始设计hover引发的动态效果,我脑子里模拟一遍想法记录如下

  • 0~0.5s:右边照片消失,同时三色线按顺序往外移动消失,为左侧文本留够空间
  • 0.5s~1s:左侧文本移到右侧
  • 1s~1.5s:右侧文本的其中一行文字移到左侧,同时变大,其他文字自然上移。
  • 1.5s~2.5s:另一些文本出现,三色线按顺序往回移动停住

注意

  • transfrom后面如果包含多个属性要注意先后顺序造成的影响,比如我的三原色的移走/进入,需要在旋转角度后在进行x轴的加减,那么我的代码就是

    transform: rotateZ(15deg) translateX(400px);
    
  • transition带的第一个时间参数是动作时间,第二个时间是延迟时间,可以利用这个实现不同元素的时间先后移动顺序

  • 在同一级别的元素可能会出现 “后来者居上” 的情况(即写在HTML里后面的元素覆盖在前面元素的上面的情况),此时如果想让 “后来者” 居于背景(比如我的三原色要在文字的背部),即使设置被压的元素的z-index为9999也没有作用。此时只需要把 “后来者”z-index设为-1即可解决

得到第二页面,其中点击掘金名和两个链接均可跳转到相关页面,整个卡片除了掘金ID (嘻嘻) 均无法被鼠标选择

作品完成

完整代码