3D 文本效果

以前弄得,分享一下

效果

知识点

利用多重文本阴影,调整偏移量达到视觉效果

代码

body {
      height: 100vh;
      overflow: hidden;
      display: grid;
      place-items: center;
      background: #167c80;
      user-select: none;
    }

    #text {
      font-size: 16vw;
      font-family: AudioWide, LiSu, sans-serif;
      color: #fff;
      transform: rotate(-20deg) skew(20deg);
      text-align: center;
      position: relative;

      &::before {
        --offset: 32px;
        content: attr(data-text);
        position: absolute;
        left: calc(var(--offset) * -1);
        top: var(--offset);
        color: rgba(0, 0, 0, 0.3);
        filter: blur(5px);
        text-shadow: none;
        z-index: -1;
      }
}

font-size 使用 vw 单位,为了让其自自适应大小;使用filter 中的模糊滤镜为了让阴影不生硬;

<p id="text" data-text="LINUX.DO">
    LINUX.DO
</p>

为了方便添加多重阴影,直接用js生成了,如果喜欢手写也不是不可以 :tieba_086:

  let text = document.getElementById('text');
  /**
   * 生成阴影
   * @param {number} count 阴影层数
   * @param {string} color 阴影颜色
   * @returns {string} 阴影样式
   */
  function GenShadow(count = 20, color = '#ddd') {
    let shadow = '';
    for (let i = 0; i < count; i++) {
      shadow += `${shadow ? ',' : ''}${-i * 1}px ${i * 1}px 0 ${color}`
    }
    return shadow;
  }
  text.style.textShadow = GenShadow(24);

也可以直接在 CODEPEN 查看

20 个赞

前排膜拜~~

4 个赞

前排前排 膜拜大鹅

3 个赞

大鹅太强了!

2 个赞

这也太快了 :smile:

3 个赞

什么时候用 CSS 做

2 个赞

新建文件夹了,先水水别的,周末弄 :tieba_086:

3 个赞

前端素材+1

3 个赞

泰裤辣 我的佬

3 个赞

这玩意为伊佬不是信手拈来 :smile:

2 个赞

鹅佬!看见你的帖子我不自觉就拿出了小本本 :tieba_007:

3 个赞

猛一看,觉得L 和 i 连接起来了,像一个U

3 个赞

检查一下小本本是不是空的

2 个赞

确实诶,调一下倾角就好

1 个赞

太强了 大鹅 :tieba_013:

2 个赞

不错,大鹅太强了!

2 个赞

不愧是大鹅!太强了

1 个赞

来晚了,刚才一直都在看其他帖子

3 个赞

搞个大图来当素材图片,可能用得上 :tieba_086:

2 个赞

不愧是你,又学到一招

2 个赞