当前位置: 首页 > news >正文

前端小案例——动态导航栏文字(HTML + CSS, 附源码)

一、前言

实现功能:

        这案例是一个具有动态效果的导航栏。导航栏的样式设置了一个灰色的背景,并使用flex布局在水平方向上平均分配了四个选项。每个选项都是一个li元素,包含一个文本和一个横向的下划线。

        当鼠标悬停在选项上时,选项的文本颜色会变为粉红色,并且下划线会从中间向两边展开,呈现出一种动态的效果。

        这种导航栏可以用于网页或应用程序中,提供简洁且有吸引力的导航选项。

实现逻辑:

  1. 创建一个导航栏容器div,并设置其类名设置为.nav。
  2. 在导航栏容器中创建四个选项,即li元素,每个选项包含一个文本和一个下划线。
  3. 为每个选项设置样式,包括设置宽度、高度、文本对齐方式、行高和相对定位。
  4. 为每个选项的下划线i元素设置样式,包括设置宽度为0%(初始状态下不可见)、高度为3px、背景色、绝对定位和过渡效果。
  5. 当鼠标悬停在选项上时,为选项设置:hover伪类样式,改变文本颜色为粉红色。
  6. 当鼠标悬停在选项上时,为选项下划线i元素设置:hover伪类样式,将下划线从中间向两边展开,即将left属性设置为0,将宽度设置为100%。
  7. 设置过渡效果,使下划线的展开效果具有动画效果。

二、项目运行效果

三、全部代码

<!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>动态导航栏文字</title><style>*{padding: 0;margin: 0;list-style: none;}.nav{display: flex;width: 500px;height: 100px;margin: 100px auto;justify-content: space-around;align-items: center;background-color: rgb(205, 223, 248);border-radius: 10px;}.nav li{position: relative;width: 100px;height: 50px;text-align: center;line-height: 50px;transition:.5s all;cursor: pointer;}.nav li i{display:block; width: 0%;height: 3px;background-color: rgb(255, 0, 119);position: absolute;bottom: 0px;left: 50%;transition:.5s all;}.nav li:hover {color: rgb(255, 0, 119);letter-spacing: 4px;}.nav :hover i{left:0; width:100%;}</style>
</head>
<body><div class="nav"><li>1111<i></i></li><li>2222<i></i></li><li>3333<i></i></li><li>4444<i></i></li></div>
</body>
</html>

四、答疑解惑

        这是一个非常适合前端入门练习的小案例,各位小伙伴可以自行更改样式和内容,如果大家运行时出现问题或代码有什么不懂的地方都可以随时评论留言或联系博主QQ。

        还多请各位小伙伴多多点赞支持,你们的支持是我最大的动力。

博主QQ:1196094293

谢谢各位的支持~~

http://www.lryc.cn/news/293981.html

相关文章:

  • 前置机、堡垒机(跳板机)【2024-02-04】
  • 从编程中理解:大脑的短期记忆和长期记忆
  • Rust 本地文档的使用:rustup doc
  • uni-app切换页面刷新,返回上一页刷新(onShow钩子函数的使用)
  • adb 无线连接 操作Android设备
  • 春节运维不打烊:一体化运维高效保障企业IT与机房环境
  • 类银河恶魔城学习记录1-5 CollisionCheck源代码 P32
  • spring boot 使用 Kafka
  • LFU缓存(Leetcode460)
  • Vue学习笔记:计算属性
  • 深度学习本科课程 实验2 前馈神经网络
  • 【python】python爱心代码【附源码】
  • Linux---信号
  • 24种设计模式之行为型模式(下)-Java版
  • 基于微信小程序的校园水电费管理小程序的研究与实现
  • python二维高斯热力图绘制简单的思路代码
  • k8s 部署 nocas 同时部署mysql
  • GolangCI-Lint配置变更实践
  • UE中对象创建方法示例和类的理解
  • ElementUI鼠标拖动没列宽度
  • Flutter canvas 画一条会动的波浪线 进度条
  • 算法训练营day22, 回溯2
  • undefined symbol: avio_protocol_get_class, version LIBAVFORMAT_58
  • Android简单支持项目符号的EditText
  • 【axios报错异常】: Uncaught ReferenceError: axios is not defined
  • Docker基础与持续集成
  • flutter开发实战-ijkplayer视频播放器功能
  • SpringFramework实战指南(五)
  • 力扣 121. 买卖股票的最佳时机
  • 【STM32+HAL库+CubeMX】UART轮询收发、中断收发、DMA收发方法及空闲中断详解