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

【Java 进阶篇】深入了解 Bootstrap 表格和菜单

在这里插入图片描述

表格和菜单是网页设计中的重要组成部分,它们用于展示数据、导航和用户交互。Bootstrap 是一个强大的前端框架,提供了丰富的表格样式和菜单组件,使开发者能够轻松创建功能丰富的网页。在本文中,我们将深入探讨 Bootstrap 中表格和菜单的使用,适合初学者,帮助他们更好地理解和应用这些元素。

什么是 Bootstrap 表格?

表格是用于展示和组织数据的常见元素,它们通常由行和列组成,每个单元格中包含信息。Bootstrap 提供了一系列表格样式,使表格看起来漂亮、一致且易于阅读。

Bootstrap 表格的基本结构

一个基本的 Bootstrap 表格由以下元素构成:

<table class="table"><thead><tr><th>姓名</th><th>年龄</th><th>城市</th></tr></thead><tbody><tr><td>张三</td><td>25</td><td>北京</td></tr><tr><td>李四</td><td>30</td><td>上海</td></tr></tbody>
</table>
  • <table> 元素:这是 HTML 中的表格元素,用于创建一个表格。
  • class="table":这是 Bootstrap 的表格类,它定义了表格的基本样式。
  • <thead> 元素:这是表格的表头部分,通常包含列名。
  • <tr> 元素:这是表格的行,位于表头部分。
  • <th> 元素:这是表格的表头单元格,用于定义列名。
  • <tbody> 元素:这是表格的主体部分,包含实际数据。
  • <td> 元素:这是表格的数据单元格,用于包含具体数据。

这个基本的表格结构可以根据需要进行扩展和自定义。您可以添加更多的列、行和数据以展示各种信息。

不同样式的表格

Bootstrap 提供了多种不同样式的表格,以满足不同设计需求。以下是一些常见的表格样式:

  • table-striped:斑马线表格,交替着色以提高可读性。
  • table-bordered:带边框的表格,每个单元格都有边框。
  • table-hover:鼠标悬停时高亮显示表格行。
  • table-responsive:创建响应式表格,以适应小屏幕设备。

示例代码:

<table class="table table-striped"><!-- 表格内容 -->
</table>

这些样式可以根据需要组合使用,以满足网页设计的不同需求。

表格的排列和尺寸

Bootstrap 还允许您轻松地更改表格的排列和尺寸。您可以使用以下类来实现这一目标:

  • table-dark:创建深色背景的表格。
  • table-sm:创建小尺寸的表格。
  • table-lg:创建大尺寸的表格。

示例代码:

<table class="table table-dark table-sm"><!-- 表格内容 -->
</table>

这些类可以帮助您根据设计需求更改表格的外观。

什么是 Bootstrap 菜单?

菜单是网页上的导航元素,用于帮助用户浏览和导航到不同的页面或功能。Bootstrap 提供了多种菜单组件,如导航栏、下拉菜单和标签页,以满足不同导航需求。

Bootstrap 导航栏的基本结构

导航栏是网页顶部的常见导航元素,通常包含网站的标志、链接和其他导航项。一个基本的 Bootstrap 导航栏由以下元素构成:

<nav class="navbar navbar-expand-lg navbar-light bg-light"><a class="navbar-brand" href="#">网站名称</a><button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"><span class="navbar-toggler-icon"></span></button><div class="collapse navbar-collapse" id="navbarNav"><ul class="navbar-nav"><li class="nav-item"><a class="nav-link" href="#">首页</a></li><li class="nav-item"><a class="nav-link" href="#">关于我们</a></li><li class="nav-item"><a class="nav-link" href="#">服务</a></li></ul></div>
</nav>
  • <nav> 元素:这是 HTML 中的导航元素,用于创建一个导航栏。
  • class="navbar navbar-expand-lg navbar-light bg-light":这是 Bootstrap 的导航栏类,它定义了导航栏的样式和行为。
  • <a> 元素:这是链接元素,用于创建网站的标志。
  • <button> 元素:这是按钮元素,用于切换导航栏的折叠状态。
  • class="navbar-toggler-icon":这是 Bootstrap 提供的按钮图标,用于切换导航栏的展开和折叠状态。
  • class="navbar-nav":这是导航栏的导航项容器。
  • class="nav-item":这是导航栏的导航项,通常包含链接。
  • class="nav-link":这是导航栏链接的样式类。

这个基本的导航栏结构包含了网站的标志和几个导航链接。当浏览器窗口缩小到一定尺寸时,导航栏会自动折叠,以适应小屏幕设备。

不同样式的导航栏

Bootstrap 提供了多种不同样式的导航栏,以适应不同设计风格。以下是一些常见的导航栏样式:

  • navbar-light:亮色背景的导航栏。
  • navbar-dark:深色背景的导航栏。
  • bg-primarybg-secondary:不同颜色的背景导航栏。
  • navbar-expand-lgnavbar-expand-md:根据屏幕尺寸展开或折叠导航栏。

示例代码:

<nav class="navbar navbar-dark bg-primary"><!-- 导航栏内容 -->
</nav>

这些样式可以根据您的设计需求来选择,以使导航栏与您的网站或应用程序一致。

下拉菜单

下拉菜单是导航栏中常见的交互元素,它们允许用户访问更多选项。Bootstrap 提供了易于创建的下拉菜单组件。

以下是一个示例,展示如何在导航栏中创建下拉菜单:

<ul class="navbar-nav"><li class="nav-item dropdown"><a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">下拉菜单</a><div class="dropdown-menu" aria-labelledby="navbarDropdown"><a class="dropdown-item" href="#">选项1</a><a class="dropdown-item" href="#">选项2</a><div class="dropdown-divider"></div><a class="dropdown-item" href="#">分隔线后的选项</a></div></li>
</ul>

在这个示例中,我们创建了一个带有下拉菜单的导航栏项。用户可以点击 “下拉菜单” 链接以显示下拉选项。

标签页

标签页是一种常见的导航元素,用于切换不同页面或内容。Bootstrap 提供了标签页组件,使您可以轻松创建标签页导航。

以下是一个示例,展示如何创建标签页导航:

<ul class="nav nav-tabs" id="myTab" role="tablist"><li class="nav-item" role="presentation"><a class="nav-link active" id="home-tab" data-toggle="tab" href="#home" role="tab" aria-controls="home" aria-selected="true">首页</a></li><li class="nav-item" role="presentation"><a class="nav-link" id="profile-tab" data-toggle="tab" href="#profile" role="tab" aria-controls="profile" aria-selected="false">个人资料</a></li><li class="nav-item" role="presentation"><a class="nav-link" id="contact-tab" data-toggle="tab" href="#contact" role="tab" aria-controls="contact" aria-selected="false">联系方式</a></li>
</ul>
<div class="tab-content" id="myTabContent"><div class="tab-pane fade show active" id="home" role="tabpanel" aria-labelledby="home-tab">这是首页内容。</div><div class="tab-pane fade" id="profile" role="tabpanel" aria-labelledby="profile-tab">这是个人资料内容。</div><div class="tab-pane fade" id="contact" role="tabpanel" aria-labelledby="contact-tab">这是联系方式内容。</div>
</div>

在这个示例中,我们创建了一个标签页导航,用户可以点击标签切换不同内容。

自定义表格和菜单

尽管 Bootstrap 提供了丰富的表格和菜单组件,但您也可以根据需要进行自定义。您可以使用自己的CSS样式或JavaScript来增强这些元素。

以下是一些示例,展示如何自定义表格和菜单:

自定义表格样式

您可以通过添加自定义CSS样式来改变表格的外观。例如,您可以更改表格的背景颜色、字体样式和边框。

<style>.custom-table {background-color: #f3f3f3;font-family: Arial, sans-serif;border: 1px solid #ccc;}
</style>

然后,您可以将自定义类应用于表格:

<table class="table custom-table"><!-- 表格内容 -->
</table>

自定义菜单样式

同样,您可以通过自定义CSS样式来改变菜单的外观。例如,您可以更改菜单项的颜色和字体大小。

<style>.custom-menu-item {color: #ff6600;font-size: 16px;}
</style>

然后,您可以将自定义类应用于菜单项:

<ul class="navbar-nav"><li class="nav-item"><a class="nav-link custom-menu-item" href="#">自定义菜单项</a></li>
</ul>

这样,您可以根据设计需求轻松自定义表格和菜单的外观。

结语

表格和菜单是网页设计中的核心元素,Bootstrap 提供了丰富的表格样式和菜单组件,以满足不同设计需求。不论您是新手还是有一定经验的开发者,掌握 Bootstrap 中表格和菜单的使用都将有助于提升您的网页设计和用户体验。愿本文的内容能够帮助初学者更好地理解和应用表格和菜单,使他们能够创建功能丰富且吸引人的网页。希望您在网页设计的道路上取得成功!

作者信息

作者 : 繁依Fanyi
CSDN: https://techfanyi.blog.csdn.net
掘金:https://juejin.cn/user/4154386571867191

相关文章:

【Java 进阶篇】深入了解 Bootstrap 表格和菜单

表格和菜单是网页设计中的重要组成部分&#xff0c;它们用于展示数据、导航和用户交互。Bootstrap 是一个强大的前端框架&#xff0c;提供了丰富的表格样式和菜单组件&#xff0c;使开发者能够轻松创建功能丰富的网页。在本文中&#xff0c;我们将深入探讨 Bootstrap 中表格和菜…...

java的for循环中遇到异常抛出后继续循环执行

java的for循环中遇到异常抛出后继续循环执行 Test public void loopTryCatchTest() throws Exception {Map<String, Object> a new HashMap();a.put("a", "1");a.put("b", null);a.put("c", "3");for (Map.Entry<…...

【Javascript】构造函数之new的作用

目录 new的作用 把对象返回了回来 无new 有new 把构造函数的this指向了要返回的对象 无new​编辑 有new new的执行流程 new的作用 创建了新空对象将构造函数的作用域赋值给新对象(this指向新对象)执行构造函数代码 &#xff08;为这个新对象添加属性&#xff09;返回新对…...

粘包和半包问题及解决办法

粘包问题是指数据在传输时&#xff0c;在一条消息中读取到了另一条消息的部分数据&#xff0c;这种现象就叫做粘包。 半包问题是指数据在传输时&#xff0c;接收端只收到了部分数据&#xff0c;而非完整的数据&#xff0c;就叫做半包。 产生粘包和半包问题原因&#xff1a; …...

MySQL数据库查询实战操作

前置条件: 创建库:MySQL基本操作之创建数据库-CSDN博客 创建表:MySQL基本操作之创建数据表-CSDN博客 目录 常规查询常用函数union查询一、常规查询 1、查询所有姓名以 "张" 开头的学生: SELECT * FROM student WHERE name LIKE 张%; 这条语句使用 LIKE 运算…...

Elasticsearch 8.9 Master节点处理请求源码

大家看可以看ElasticSearch源码&#xff1a;Rest请求与Master节点处理流程&#xff08;1&#xff09; 这个图非常好&#xff0c;下午的讲解代码在各个类和方法之间流转&#xff0c;都体现这个图上 一、Master节点处理请求的逻辑1、节点(数据节点)要和主节点进行通讯&#xff0…...

Python---练习:while循环案例:猜数字

需求&#xff1a; 计算机从1 ~ 10之间随机生成一个数字&#xff0c;然后提示输入数字&#xff0c;如果我们输入的数字与随机数相等&#xff0c;则提示恭喜你&#xff0c;答对了。如果输入的数字比随机数大&#xff0c;则提示&#xff0c;猜大了。反之&#xff0c;则提示猜小了…...

CRM自动化意味着什么?企业如何从中受益?

客户关系管理&#xff08;CRM&#xff09;软件不再仅仅适用于大公司或销售周期长的行业&#xff0c;它越来越成为各种规模企业的重要工具。 在日常工作中&#xff0c;当你陷入流程的所有细节时&#xff0c;可能会产生不必要的工作。因此&#xff0c;如果你想要CRM提供的组织和…...

Python大数据之PySpark

PySpark入门 1、 Spark与PySpark 1、 Spark与PySpark...

网工记背命令(7)----静态路由(负载分担,主备备份)

1.静态路由负载分担 如图所示&#xff0c;属于不同网段的主机通过几台 Switch 相连&#xff0c;要求不配置动态路由协议&#xff0c;使不同网 段的任意两台主机之间能够互通&#xff0c;从拓扑图中可以看出&#xff0c;从 PCA 到 PCC 有两条路径可以过去&#xff0c;分别是 PC…...

error: unable to read askpass response from

报错信息 解决方法&#xff1a; 中文&#xff1a;文件-->设置-->版本控制-->Git-->勾选使用凭证帮助程序 英文&#xff1a;File -> Settings -> Version Control -> Git / Check "User credential Helper" 因为我的webstrom是中文版的&#…...

运行stable-diffusion-xl-refiner-1.0遇到version `GLIBCXX_3.4.29‘ not found的问题

一、问题背景 https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0 在运行示例程序时候遇到GLIBCXX_3.4.29‘ not found diffusers to > 0.18.0 import torch from diffusers import StableDiffusionXLImg2ImgPipeline from diffusers.utils import loa…...

Ubuntu - 安装 Elasticsearch(ES)

注意&#xff1a;以下步骤基于 Elasticsearch 7.x 版本。版本可能会随时间而变化&#xff0c;请查看 Elasticsearch 官方网站以获取最新的版本信息。 添加 Elasticsearch APT 仓库&#xff1a; 打开终端&#xff0c;并使用以下命令添加 Elasticsearch APT 仓库到系统&#xf…...

字节码进阶之java Instrumentation原理详解

文章目录 0. 前言1. 基础2. Java Instrumentation API使用示例 3. Java Agent4. 字节码操作库5. 实际应用6. 注意事项和最佳实践 0. 前言 Java Instrumentation是Java API的一部分&#xff0c;它允许开发人员在运行时修改类的字节码。使用此功能&#xff0c;可以实现许多高级操…...

Android 13.0 锁屏页面禁止下拉状态栏

1.概述 在13.0的系统产品定制化中,在默认的锁屏界面的时候原生系统是可以下拉状态栏的,但是定制的产品是需要禁用下拉状态栏的,所以需要在锁屏页面的时候禁用下拉状态栏,需要从两部分查看下拉状态栏流程然后禁用状态栏 接下来就来分析下看这个功能怎么实现 2.锁屏页面禁止…...

Windows10 Docker 安装教程

Docker Desktop是什么&#xff1f; Docker Desktop是适用于Windows的Docker桌面&#xff0c;是Docker设计用于在Windows 10上运行。它是一个本地 Windows 应用程序&#xff0c;为构建、交付和运行dockerized应用程序提供易于使用的开发环境。Docker Desktop for Windows 使用 …...

JWT认证

目录 前言 JWT组成部分 JWT工作原理 在Express中使用JWT 安装JWT相关的包 导入JWT相关的包 定义密钥 登录成功后调用jwt.sign()生成JWT字符串 将JWT字符串还原为JSON对象 捕获解析JWT失败后产生的错误 结尾 前言 Session 认证机制需要配合 Cookie 才能实现。由于 Co…...

【网络安全 --- xss-labs靶场通关(1-10关)】详细的xss-labs靶场通关思路及技巧讲解,让你对xss漏洞的理解更深刻

靶场安装&#xff1a; 靶场安装请参考以下博客&#xff0c;既详细有提供工具&#xff1a; 【网络安全 --- xss-labs靶场】xss-labs靶场安装详细教程&#xff0c;让你巩固对xss漏洞的理解及绕过技巧和方法&#xff08;提供资源&#xff09;-CSDN博客【网络安全 --- xss-labs通…...

Mathematics-Vocabulary·数学专业英语词汇

点击查看: Mathematics-Vocabulary数学专业英语词汇点击查看: Mathematics-Vocabulary-Offline数学专业英语词汇离线版本 Chinese-English translation英译汉The study of mathematics in English requires understanding the subject-specific vocabulary and terminology. Ma…...

画程序流程图

一。在线程序流程图。类图和时序图 Integrations | Mermaid 二。VSCODE画UML图和各种种 1.下载plantuml.jarReleases plantuml/plantuml GitHubGenerate diagrams from textual description. Contribute to plantuml/plantuml development by creating an account on GitHu…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解

突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 ​安全措施依赖问题​ GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...

Linux链表操作全解析

Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表&#xff1f;1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...

《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》

引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...

SCAU期末笔记 - 数据分析与数据挖掘题库解析

这门怎么题库答案不全啊日 来简单学一下子来 一、选择题&#xff08;可多选&#xff09; 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘&#xff1a;专注于发现数据中…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

MODBUS TCP转CANopen 技术赋能高效协同作业

在现代工业自动化领域&#xff0c;MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步&#xff0c;这两种通讯协议也正在被逐步融合&#xff0c;形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

基于Docker Compose部署Java微服务项目

一. 创建根项目 根项目&#xff08;父项目&#xff09;主要用于依赖管理 一些需要注意的点&#xff1a; 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件&#xff0c;否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...

Spring AI 入门:Java 开发者的生成式 AI 实践之路

一、Spring AI 简介 在人工智能技术快速迭代的今天&#xff0c;Spring AI 作为 Spring 生态系统的新生力量&#xff0c;正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务&#xff08;如 OpenAI、Anthropic&#xff09;的无缝对接&…...

uniapp中使用aixos 报错

问题&#xff1a; 在uniapp中使用aixos&#xff0c;运行后报如下错误&#xff1a; AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...