紧贴墙面运动的文字

news2024/11/24 7:41:16

效果展示

在这里插入图片描述

CSS 知识点

  • clip-path 属性的运用
  • 视觉错觉运用

实现页面基础结构

<section>
  <!-- 右侧文字 部分 -->
  <div class="skew1">
    <h2 class="layer">Corner Text</h2>
  </div>
  <!-- 左侧文字 部分 -->
  <div class="text_box">
    <div class="skew2">
      <h2 class="layer">Corner Text</h2>
    </div>
  </div>
</section>

效果实现思路

想要实现上述的效果,我们可以用两个相同色系的色块来作为墙体,只是一个色块的明亮程度高点,另外一个色块的明亮度比较低,这样就可以形成视觉差,这样就可以让我们看到一个转角的墙体。其中需要注意的是,明亮度高的墙体我们可以使用clip-path控制元素展示区域的部分。

文字我们也采用两个文字来实现,一个文字在明亮度高的墙体上,一个文字在明亮度低的墙体上。在明亮度低的文字在视觉上要比较暗,并且两个文字都进行旋转形成一个夹角。

做到上述两点后,整体效果就会给人感觉文字在紧贴墙脚折行。

实现右侧暗部分的背景效果

section {
  position: relative;
  width: 100%;
  height: 100vh;
  background: #222;
  overflow: hidden;
}

实现左侧明亮部分的背景效果

section .text_box {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #333;
  /* 使用 clip-path 属性控制元素的展示部分 */
  clip-path: polygon(0 0, 53% 0, 53% 100%, 0% 100%);
}

实现文字效果

.skew1 h2,
.text_box .skew2 h2 {
  position: absolute;
  width: 100%;
  text-align: center;
  font-size: 12em;
  line-height: 1em;
  color: #0488f5;
  cursor: pointer;
}

/* 背阴面的透明度进行修改,从而有视觉上的错差 */
.skew1 h2 {
  opacity: 0.6;
}

/* 进行旋转,从而长生对应的折叠效果 */
.skew1 {
  position: relative;
  top: 50px;
  transform: skewY(20deg);
}

.skew2 {
  position: relative;
  top: 91px;
  transform: skewY(340deg);
}

实现文字跟随鼠标移动

document.addEventListener("mousemove", (e) => {
  document.querySelectorAll(".layer").forEach((layer) => {
    let x = (window.innerWidth - e.pageX * 2) / 2;
    layer.style.transform = `translateX(${x}px)`;
  });
});

完整代码下载

完整代码下载

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1069264.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Transformer预测 | Pytorch实现基于mmTransformer多模态运动预测(堆叠Transformer)

文章目录 文章概述程序设计参考资料文章概述 Transformer预测 | Pytorch实现基于mmTransformer多模态运动预测(堆叠Transformer) 程序设计 Initialize virtual environment: conda create -n mmTrans python=3.7# -*- coding: utf-8 -*- import argparse import os

PCA和SVD数据降维

PCA&#xff08;Principal Component Analysis&#xff09; 是一种常见的数据分析方式&#xff0c;常用于高维数据的降维&#xff0c;可用于提取数据的主要特征分量。 最大可分性 基向量乘原始矩阵会将矩阵映射到这个基向量空间中&#xff0c;如果基的数量少于向量本身的维数…

2023年【金属非金属矿山(地下矿山)安全管理人员】考试题库及金属非金属矿山(地下矿山)安全管理人员模拟考试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2023年金属非金属矿山&#xff08;地下矿山&#xff09;安全管理人员考试题库为正在备考金属非金属矿山&#xff08;地下矿山&#xff09;安全管理人员操作证的学员准备的理论考试专题&#xff0c;每个月更新的金属非…

webstorm自定义文件模板(Vue + Scss)

最终效果如下&#xff1a; 具体配置如下&#xff1a; 新增文件代码如下&#xff1a; <!--* Description: ${COMPONENT_NAME} 页面* Author: mhf* Date: ${DATE} --> <template><div>${COMPONENT_NAME} </div> </template><script&g…

一文教你如何快速备考云计算HCIE 3.0 !

大家好&#xff0c;在誉天实验辅导老师的耐心帮助下&#xff0c;本人在9月21日的云计算HCIE 3.0考试已顺利通过&#xff0c;很高兴有这个机会给大家分享备考的经历&#xff0c;希望对还在备考的同学能有一定的帮助。 备考准备 在云计算HCIE3.0的课程学习结束之后&#xff0c;就…

IntelliJ IDEA失焦自动重启服务的解决方法

IDEA 热部署特性 热部署&#xff0c;即应用正属于运行状态时&#xff0c;我们对应用源码进行了修改更新&#xff0c;在不重新启动应用的情况下&#xff0c;可以能够自动的把更新的内容重新进行编译并部署到服务器上&#xff0c;使修改立即生效。 现象 在使用 IntelliJ IDEA运…

Ps:图像大小

Ps菜单&#xff1a;图像/图像大小 Image/Image Size 快捷键&#xff1a;Ctrl Alt I 我们经常需要更改图像的大小&#xff0c;以适合发布到网上或者打印输出的要求。图像大小 Image Size命令可在这一工作流程中发挥重要作用。 ◆ ◆ ◆ 常用操作方法及技巧 1、更改图像大小…

linux usb驱动

1. USB总线介绍 1.1 简介 通用串行总线&#xff08;英语&#xff1a;Universal Serial Bus&#xff0c;缩写&#xff1a;USB&#xff09;是连接计算机系统与外部设备的一种串口总线标准&#xff0c;也是一种输入输出接口的技术规范&#xff0c;被广泛地应用于个人电脑和移动设…

深度学习实战56-基于VR虚拟现实眼镜与计算机视觉远程操控机器人,实现远程协助独居老人生活起居

大家好,我是微学AI,今天给大家介绍一下深度学习实战56-基于VR虚拟现实眼镜与计算机视觉远程操控机器人,实现远程协助独居老人生活起居,在信息科技飞速发展的当下,我们面临着一个重大社会问题——老龄化。越来越多的老年人选择独自生活,而他们往往因为身体原因无法完全照顾…

ThreeJS-3D教学七-交互

在threejs中想要选中一个物体&#xff0c;点击或者鼠标悬浮&#xff0c;又或者移动端的touch事件&#xff0c;核心都是通过new THREE.Raycaster完成的。这里用到了一个概念&#xff0c;即我们点击时的 屏幕坐标 转换为 three中的3D坐标。 先看效果图&#xff1a; 代码是&#…

使用postman 调用 Webservice 接口

1. 先在浏览器地址栏 访问你的webService地址 地址格式: http://127.0.0.1:8092/xxxx/ws(这个自己的决定)/xxxxXccv?wsdl 2. post man POST 访问wwebService接口 地址格式: http://127.0.0.1:8092/xxxx/ws(这个自己的决定)/xxxxXccv <soapenv:Envelope xmlns:soapenv…

优优嗨聚集团:OTC药品能否纳入报销成为各方关注焦点,对OTC医疗有何影响

随着医疗费用的不断上涨&#xff0c;各方对于非处方药&#xff08;OTC&#xff09;能否纳入报销的关注度也在不断提升。OTC药品是指无需医生处方即可购买的药品&#xff0c;具有方便快捷、安全有效的特点。然而&#xff0c;对于是否将OTC药品纳入报销范围&#xff0c;各方看法不…

【Redis】缓存穿透、击穿和雪崩

文章目录 一、Redis缓存概念二、缓存穿透&#xff08;查不到&#xff09;1、概念2、解决方案2.1、布隆过滤器2.2、缓存空对象 三、缓存击穿&#xff08;量太大&#xff0c;缓存过期&#xff01;&#xff09;1、概述2、解决方案 四、缓存雪崩1、概念2、解决方案 面试高频 服务的…

Win11 安装安卓子系统方法教程

WIN11安装安卓子系统 准备工作下载安装安装完成使用adb连接子系统结束 准备工作 开启电脑中的 控制面板>>>>程序和功能>>启用或关闭Windows功能>>>找到“Hyper-V”&#xff0c;把勾都勾上&#xff0c;确定&#xff0c;完成安装&#xff0c;并重启电…

【数据库问题】删除数据库失败,提示:there is 1 other session using the database

删除数据库失败&#xff0c;提示&#xff1a;there is 1 other session using the database 解决办法&#xff1a; SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity WHERE datnametest_database AND pid<>pg_backend_pid(); 使用上述命令先关…

0101idea运行scala-基础入门-scala

1 前言 scala基于不同应用&#xff0c;可以以不同方式运行。本人目前从事Java开发&#xff0c;开发工具idea&#xff0c;这里就介绍idea创建工程运行scala的方式。环境如下&#xff1a; 软件&#xff08;工具&#xff09;版本描述scala2.12.11idea2022.3开发工具Javajdk1.8ma…

ASPICE标准快速掌握「2.2. 过程参考模型(Process Reference Model,PRM)」

ASPICE归纳了大量的历史经验,分门别类总结出了适用于所有项目的过程。并将所有过程依据过程类别进行分组,并根据他们所处的活动类别在过程组内进一步划分。总共有 3 个过程类别: 主要生命周期过程组织生命周期过程支持生命周期过程上面的每个过程类别都又往下细分为1-N个子过…

聊聊分布式架构01——http通信基础

目录 web通信的简单结构 网络通信基础TCP/IP TCP/IP 通信传输流 HTTP中的三剑客 负责传输的IP协议 确保可靠性的TCP协议 SYN攻击&#xff08;SYN Flood Attack&#xff09; 四次挥手 负责域名解析的DNS服务 基于 TCP 协议实现通信 TCP 协议的通信过程 Web通信的简单…

【面试经典150 | 哈希表】赎金信

文章目录 写在前面Tag题目来源题目解读解题思路方法一&#xff1a;哈希表方法二&#xff1a;数组模拟哈希表 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法&#xff0c;两到三天更新一篇文章&#xff0c;欢迎催更…… 专栏内容以分析题目为主&#xff0c;并附带…

Node.js代码漏洞扫描工具介绍——npm audit

npm audit 运行安全检查 主要作用&#xff1a;检查命令将项目中配置的依赖项的描述提交到默认注册中心&#xff0c;并要求报告已知漏洞。如果发现任何漏洞&#xff0c;则将计算影响和适当的补救措施。如果 fix 提供了参数&#xff0c;则将对包树应用补救措施。 具体参考&#x…