CSS 如何创建文本分割效果
既漂亮又引人入胜的网页设计变得更加有价值。有许多网站可能在视觉上看起来很吸引人,但仍然对受众没有良好的影响。当访问者来到您的网站时,他们首先注意到的是您网站的外观。排版是书面文本的视觉表现形式,包含了字距和字体设计等元素。
在网页设计中,字体不仅仅是字母。当您改变字体颜色时,您的网站的外观也会改变。创建像文本分割一样的不同效果将给受众带来很大的视觉冲击。
CSS提供了各种功能和过渡效果,如动画、悬停效果、霓虹灯效果等。因此,我们将使用这些属性来创建文本分割效果。在本文中,我们将讨论如何使用CSS创建文本分割效果。
文本水平分割效果
当光标悬停在文本上时,将文本分割称为分割效果。使用:before和:after伪选择器以及hover选择器可以实现文本的水平分割。
- :before伪选择器 - 用于在元素内容之前插入内容。
-
:after伪选择器 - 用于在元素内容之后插入内容。content属性指定要写在所选元素之后或之前的内容。
-
z-index属性 - 当元素重叠时,它们以堆状显示。因此,为了决定哪个元素在堆栈顶部,我们给它一个更大的z-index。
值可以是1、2、3……它的值可以是负数,如果您希望将元素放置在另一个元素的下方,只需为其分配较低的z-index值。
操作步骤
- 编写文本并将其放在中心并设置样式。
-
使用:before选择器,使文本的前半部分(上半部分)变为灰色。
-
使用:after选择器来覆盖灰色内容。
-
为每个选择器赋予z-index,以确保事件的顺序。
-
在鼠标悬停在文本上时,展示内容,实现水平分割效果。
示例
<!DOCTYPE html>
<html>
<head>
<meta charset= "UTF-8">
<title>Split Horizontal Effect</title>
<style>
body{
margin: 10px;
padding: 0;
font-family: verdana, Helvetica, arial;
letter-spacing: 1px;
}
#Example {
position: absolute;
top: 50%;
left: 38%;
font-size: 60px;
z-index: -1;
color: red;
}
#Example::before {
content: attr(id);
position: absolute;
height: 60%;
color: gray;
z-index: 1;
top: 4px;
left: 1px;
overflow: hidden;
}
#Example::after {
content: attr(id);
position: absolute;
height: 60%;
top: 0;
left: 0;
overflow: hidden;
color: red;
border-bottom: 1px solid white;
z-index: 2;
transition: 1s;
}
#Example:hover::after {
border-bottom: 4px solid white;
top: -7px;
overflow: hidden;
}
</style>
</head>
<body>
<h1 id= "Example"> Example </h1>
</body>
</html>
文字的分割效果
现在,我们将讨论如何在文字上创建垂直的分割效果。
需要遵循的步骤
- 创建一个class为”container”的section元素。根据您的喜好来设置样式。
-
在section元素内创建一个
元素。在其中创建两个p元素。根据您的喜好来定位和设置样式。这些p元素包含要分割的文字。每个p元素中都要写入文字一次。
- 使用clip-path属性来给文字添加形状。然后,使用transform属性在悬停时平移文字。
示例
<!DOCTYPE html>
<html>
<head>
<meta charset= "UTF-8">
<title> Split effect </title>
<style>
.container {
position: absolute;
transform: translate(-50%, -50%);
top: 35%;
left: 40%;
color: cyan;
}
.demo {
position: absolute;
text-transform: uppercase;
font-size: 50px;
letter-spacing: 1px;
transition: 4s ease-in;
}
.demo1 {
clip-path: polygon (0 10%, 30% 0, 100% 0, 100% 0%, 50% 0, 0 100%);
}
.demo2 {
clip-path: polygon (0 100%, 50% 0, 100% 100%, 100% 100%, 0 100%, 47% 0);
}
.box:hover .demo1 {
transform: translateY(-30px);
}
.box:hover .demo2 {
transform: translateY(20px);
}
</style>
</head>
<body>
<section class= "container">
<div class= "box">
<p class= "demo demo1"> Example </p>
<p class= "demo demo2"> Example </p>
</div>
</section>
</body>
</html>
使用clip-path属性
CSS的clip-path属性用于创建裁剪区域,确定元素在网页上显示的部分。在区域内的部分将显示出来,而区域外的部分将被隐藏。
clip-path polygon() 是基本几何图形中可用形状之一。它使我们能够在x轴和y轴上操作多组不同的值(以任何单位)。
语法
element{
clip-path: polygon (x y, x y, x y);
}
我们可以通过以下示例来理解这个属性。
示例
<!DOCTYPE html>
<html>
<head>
<title>Clip-path Property</title>
<style>
h3{
color: red;
font-size: 30px;
text-decoration: underline;
}
.demo {
clip-path: polygon(30% 0%, 70% 30%, 50% 80%, 0% 40%);
}
.demo1{
clip-path: polygon(50% 10%, 61% 45%, 98% 30%, 68% 67%, 75% 91%, 48% 70%, 18% 91%, 32% 67%, 4% 45%, 42% 45%);
}
</style>
</head>
<body>
<center>
<h3>Clip-path Property</h3>
<img src= "https://cdn.pixabay.com/photo/2015/04/23/22/00/tree-736885__480.jpg" class= "demo">
<h4> Diamond shape polygon </h4>
<img src= "https://cdn.pixabay.com/photo/2015/04/23/22/00/tree-736885__480.jpg" class= "demo1">
<h4>Star Shape Polygon</h4>
</center>
</body>
</html>
结论
在网页设计中,可读性是使用性更重要的元素之一。用户应该能够轻松阅读和理解您的内容。如果您网站的文本内容独特,那么网站的受欢迎程度很高。这是因为在大多数网站中,文本是最常见的一个平淡无奇的元素。因此,为了吸引用户的注意力,开发人员可以尝试不同和独特的文字风格。其中之一就是分割文本效果。
在本文中,我们讨论了在网页中创建文本分割效果的不同方法。为了创建水平分割,我们使用了CSS的 :before 和 :after 伪类选择器。为了在不同的形状中创建分割效果,我们使用了CSS的 clip-path polygon () 属性。