本文示例代码已上传至我的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. 线性规划与整数规划—R实现

    线性规划的R语言实现 R语言在针对各类优化模型时都能快速方便的求解,对运输问题.生产计划问题.产销问题和旅行商问题等都有专门的R包来解决.线性规划与整数规划的区别主要在于对决策变量的取值约束有所不同. ...

  2. [数据库/MYSQL]#解决缺陷#设置Unique索引时:"[Err] 1071 - Specified key was too long; max key length is 767 bytes"

    1 问题复现 原表结构: CREATE TABLE `XX_TEMPERATURE` ( `FLOW_ID` int(11) NOT NULL COMMENT '独立的数据表或FTP唯一标识', -- ...

  3. TypeScript必知三部曲(一)TypeScript编译方案以及IDE对TS的类型检查

    TypeScript代码的编译过程一直以来会给很多小伙伴造成困扰,typescript官方提供tsc对ts代码进行编译,babel也表示能够编译ts代码,它们二者的区别是什么?我们应该选择哪种方案?为 ...

  4. 浏览器层面优化前端性能(1):Chrom组件与进程/线程模型分析

    现阶段的浏览器运行在一个单用户,多合作,多任务的操作系统中.一个糟糕的网页同样可以让一个现代的浏览器崩溃.其原因可能是一个插件出现bug,最终的结果是整个浏览器以及其他正在运行的标签被销毁. 现代操作 ...

  5. Luogu P4114 Qtree1

    树剖一好题.我心水了ww 题目描述 给定一棵n个节点的树,有两个操作: CHANGE i ti 把第i条边的边权变成ti QUERY a b 输出从a到b的路径中最大的边权,当a=b的时候,输出0 输 ...

  6. SpringCloud Gateway 3.x 响应头添加 Skywalking TraceId

    在微服务架构中,一次请求可能会被多个服务处理,而每个服务又会产生相应的日志,且每个服务也会有多个实例.在这种情况下,如果系统发生异常,没有 Trace ID,那么在进行日志分析和追踪时就会非常困难,因 ...

  7. Mapstruct使用报java: Couldn't retrieve @Mapper annotation

    检查代码报错 java: Couldn't retrieve @Mapper annotation jar包冲突,去掉一个Mapstructjar包.

  8. vue中父组件给子组件传值的方法

    顺序............................................. -------------列表组件,注册组件.调用使用组件----------------- 1,子组件 ...

  9. 前端 引用svg图片,支持动态切换颜色

    当我们添加一张svg图片显示时,react提示找不到文件. 我们可以在全局文件global.d.ts内,添加图片类型的声明: 详见<TypeScript 引用资源文件后提示找不到的错误处理方案& ...

  10. Prism Sample 17-BasicRegionNavigation

    本例是基础的导航应用 在窗口中布局了2个按钮,一个区域 <DockPanel LastChildFill="True"> <StackPanel Orientat ...