CSS前端学习(online tuorials)

index.html

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <section>
        <div class="skew1">
            <h2 class ="layer"> 憨憨憨憨憨程序员学的前端例子~ </h2>
        </div>
        <div class = "textBox">
            <div class="skew2">
                <div class ="layer" >
                    <h2>
                        憨憨憨憨憨程序员学的前端例子~
                    </h2>
                </div>
            </div>

        </div>
    </section>


<script>
    // 监听鼠标移动事件,当鼠标在页面上移动时,触发 parallax 函数
    document.addEventListener('mousemove', parallax);
    
    // 定义一个名为 parallax 的函数,用于处理视差效果
    function parallax(e) {
        // 使用 querySelectorAll 选择页面中所有 class 为 .layer 的元素
        document.querySelectorAll('.layer').forEach(layer => {
            // 计算水平位移的值
            // e.pageX 是鼠标相对于页面左上角的水平位置
            // window.innerWidth 是窗口的宽度
            // 公式 (window.innerWidth - e.pageX * 2) / 2 用于计算视差效果的水平位移
            let x = (window.innerWidth - e.pageX * 2) / 2;
            
            // 将计算得到的位移值应用到元素的 transform 属性上,产生水平移动的效果
            layer.style.transform = `translateX(${x}px)`;
        });
    }
</script>
    
</body>
</html>

style.css

css 复制代码
@import url('https://fonts.googleapis.com/css?family=Poppins:200,300,400,500,600,700,700,900&display=swap');
*
{
 margin:0;
 padding: 0;
 box-sizing: border-box;
 font-family: 'Poppins',sans-serif;
}

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

section .textBox
{
    position:absolute;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    background: #333;
    clip-path: polygon(0 0,50% 0,50% 100%,0% 100%);

}

section h2,
section .textBox h2{
    position: absolute;
    width: 100%;
    text-align: center;
    font-size: 12em;
    line-height: 1em;
    color: #0488f5;
    -webkit-text-stroke: 0px #0876cf;
    cursor: pointer;

}

section h2
{
    -webkit-text-stroke: 2px #0876cf;
    color: transparent;

}

.skew1
{
    position: relative;
    top: 50px;
    transform:skewY(20deg);

}
.skew2
{
    position: relative;
    top: 50px;
    transform:skewY(-20deg);

}

clip-path: polygon(0 0, 50% 0, 50% 100%, 0% 100%); 使用多边形剪切路径创建一个从左上角到右下角的斜切形状。

-webkit-text-stroke: 0px #0876cf; 为文本添加蓝色边框(0像素宽度),使其变成透明文本并有边框效果。

cursor: pointer; 将鼠标悬停时的光标设置为指针,表示该元素可点击。

color: transparent; 将文本颜色设置为透明,使文本本身不可见,仅显示边框效果。

transform: skewY(20deg); 和 transform: skewY(-20deg); 分别使元素在Y轴方向上倾斜20度和-20度,产生斜切效果。

相关推荐
下雪天的夏风3 分钟前
TS - tsconfig.json 和 tsconfig.node.json 的关系,如何在TS 中使用 JS 不报错
前端·javascript·typescript
diygwcom15 分钟前
electron-updater实现electron全量版本更新
前端·javascript·electron
Hello-Mr.Wang31 分钟前
vue3中开发引导页的方法
开发语言·前端·javascript
程序员凡尘1 小时前
完美解决 Array 方法 (map/filter/reduce) 不按预期工作 的正确解决方法,亲测有效!!!
前端·javascript·vue.js
潮汐退涨月冷风霜1 小时前
机器学习之非监督学习(四)K-means 聚类算法
学习·算法·机器学习
GoppViper1 小时前
golang学习笔记29——golang 中如何将 GitHub 最新提交的版本设置为 v1.0.0
笔记·git·后端·学习·golang·github·源代码管理
羊小猪~~1 小时前
深度学习基础案例5--VGG16人脸识别(体验学习的痛苦与乐趣)
人工智能·python·深度学习·学习·算法·机器学习·cnn
Charles Ray2 小时前
C++学习笔记 —— 内存分配 new
c++·笔记·学习
我要吐泡泡了哦3 小时前
GAMES104:15 游戏引擎的玩法系统基础-学习笔记
笔记·学习·游戏引擎
骑鱼过海的猫1233 小时前
【tomcat】tomcat学习笔记
笔记·学习·tomcat