保持滑块中间的div突出显示
创始人
2024-11-21 18:01:53
0

要实现保持滑块中间的div突出显示,可以使用CSS和JavaScript来实现。

以下是一个示例的解决方法:

HTML代码:

Item 1
Item 2
Item 3
Item 4
Item 5

CSS代码:

.slider-container {
  overflow: hidden; /* 隐藏溢出部分 */
  width: 300px; /* 设置容器宽度 */
  height: 200px; /* 设置容器高度 */
}

.slider {
  display: flex; /* 使用flex布局 */
  flex-wrap: nowrap; /* 子元素不换行 */
  transition: transform 0.5s; /* 添加过渡效果 */
}

.slider-item {
  flex: 0 0 300px; /* 设置子元素宽度 */
  height: 200px; /* 设置子元素高度 */
  background-color: #ccc;
  margin: 10px; /* 设置子元素间距 */
  display: flex;
  align-items: center; /* 垂直居中子元素内容 */
  justify-content: center; /* 水平居中子元素内容 */
}

.slider-item.active {
  background-color: #f00; /* 设置活动项背景色 */
}

JavaScript代码:

const sliderContainer = document.querySelector('.slider-container');
const slider = document.querySelector('.slider');
const sliderItems = document.querySelectorAll('.slider-item');

sliderContainer.addEventListener('scroll', function() {
  const containerWidth = sliderContainer.offsetWidth; // 获取容器宽度
  const containerScrollLeft = sliderContainer.scrollLeft; // 获取容器滚动距离

  sliderItems.forEach(function(item) {
    const itemWidth = item.offsetWidth; // 获取子元素宽度
    const itemLeft = item.offsetLeft; // 获取子元素相对于容器的左边距

    if (itemLeft <= containerWidth / 2 && itemLeft + itemWidth >= containerWidth / 2) {
      item.classList.add('active'); // 添加活动项样式
    } else {
      item.classList.remove('active'); // 移除活动项样式
    }
  })
});

上述代码中,我们首先使用CSS布局和样式设置了滑块容器和滑块项目的样式。然后使用JavaScript监听滑块容器的滚动事件,根据滚动距离计算活动项的位置,并添加相应的样式。当滑块容器滚动时,活动项会保持在滑块中间突出显示。

相关内容

热门资讯

保存时出现了1个错误,导致这篇... 当保存文章时出现错误时,可以通过以下步骤解决问题:查看错误信息:查看错误提示信息可以帮助我们了解具体...
汇川伺服电机位置控制模式参数配... 1. 基本控制参数设置 1)设置位置控制模式   2)绝对值位置线性模...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
不一致的条件格式 要解决不一致的条件格式问题,可以按照以下步骤进行:确定条件格式的规则:首先,需要明确条件格式的规则是...
本地主机上的图像未显示 问题描述:在本地主机上显示图像时,图像未能正常显示。解决方法:以下是一些可能的解决方法,具体取决于问...
表格列调整大小出现问题 问题描述:表格列调整大小出现问题,无法正常调整列宽。解决方法:检查表格的布局方式是否正确。确保表格使...
表格中数据未显示 当表格中的数据未显示时,可能是由于以下几个原因导致的:HTML代码问题:检查表格的HTML代码是否正...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...