本文示例代码已上传至我的Github仓库:https://github.com/CNFeffery/dash-master

大家好我是费老师,对于刚上手dash应用开发的新手朋友来说,如何进行合理且美观的页面整体布局构建是一道“难题”。今天的文章中,我就将为大家介绍有关dash应用页面布局的一些实用技巧,并附上几个可以直接套用的dash应用经典页面模板,话不多说,let's go

阅读本文大约需要10分钟

示例1:简单的页首+内容布局

下面的例子中展示了最基础的页面布局方案,由页首及其下方的内容区域构成:

其中页首左侧部分我们可以用来放置应用的logo图片、应用名称等信息,右侧部分则可以放置一级导航菜单栏等内容,为了快捷实现其中各元素的垂直居中,以及左右两侧分别对齐的样式效果,我们使用到fac组件库中的网格系统相关功能(文档地址:https://fac.feffery.tech/AntdRow ),非常方便,关键之处在于使用align='middle'开启垂直居中效果,以及使用justify='space-between'实现两侧内容的左右对齐效果:

完成页首部分后,下方的内容区域则更简单了,值得注意的是,其中为了确保带有背景色的内容区容器至少充满页首之外的剩余高度,可以利用css中的calc()动态计算高度,即页面视口整体高度100vh减去页首部分占据的64px高度:

本示例完整代码见文章开头附件地址中的app1.py

示例2:粘性页首+内容布局

在前面的示例1中,若页面内容区域较长,页首部分会随着用户滚动页面而被滚上去,如果我们希望应用中的页首部分一直紧贴页面顶端,就像下面的示例2所示:

最简单的方式就是在前面示例1的基础上,将页首部分套在fac中的固钉组件AntdAffix中(文档地址:https://fac.feffery.tech/AntdAffix ),并设置offsetTop=0即可,相当的简单:

本示例完整代码见文章开头附件地址中的app2.py

示例3:固定的侧边菜单栏+粘性页首+内容布局

在前面的两个例子中,我们的页面中充当导航作用的只有位于页首右侧的一级导航菜单栏,如果我们的应用功能进一步复杂起来,需要在当前一级菜单栏对应页面下再设立二级导航菜单,经典的方式是像下面的例子那样,在原本的内容区中分出一部分宽度放置侧边菜单栏:

且为了更现代化的交互效果,新加入的侧边菜单栏是处于固定状态的,与内容区域相互独立:

要实现这样的经典页面布局效果,我们只需要在前面示例2的基础上,将下方内容区域改造成基于fac网格系统的新布局即可:

其中涉及到固定侧边菜单栏的部分,重点在于为菜单栏容器基于calc()动态计算高度值,即扣除页首高度之后的剩余部分,并通过overflowY属性开启竖向滚动条,而最关键的固定效果则同样是基于AntdAffix实现的,只不过这里的offsetTop需要考虑页首部分高度,所以设置为64

本示例完整代码见文章开头附件地址中的app3.py

相关参考资料:


以上就是本文的全部内容,更多有关dash应用开发的前沿知识和技巧欢迎持续关注玩转dash公众号。

Dash应用页面整体布局技巧的更多相关文章

  1. UWP开发入门(九)——简单界面的布局技巧及屏幕适应

    嘿嘿嘿,题目比较绕哈.本篇主要讨论一般情况下,页面的布局技巧,怎么将元素的展现尽量做到分辨率无关.基本的思路仍然是尽量少的标定具体的数字,而是用比列来标注各元素占据的空间. 这里我打算用易信的名片页来 ...

  2. 表格布局扩展/DW设计界面中快速整体布局页面的操作

    DW设计界面中快速整体布局页面的操作流程: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &q ...

  3. 提高Web页面性能的技巧

    现在动辄几兆大小的页面加载量,让性能优化成了不可避免的热门话题.WEB 应用越流畅,用户体验就会越好,继而带来更多的访问量.这也就是说,我们应该反省一下那些过度美化的 CSS3 动画和多重操作的 DO ...

  4. 总结与学习DIV+CSS网页布局技巧

    以前用表格布局时设置网页居中非常方便,把表格对齐方式设置为居中就行了,就这么简单,现在呢,用DIV+CSS样式表控制,好像不是那么容易了,其实也很简单,只不过方式不同而已. <style> ...

  5. CSS进阶内容——布局技巧和细节修饰

    CSS进阶内容--布局技巧和细节修饰 我们在之前的文章中已经掌握了CSS的大部分内容,但仍有一些内容我们没有涉略,这篇文章就是为了补充前面没有涉及的内容,为我们的知识做出补充并且介绍一些布局技巧 当然 ...

  6. HTML CSS + DIV实现整体布局

    HTML CSS + DIV实现整体布局 1.技术目标: 开发符合W3C标准的Web页面 理解盒子模型 实现DIV+CSS整体布局 2.什么是W3C标准? W3C:World Wide Web Con ...

  7. 移动平台3G手机网站前端开发布局技巧

    本文转载至:移动平台3G手机网站前端开发布局技巧汇总 - 前端开发-武方博 您或许正在或准备参与一个WepApp项目,您或许正在Google搜索mobile development相 关的文章,您或许 ...

  8. 移动平台3G手机网站前端开发布局技巧汇总

    移动平台3G手机网站前端开发布局技巧汇总 作者:前端开发-武方博   发布:2011-05-10 09:11   分类:移动开发   阅读:120,618 views   7条评论     您或许正在 ...

  9. CSS之定位布局(position,定位布局技巧)

    css之定位 1.什么是定位:css中的position属性,position有四个值:absolute/relative/fixed/static(绝对/相对/固定/静态(默认))通过定位属性可以设 ...

  10. HTML CSS + DIV实现整体布局 part1

    HTML CSS + DIV实现整体布局 1.技术目标: 开发符合W3C标准的Web页面 理解盒子模型 实现DIV+CSS整体布局 2.什么是W3C标准? W3C:World Wide Web Con ...

随机推荐

  1. Django笔记十三之select_for_update等选择和更新等相关操作

    本篇笔记将介绍 update 和 create 的一些其他用法,目录如下: get_or_create update_or_create select_for_update bulk_create b ...

  2. matplotlab可视化学习

    1 使用pip安装 使用 Python 包管理器 pip 来安装 Matplotlib 是一种最轻量级的方式.打开 CMD 命令提示符窗口,并输入以下命令: pip install matplotli ...

  3. python内置模块之ctype

    ctypes --- Python 的外部函数库¶ ctypes 是 Python 的外部函数库.它提供了与 C 兼容的数据类型,并允许调用 DLL 或共享库中的函数.可使用该模块以纯 Python ...

  4. ES_ChatGPT问答

    Q1:springboot项目,如何使用elasticsearch的api增删改查?查询中有哪些方式,如果模糊查询.排序查询.分页查询?分别阐述下这些查询方式的用法?最后举一个完整的例子 答: 在Sp ...

  5. 一文吃透Arthas常用命令!

    Arthas 常用命令 简介 Arthas 是Alibaba开源的Java诊断工具,动态跟踪Java代码:实时监控JVM状态,可以在不中断程序执行的情况下轻松完成JVM相关问题排查工作 .支持JDK ...

  6. xtrabackup8.0.27备份失败

    问题描述:mysql8.0.27备份出现中断,重新备份发现xtrabackup备份失败,xtrabackup与mysql版本不匹配,后来想起来时mysql进行了升级,8.0.27->8.0.29 ...

  7. socket 到底是个啥

    哈喽大家好,我是咸鱼 我相信大家在面试过程中或多或少都会被问到这样一个问题:你能解释一下什么是 socket 吗 我记得我当初的回答很是浅显:socket 也叫套接字,用来负责不同主机程序之间的网络通 ...

  8. 【SpringMVC】(一)

    SpringMVC简介 SpringMVC是Spring的一个后续产品,是Spring的一个子项目 基于原生的Servlet,通过了功能强大的DispatcherServlet,对请求和响应进行统一处 ...

  9. CF1738EBalance Addicts

    CF1738EBalance Addicts 原题: CF1738EBalance Addicts 目录 CF1738EBalance Addicts 题目大意 做法 思路 注意 code 题目大意 ...

  10. MAPPO学习笔记(1):从PPO算法开始

    由于这段时间的学习内容涉及到MAPPO算法,并且我对MAPPO算法这种多智能体算法的信息交互机制不甚了解,于是写了这个系列的笔记,目的是巩固知识,并且进行一些粗浅又滑稽的总结. 1.PPO算法的介绍 ...