streamlit-on-Hover-tabs

streamlit-on-Hover-tabs

悬停式导航栏组件增强Streamlit应用界面

streamlit-on-Hover-tabs是一个为Streamlit应用设计的自定义导航栏组件。该组件利用自定义CSS实现悬停效果,集成Google Icons图标,并支持样式自定义。通过简洁的API,开发者可快速实现响应式侧边栏导航,优化应用界面。虽已停止维护,其设计思路仍为Streamlit社区提供了有益参考。

streamlit导航栏自定义组件CSS样式GitHubGithub开源项目

声明

我决定不再支持此软件包。目前有更好的选择,比如我偶然发现的 streamlt Antd Components (github)。它提供了嵌套导航选项 - 这正是我在最新更新中实现的功能,但该软件包中已经包含了这一功能。将其与 switch_page 函数结合使用可以在页面间导航。祝一切顺利。

更新 我在这里构建了一个新的侧边栏组件。我将在这个仓库中构建其他侧边栏模板,包括 streamlit-on-Hover-tabs 组件所基于的悬停效果。

streamlit-on-Hover-tabs

通过自定义 CSS 创建的 Streamlit 导航栏悬停标签

demonstration-on-hover.gif

on-hover-tabs 是一个用于创建如上图所示的自定义导航栏的组件,通过自定义 CSS 实现。CSS 文件也包含在仓库中。

  • 可以选择自定义图标,这是通过 https://fonts.google.com/icons 实现的
  • 计划通过 Python 代码调整侧边栏(如颜色等,但您也可以直接编辑 style.css 文件来实现)

它基于 streamlit 自定义组件 typescript 模板 构建

安装方法:

pip install streamlit-on-Hover-tabs

变量

  • tabName:标签的名称
  • iconName:您希望在侧边栏中使用的图标名称
  • styles:借鉴了出色的 Victoryhb 实现。它只有四个带有 CSS 样式的 HTML 元素,您可以像在 CSS 文件中一样进行调整。它使用 glamor 的样式,允许其他实现,如悬停、激活等,如下所示。现在您可以创建自己的导航栏并自定义标签以满足您的自定义标签规格。
    • 'navtab' 是包含标签的 div 容器
    • 'all-tabs-options' 是下面 'tabStyle' 的父元素
    • 'tabStyle' 是包含图标和 tabName 的 li 容器。使用它来控制活动和悬停设计功能。
    • 'iconStyle' 是包含图标的图标标签
    • 'labelName' 是包含 tabName 的列表标签

您需要在目录中保存 style.css 文件。它位于这里

示例:

from st_on_hover_tabs import on_hover_tabs import streamlit as st st.set_page_config(layout="wide") st.header("自定义标签组件用于悬停导航栏") st.markdown('<style>' + open('./style.css').read() + '</style>', unsafe_allow_html=True) with st.sidebar: tabs = on_hover_tabs(tabName=['仪表盘', '资金', '经济'], iconName=['dashboard', 'money', 'economy'], default_choice=0) if tabs == '仪表盘': st.title("导航栏") st.write('选项名称是 {}'.format(tabs)) elif tabs == '资金': st.title("文件") st.write('选项名称是 {}'.format(tabs)) elif tabs == '经济': st.title("Tom") st.write('选项名称是 {}'.format(tabs))

使用样式实现:

(这些是标签的当前默认 CSS 样式)

with st.sidebar: tabs = on_hover_tabs(tabName=['仪表盘', '资金', '经济'], iconName=['dashboard', 'money', 'economy'], styles = {'navtab': {'background-color':'#111', 'color': '#818181', 'font-size': '18px', 'transition': '.3s', 'white-space': 'nowrap', 'text-transform': 'uppercase'}, 'tabStyle': {':hover :hover': {'color': 'red', 'cursor': 'pointer'}}, 'tabStyle' : {'list-style-type': 'none', 'margin-bottom': '30px', 'padding-left': '30px'}, 'iconStyle':{'position':'fixed', 'left':'7.5px', 'text-align': 'left'}, }, key="1")

编辑推荐精选

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

Refly.AI

Refly.AI

最适合小白的AI自动化工作流平台

无需编码,轻松生成可复用、可变现的AI自动化工作流

酷表ChatExcel

酷表ChatExcel

大模型驱动的Excel数据处理工具

基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。

AI工具酷表ChatExcelAI智能客服AI营销产品使用教程
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
AIWritePaper论文写作

AIWritePaper论文写作

AI论文写作指导平台

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

AI辅助写作AI工具AI论文工具论文写作智能生成大纲数据安全AI助手热门
博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

AI办公办公工具AI工具博思AIPPTAI生成PPT智能排版海量精品模板AI创作热门
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

下拉加载更多