console
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>跑马灯效果</title>
<style>
.marquee-container {
width: 100%;
height: 50px;
overflow: hidden;
background-color: #282c34;
display: flex;
align-items: center;
padding: 0 10px;
position: relative;
}
.marquee-content {
white-space: nowrap;
color: #fff;
font-size: 30px;
transition: transform 1s ease-out;
will-change: transform;
}
.marquee {
animation: marquee 10s linear infinite;
}
@keyframes marquee {
0% {
transform: translateX(100%);
}
100% {
transform: translateX(-100%);
}
}
.marquee-container:hover .marquee-content {
animation-play-state: paused;
}
</style>
</head>
<body>
<div class="marquee-container" id="marquee-container">
<div class="marquee-content" id="marquee-content">
欢迎来到跑马灯效果!这是一个滚动的文本内容,横向溢出!鼠标移入时停止滚动。
</div>
</div>
<script>
window.addEventListener('load', function() {
const container = document.getElementById('marquee-container');
const content = document.getElementById('marquee-content');
if (content.offsetWidth > container.offsetWidth) {
content.classList.add('marquee');
}
});
window.addEventListener('resize', function() {
const container = document.getElementById('marquee-container');
const content = document.getElementById('marquee-content');
if (content.offsetWidth > container.offsetWidth) {
content.classList.add('marquee');
} else {
content.classList.remove('marquee');
}
});
</script>
</body>
</html>