HTML+CSS实现固定的半透明底部导航栏

news2024/11/24 18:35:28

实现固定的半透明底部导航栏

在网页设计中,固定底部导航栏是一种常见的设计模式,尤其适用于移动端或简洁的网页布局。通过CSS,我们可以轻松实现固定位置、半透明效果、以及图片的动态缩放。本文将详细介绍如何使用HTML和CSS实现一个固定且具有动态效果的底部导航栏。

效果

在这里插入图片描述

HTML结构

首先,我们需要在HTML中定义导航栏的基本结构,包括容器和图片链接。以下是完整的HTML代码:

<!DOCTYPE html>
<html lang="zh-CN">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>底部半透明导航栏</title>
    <link rel="stylesheet" href="style.css">
</head>

<body>
    <!-- 底部的盒子 用来装有导航效果的图片 -->
    <div class="bottom">

        <!-- 放所有的导航图片 -->
        <div class="all-image">
            <!-- 图片1 -->
            <div class="nav-image">
                <a href="https://example.com">
                    <img src="image1.jpg" title="图片1" width="70">
                </a>
            </div>

            <!-- 图片2 -->
            <div class="nav-image">
                <a href="https://example.com">
                    <img src="image2.jpg" title="图片2" width="70">
                </a>
            </div>

            <!-- 图片3 -->
            <div class="nav-image">
                <a href="https://example.com">
                    <img src="image3.jpg" title="图片3" width="70">
                </a>
            </div>

            <!-- 图片4 -->
            <div class="nav-image">
                <a href="https://example.com">
                    <img src="image4.jpg" title="图片4" width="70">
                </a>
            </div>

            <!-- 图片5 -->
            <div class="nav-image">
                <a href="https://example.com">
                    <img src="image5.jpg" title="图片5" width="70">
                </a>
            </div>
        </div>
    </div>
</body>

</html>

代码解析

  • <div class="bottom">:这是底部导航栏的容器,包含所有的图片链接。
  • <div class="all-image">:这个容器用于存放所有的导航图片。
  • <div class="nav-image">:每个nav-image包含一张导航图片,并嵌入一个超链接。

CSS样式

接下来,我们为导航栏添加样式,包括半透明背景、固定定位以及动态效果。以下是CSS代码:

/* 主体设置 */
body {
    height: 10000px; /* 设置页面高度,方便滚动测试 */
}

/* 底部盒子 bottom 样式 */
.bottom {
    position: fixed; /* 固定定位,让导航栏固定在页面底部 */
    z-index: 10; /* 设置叠层顺序,确保导航栏显示在最前 */
    width: 548px; /* 设置宽度 */
    height: 85px; /* 设置高度 */
    background-color: rgba(0, 152, 50, 0.3); /* 半透明背景色 */
    bottom: 50px; /* 距离页面底部50px */
    left: 50%; /* 水平居中 */
    transform: translateX(-50%); /* 通过X轴偏移,使其真正居中 */
    transition: width 0.8s, height 0.8s; /* 过渡效果 */
}

/* 导航图片容器 all-image 样式 */
.all-image {
    width: 95%; /* 设置宽度 */
    height: 80%; /* 设置高度 */
    text-align: center; /* 图片居中显示 */
    transition: text-align 0.3s; /* 添加过渡效果 */
}

/* 导航图片 nav-image 样式 */
.nav-image {
    display: inline-block; /* 让图片可以一行显示 */
    margin-left: 30px; /* 左侧外边距 */
    margin-top: 10px; /* 顶部外边距 */
}

/* 鼠标悬浮时 bottom 样式变化 */
.bottom:hover {
    width: 650px; /* 导航栏变宽 */
    height: 100px; /* 导航栏变高 */
}

/* 鼠标悬浮时 图片样式变化 */
.bottom img:hover {
    transform: scale(1.5); /* 图片放大1.5倍 */
    margin-left: 30px; /* 左侧外边距增加 */
    margin-right: 30px; /* 右侧外边距增加 */
    transition: transform 0.8s, margin-left 0.3s, margin-right 0.3s; /* 添加过渡效果 */
}

样式解析

  • position: fixed:固定定位,确保导航栏固定在页面的底部,不随页面滚动而移动。
  • 半透明效果:通过rgba(0, 152, 50, 0.3)设置绿色的半透明背景,值中的“0.3”表示30%的不透明度。
  • 动态效果:通过hover伪类,我们可以在鼠标悬停时改变导航栏和图片的尺寸,增强交互体验。

实现效果

  1. 固定位置:导航栏通过position: fixed固定在页面底部,确保无论用户如何滚动页面,导航栏始终显示在屏幕下方。
  2. 半透明背景:通过rgba设置透明度,使导航栏在用户滚动页面时不会显得突兀。
  3. 图片缩放:当用户将鼠标悬停在导航图片上时,图片会放大,同时两侧的外边距也会随之增大,增强视觉效果。

总结

通过简单的HTML和CSS,可以实现一个功能丰富的底部导航栏。这个导航栏不仅具备固定定位和半透明效果,还添加了鼠标悬停时的动态交互,提升了用户体验。希望这篇文章能够帮助你更好地理解并实现网页中的固定导航栏效果。如果你有任何问题或建议,欢迎留言讨论!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2211080.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

stderr和磁盘理解

1.stderr stderr文件默认的文件标识符是2&#xff0c;指向显示器&#xff0c;用来输出错误信息 #include<stdio.h>int main() {fprintf(stdout,"hello stdout\n");fprintf(stderr,"hello stderr\n");return 0; }stdout和stderr默认是指向显示器的&…

Postman发送GET、POST请求

Postman发送GET、POST请求 GET请求 在这里选择GET请求&#xff0c;接着输入请求的URL&#xff0c;点击发送即可看到服务端返回的数据。 POST请求 post请求通常会携带body数据&#xff0c;比get请求麻烦一点的是需要在Body里输入要携带的body数据&#xff0c;按照箭头所指示的…

千万级的大表,是如何产生的?

千万级的大表&#xff0c;是如何产生的? 我们小公司没有大表。。。 大家好&#xff0c;我是皇子。 前面的文章在介绍了《设计支持千万级的大表&#xff0c;有哪些数据库规范&#xff1f;》&#xff0c;实际上不管是否到达千万级&#xff0c;这些规范都是适用的。 那有人会…

git合并冲突未解决完导致Rebasing,无法切分支解决方案

分支前面出现Rebasing 进入项目目录中.git目录&#xff0c;手动删除index.lock文件&#xff08;相当于分支的锁&#xff0c;有这个就是不让你动&#xff0c;得删了&#xff09; 然后在git控制台输入git rebase --abort命令回滚到本地合并处理之前&#xff0c;然后再进行其他处…

树莓派应用--AI项目实战篇来啦-11.OpenCV定位物体的实时位置

1. 介绍 本项目通过PCA9685舵机控制模块控制二自由度舵机云台固定在零点位置&#xff0c;然后通OpenCV检测到黄色小熊&#xff0c;找到中心位置并打印出中心位置的坐标&#xff0c;通过双色LED灯进行指示是否检测到目标&#xff0c;本项目为后面二维云台追踪物体和追踪人脸提供…

【Windows】【DevOps】Windows Server 2022 安装ansible,基于powershell实现远程自动化运维部署 入门到放弃!

目标服务器安装openssh server参考 【Windows】【DevOps】Windows Server 2022 在线/离线 安装openssh实现ssh远程登陆powershell、scp文件拷贝-CSDN博客 注意&#xff1a;Ansible不支持Windows操作系统部署 根据官方说明&#xff1a; Windows Frequently Asked Questions —…

C语言初阶-数据类型和变量【下】

紧接上期------------------------->>>C语言初阶-数据类型和变量【上】 全局变量和局部变量在内存中存储在哪⾥呢&#xff1f; ⼀般我们在学习C/C语⾔的时候&#xff0c;我们会关注内存中的三个区域&#xff1a; 栈区 、 堆区 、 静态区 。 内存的分配情况 局部变量是…

STM32 RTC实时时钟 F407 寄存器

RTC介绍 STM32F1: RTC模块拥有一组连续计数的计数器&#xff0c;在相应软件配置下&#xff0c;可提供时钟日历的功能。 即在F1系列&#xff0c;RTC的日历部分只有一个32位的寄存器 该寄存器直接存放 时间戳 的值&#xff0c;即&#xff1…

LeetCode 279. 完全平方数(经典必会)

LeetCode 279. 完全平方数 给你一个整数 n &#xff0c;返回 和为 n 的完全平方数的最少数量 。 完全平方数 是一个整数&#xff0c;其值等于另一个整数的平方&#xff1b;换句话说&#xff0c;其值等于一个整数自乘的积。例如&#xff0c;1、4、9 和 16 都是完全平方数&#x…

java中连接Mysql以及PreparedStatement如何防止sql注入

目录 JDBC 使用JDBC连接到MySQL 使用 Statement 使用 PreparedStatement Statement 和 PreparedStatement 区别 在 java 中如何连接到 MySQL 数据库&#xff0c;执行 SQL 查询&#xff0c;并处理查询结果&#xff1f; JDBC java 程序连接到 mysql&#xff0c;首先需要下…

Dev-C++萌新福利2

朝鲜球作品原创 1 符号认识&#xff1a; 1.1简单例题1 1.2简单例题22奇奇怪怪的符号 2.1简单例题3 2.2符号表 2.2.1符号表中特殊符号 2.3符号使用代码样例&#xff08;部分&#xff09; 萌新福利 作品成本6999元&#xff0…

OSError: [Errno 22] Invalid argument:无效的参数完美解决方法

&#x1f6a8; OSError: [Errno 22] Invalid argument&#xff1a;无效的参数完美解决方法 &#x1f4a1; &#x1f6a8; OSError: [Errno 22] Invalid argument&#xff1a;无效的参数完美解决方法 &#x1f4a1;摘要引言正文1. 什么是 OSError: [Errno 22] Invalid argument&…

牛客.数字游戏​编辑牛客.体操队形(暴力搜索)​​​​​​​牛客.二叉树最大路径和​编辑牛客.排序子序列

目录 牛客.数字游戏​编辑 牛客.体操队形(暴力搜索) 牛客.二叉树最大路径和​编辑 牛客.排序子序列 牛客.数字游戏 难度不大&#xff0c;但是要注意&#xff0c;他这个快速输入与输出 import java.util.*; import java.io.*; import java.util.StringTokenizer; // 注意类名…

架构设计笔记-15-面向服务架构设计理论与实践

目录 知识要点 案例分析 1.微服务架构 2.微服务 3.微服务架构 4.SOA与微服务 5.基于微服务架构的系统/传统单体式系统 论文 1.论微服务架构及其应用 知识要点 服务组件体系结构&#xff08;Service Component Architecture&#xff0c;SCA&#xff09;是面向服务体系…

IT基础监控运维:监控易的深度解析与应用

在数字化转型加速的今天&#xff0c;IT系统的稳定性和高效运维成为了企业业务连续性的关键保障。IT基础监控作为运维工作的基石&#xff0c;其重要性不言而喻。本文将以监控易产品为核心&#xff0c;深入探讨IT基础监控的功能、特点及范围&#xff0c;为运维团队提供实用的参考…

销售管理之线索管理

一、线索获取&#xff1a;销售增长与市场洞察的双引擎 销售增长的基石 线索&#xff1a;销售旅程的起点&#xff1a;在销售的宏伟蓝图中&#xff0c;高质量的线索无疑是构筑成功的基石。缺乏持续、优质的线索供应&#xff0c;任何销售团队都难以跨越销售目标的重重山峦。以软…

Apktool:解包重打包工具

ApKtool是一个apk编译工具&#xff0c;能够反编译apk文件。 解包 使用命令apktool d test.apk 会在同目录下生成一个同名的文件夹 重打包 使用命令apktool b test 会在test文件夹里生成一个dist目录&#xff0c;在dist目录里有打包好的test.apk

Top6 最好的 Android 数据恢复软件免费获取

虽然在智能手机上随身携带您最喜爱的音乐收藏或珍贵的录音很方便&#xff0c;但如果您的设备出现技术问题或您不小心删除了文件&#xff0c;文件也有可能丢失。 不管文件是如何删除或丢失的&#xff0c;丢失那些珍贵的音频文件的痛苦对每个人来说都是一样的。这就是我们创建本…

鸿蒙开发之ArkUI 界面篇 三十三 Builder(封装容器)

鸿蒙开发中遇到容器相同、容器下面的子组件相同&#xff0c;就是子组件的文字不同&#xff0c;背景颜色不同&#xff0c;文字颜色不同之类&#xff0c;就可以使用Builder来封装&#xff0c;语法格式如下&#xff1a; 例如下面的界面&#xff1a; Row4个ColumImageText来实现&am…

Java初阶测试编程题目

文章目录 1.大小写转换2.斐波那契数列2.1递归解决&#xff08;不推荐&#xff09;2.2递推公式&#xff08;非递归&#xff09; 3.删除公共字符3.1题目说明3.2第一种方法3.3第二种方法 4.字符串的加法4.1题目说明4.2题目核心方法4.3题目代码解析 Java初阶测试编程题目分析与总结…