在完成一个任务的时候,要求在表格中固定宽度的其中一个item文字过长需要滚动显示,然后经过多次效果的尝试,实现代码如下所示:
p标签,设置width: fit-content;使盒子背景宽度随文字宽度而进行自适应,并设置一个自定义属性text(可自定义)p标签添加伪元素::after ,设置content: attr(text);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>Documenttitle>
<style>
* {
margin:0;
padding: 0;
}
.container {
/* 最外层盒子,需要三个属性:定宽、文字不换行、超过隐藏 */
width: 500px;
white-space: nowrap;
overflow: hidden;
font-size: 20px;
color: #65b4ae;
}
.container_words {
position: relative;
/* 盒子背景宽度将随文字宽度而进行自适应 */
width: fit-content;
/* 添加动画 */
animation: move 4s linear infinite;
/* 让前面的几个文字有一个初始的距离,达到更好的呈现效果 */
padding-left: 20px;
}
.container_words::after {
position: absolute;
right: -100%;
content: attr(text);
}
@keyframes move {
0% {
transform: translateX(0);
}
100% {
transform: translateX(-100%);
}
}
style>
head>
<body>
<div class="container">
<p class="container_words" text="文字文字文字文字文字">
文字文字文字文字文字
p>
div>
body>
html>
效果如下:
