1 效果展示
2 动画实现
<!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>Document</title>
<style>
*{
margin: 0;
padding: 0;
}
.wrap{
padding: 20px;
height: 30px;
line-height: 30px;
display: flex;
background-color: pink;
align-items: center;
}
.wrap .tip{
font-weight: 700;
font-size: 16px;
}
.wrap .content{
flex: 1;
height: 100%;
border: 1px solid #888;
font-size: 14px;
overflow: hidden;
}
.wrap .content .text{
display: inline-block;
padding-left: 100%;
white-space: nowrap;
animation: autoScroll 15s linear infinite;
}
@keyframes autoScroll{
0%{
transform: translateX(0);
}
100%{
transform: translateX(-100%);
}
}
</style>
</head>
<body>
<div class="wrap">
<span class="tip">公告:</span>
<div class="content">
<span class="text">
(一)理论学习情况;
(二)贯彻执行党的路线、方针、政策、国家法律法规的情况;
(三)贯彻执行民主集中制的情况;
(四)履行岗位职责的情况(在工作中采取的方法措施、成绩和经验);
(五)存在问题及今后努力方向。
</span>
</div>
</div>
</body>
</html>
3 js实现
<!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>Document</title>
<style>
*{
margin: 0;
padding: 0;
}
.wrap{
padding: 20px;
height: 30px;
line-height: 30px;
display: flex;
background-color: pink;
align-items: center;
}
.wrap .tip{
font-weight: 700;
font-size: 16px;
}
.wrap .content{
flex: 1;
height: 100%;
border: 1px solid #888;
font-size: 14px;
overflow: hidden;
}
.wrap .content .text{
padding-left: 100%;
padding-right: 100%;
white-space: nowrap;
}
</style>
</head>
<body>
<div class="wrap">
<span class="tip">公告:</span>
<div class="content">
<span class="text">
(一)理论学习情况;
(二)贯彻执行党的路线、方针、政策、国家法律法规的情况;
(三)贯彻执行民主集中制的情况;
(四)履行岗位职责的情况(在工作中采取的方法措施、成绩和经验);
(五)存在问题及今后努力方向。
</span>
</div>
</div>
<script>
const content = document.querySelector('.content')
const text = document.querySelector('.text')
console.log(content.clientWidth, content.scrollWidth, text.offsetWidth)
setInterval(() => {
content.scrollLeft++
if(content.clientWidth + content.scrollLeft >= text.offsetWidth){
content.scrollLeft = 0
}
}, 20);
</script>
</body>
</html>