我们先来看看实现的效果
html代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>第二十天</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div>
<h1>人工智能技术作业</h1>
</div>
</body>
</html>
css代码
*{
margin: 0;
padding: 0;
}
body{
width: 100vw;
height: 100vh;
background-color: #000;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
h1{
position: relative;
font-size: 100px;
color:#544e58
}
h1:before{
position: absolute;
/* 这里必须是Unicode编码 */
content: '\4eba\5de5\667a\80fd\6280\672f\4f5c\4e1a';
/* 颜色改为透明让背景色显示出来 */
color:transparent;
/* 使用linear-gradient函数生成一个渐变图片做背景 */
background-image: linear-gradient(to right, #bed742, #f8aba6, #585eaa, #ed1941, #7fb80e, #f26522, #ffc20e, #7c8577, #009ad6, #65c294, #f47920, #f15b6c, #2e3a1f);
/* 这个谷歌浏览器不起作用 */
background-clip: text;
/* 谷歌浏览器适配 */
-webkit-background-clip: text;
/* 制作一个斜矩形遮罩 使用polygon方法 */
/* 矩形需要定义四个角的坐标,顺时针方向定义
分别位左上,右上,右下,左下 单位为百分比*/
clip-path:polygon(-20% 0%,0% 0%, -10% 100%,-30% 100%);
/* 增加动画 */
animation:light 2s infinite;
}
@keyframes light{
0%{
clip-path:polygon(-20% 0%,0% 0%, -10% 100%,-30% 100%);
}
50%{
clip-path:polygon(100% 0%,120% 0%, 110% 100%,90% 100%);
}
100%{
clip-path:polygon(-20% 0%,0% 0%, -10% 100%,-30% 100%);
}
}
设计思路与今日份知识总结
中文转unicode地址
记得要去掉u
设计思路很简单,首先是背景色只影响文字,用到了-webkit-background-clip: text;
之后我们用clip-path来构建了一个菱形,这样配合前者就完成了一个矩形范围内的文字高亮了!
直接再写一个动画即可
基本也没用到什么新知识,但是效果还是比较惊艳吧!
标签 | 作用 |
---|---|
-webkit-background-clip:text | 背景控制只作用与文字(谷歌适配方法) |
polygon | 此函数接受两个参数百分比或长度,用于保留多边形大小的值 |