react实现头部导航,选中状态底部出现蓝色条块问题

 更新时间:2023年11月14日 08:57:33   作者:HaanLen  
这篇文章主要介绍了react实现头部导航,选中状态底部出现蓝色条块问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

导航样式,选中item底部蓝色

const [itemIndex, setItemIndex] = useState(0);
<div className="box" onClick={(e) => {
  console.log('e', e.target?.dataset);
  if (!e.target?.dataset?.index) { return; };
  setItemIndex(Number(e.target?.dataset?.index));
}}
>
  <div className="top-item" style={{ left: `${itemIndex * 25}%` }}></div>
  <div 
    className={`${itemIndex === 0 ? 'item-active' : ''} box-item item1`} 
    data-index="0"
  >item1
  </div>
  <div 
    className={`${itemIndex === 1 ? 'item-active' : ''} box-item item2`} 
    data-index="1"
  >item2
  </div>
  <div 
    className={`${itemIndex === 2 ? 'item-active' : ''} box-item item3`} 
    data-index="2"
  >item3
  </div>
  <div 
    className={`${itemIndex === 3 ? 'item-active' : ''} box-item item4`} 
    data-index="3"
  >item4
  </div>
</div>

利用border-bottom效果

在这里插入图片描述

.box {
  margin-top: 40px;
  width: 800px;
  display: flex;
  justify-content: space-around;
  height: 60px;
  font-size: 16px;
  align-items: center; //垂直居中
  border-bottom: 1px solid #888;
  position: relative;

  .box-item {
    text-align: center;

  }

  .item-active {
    color: #1581ff;
  }

  .top-item {
    position: absolute;
    height: 3px;
    background-color: #1581ff;
    bottom: 0;
    width: calc(100% / 4);
    left: 0;
  }
}

利用伪元素效果

在这里插入图片描述

.box {
  margin-top: 40px;
  width: 800px;
  display: flex;
  justify-content: space-around;
  height: 60px;
  font-size: 16px;
  align-items: center; //垂直居中
  // border-bottom: 1px solid #888;
  position: relative;

  &::after {
    content: "";
    width: 100%;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: 0;
    // background-color: #e7e7e7;
    background-color: #888;
  }

  .box-item {
    text-align: center;

  }

  .item-active {
    color: #1581ff;
  }

  .top-item {
    position: absolute;
    height: 3px;
    background-color: #1581ff;
    bottom: 0;
    width: calc(100% / 4);
    left: 0;
  }
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • React创建组件的的方式汇总

    React创建组件的的方式汇总

    React 是一个用于构建用户界面的 JAVASCRIPT 库。这篇文章主要介绍了React组件的两种创建方式,一种是使用函数创建组件另一种是使用类创建组件,需要的朋友可以参考下
    2021-11-11
  • Remix 路由模块输出对象handle函数

    Remix 路由模块输出对象handle函数

    这篇文章主要为大家介绍了Remix 路由模块输出对象handle函数使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • React通过ref获取子组件的数据和方法

    React通过ref获取子组件的数据和方法

    这篇文章主要介绍了React如何通过ref获取子组件的数据和方法,文中有详细的总结内容和代码示例,具有一定的参考价值,需要的朋友可以参考下
    2023-10-10
  • React之使用useState异步刷新的问题

    React之使用useState异步刷新的问题

    这篇文章主要介绍了React之使用useState异步刷新的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • React styled components样式组件化使用流程

    React styled components样式组件化使用流程

    styled-components 是react的一个第三方库,一种css私有化的方式。用来实现CSS in JS 的方式之一。在多人协作中,css必定会出现命名冲突,与vue的scoped解决方案不同,react用styled-components的给类名加了随机字符的方式实现了css的私有化
    2023-02-02
  • React错误的习惯用法分析详解

    React错误的习惯用法分析详解

    这篇文章主要为大家介绍了React错误用法习惯分析详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • react  Suspense工作原理解析

    react  Suspense工作原理解析

    这篇文章主要为大家介绍了react  Suspense工作原理解析以及基本应用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • React+高德地图实时获取经纬度,定位地址

    React+高德地图实时获取经纬度,定位地址

    思路其实没有那么复杂,把地图想成一个盒子容器,地图中心点想成盒子中心点;扎点在【地图中心点】不会动,当移动地图时,去获取【地图中心点】经纬度,设置某个位置的时候,将经纬度设置为【地图中心点】即可
    2021-06-06
  • 在React 组件中使用Echarts的示例代码

    在React 组件中使用Echarts的示例代码

    本篇文章主要介绍了在React 组件中使用Echarts的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • React中useEffect Hook常见问题及解决

    React中useEffect Hook常见问题及解决

    React的useEffect Hook它允许我们在函数组件中执行副作用操作,但在使用过程中可能会遇到一些常见的错误,本文就来介绍一下常见问题及解决,感兴趣的可以了解一下
    2023-10-10

最新评论