Home  >  Article  >  Web Front-end  >  How to use CSS to create a horizontal scrolling news column effect

How to use CSS to create a horizontal scrolling news column effect

WBOY
WBOYOriginal
2023-10-18 10:09:271401browse

How to use CSS to create a horizontal scrolling news column effect

How to use CSS to achieve the horizontal scrolling news column effect

In web design, in order to increase the display effect and user experience of news content, horizontal scrolling is often used News column effect. This article will introduce the specific steps to implement a horizontal scrolling news column using CSS, and provide code examples for reference.

  1. Create HTML structure

First, create a div container in HTML to wrap the news content. For example:

<div class="news-container">
  <ul class="news-list">
    <li>新闻1</li>
    <li>新闻2</li>
    <li>新闻3</li>
    <li>新闻4</li>
    <li>新闻5</li>
  </ul>
</div>
  1. Set CSS style

Next, set the style of the container and the style of the news list in CSS. For example:

.news-container {
  width: 100%;
  overflow-x: scroll;  // 设置横向滚动
}

.news-list {
  display: flex;  // 设置新闻列表为弹性布局
  width: fit-content;  // 设置列表宽度为内容宽度
  white-space: nowrap;  // 防止新闻换行
}

.news-list li {
  padding: 10px;  // 设置新闻项的内边距
  margin-right: 10px;  // 设置新闻项之间的间距
}
  1. Add animation effect

In order to make the news bar scroll, we can use CSS animation to achieve it. First define a keyframe animation to control the displacement of the news list. For example:

@keyframes move-news {
  0% {
    transform: translateX(0);  // 初始位置
  }
  100% {
    transform: translateX(-100%);  // 最终位置
  }
}

Then, apply the animation to the news list. For example:

.news-list {
  animation: move-news 10s linear infinite;  // 每10秒执行一次动画,使用线性缓动,并且无限循环
}
  1. Perfect effect

In order to increase the user experience, we can add the effect of pausing the animation on mouse hover. Add the following style to CSS:

.news-container:hover .news-list {
  animation-play-state: paused;  // 鼠标悬停时暂停动画
}

At this point, the main steps to use CSS to achieve the horizontal scrolling news column effect have been completed.

The complete code example is as follows:

<!DOCTYPE html>
<html>
<head>
  <style>
    .news-container {
      width: 100%;
      overflow-x: scroll;
    }

    .news-list {
      display: flex;
      width: fit-content;
      white-space: nowrap;
      animation: move-news 10s linear infinite;
    }

    .news-list li {
      padding: 10px;
      margin-right: 10px;
    }

    @keyframes move-news {
      0% {
        transform: translateX(0);
      }
      100% {
        transform: translateX(-100%);
      }
    }

    .news-container:hover .news-list {
      animation-play-state: paused;
    }
  </style>
</head>
<body>
  <div class="news-container">
    <ul class="news-list">
      <li>新闻1</li>
      <li>新闻2</li>
      <li>新闻3</li>
      <li>新闻4</li>
      <li>新闻5</li>
    </ul>
  </div>
</body>
</html>

Summary

Through the above steps, we can use CSS to achieve the horizontal scrolling news column effect. This effect can display multiple news content well and increase the dynamics and user interactivity of the page. The parameters of style and animation can be adjusted according to actual needs to achieve more flexible and diverse scrolling effects.

The above is the detailed content of How to use CSS to create a horizontal scrolling news column effect. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn