zk 布局_ZK实际应用:样式和布局

zk 布局

在先前的ZK in Action帖子中,我们使用ZK MVVM实现了CRUD功能 。 我们还快速浏览了一些样式代码,可能需要更多的解释。

在本文中,我们将介绍如何在ZK小部件上附加新CSS样式规则,以及如何覆盖现有样式。 我们还将介绍ZK中UI布局的一些基础知识。

目的

  • 使用ZK的布局和容器小部件来托管我们在先前文章中构建的清单CRUD功能。
  • 设置ZK小部件的样式

ZK实战功能

  • 边界布局
  • 布置图
  • 标签框
  • 包括
  • 同级
  • zclass

使用布局和容器 Borderlayout和Hlayout

Borderlayout将窗口分为5个部分,如下所示:

事不宜迟,让我们剖析标记并查看其工作原理:

<window ...'><borderlayout width='100%' height='100%'><north size='15%'><hlayout width='100%' height='100%'><label hflex='9' value='Alpha Dental' /><label hflex='1' value='Sign Out' ></label></hlayout></north><east size='10%'></east><center><tabbox width='100%' height='100%' orient='vertical'><tabs width='15%'><tab label='Inventory' /><tab label='TBD' /><tab label='TBD'/></tabs><tabpanels><tabpanel><include src='inventory.zul'/></tabpanel><tabpanel></tabpanel><tabpanel></tabpanel></tabpanels></tabbox></center><west size='10%' ></west><south size='10%'></south></borderlayout>
  • 第3和27行,可以调整北和南窗口小部件的高度,但不能调整宽度
  • 第9和26行,可以调整东西的小部件的宽度,但不能调整高度
  • 第10行,中心小部件的尺寸取决于为北,西,南和东小部件输入的尺寸
  • 从第4行到第7行,我们用Hlayout包裹了这两个标签,因此它们将相对于我们指定的'hflex'属性按比例显示。 也就是说,分配给hflex ='9'的Label的宽度是分配给hflex ='1'的Label的9倍。
  • 每个内部小部件(北,西等)只能接受单个子组件,因此,在放置到Borderlayout内部小部件(北,西等)中之前,多个小部件必须由单个容器小部件(如Hlayout)包装。
  • 第11行,我们放置了一个Tabbox元素,并将其方向设置为垂直,以期望将库存CRUD功能嵌入其中
  • 第12到16行,我们将每个标签的标题
  • 第18行,Tabpanel是保存标签内容的容器
  • 第19行,我们将广告资源CRUD功能嵌入了Include标签内。 库存.zul上的小部件将附加到此页面

覆盖现有的ZK样式规则

ZK默认字体属性和背景颜色已修改,因此标题将更加突出。 让我们快速解释一下这是如何完成的。
使用Chrome Developer Tool或Firebug扩展程序,我们可以轻松地检查Borderlayout的源代码,并为ZK小部件找到ZK样式类,如下所示:

从这里我们了解到,突出显示区域的命名模式是z-north-body。 同样,我们可以对所有感兴趣的标记执行相同的操作,然后继续覆盖其CSS样式规则:

<zk>
<style>.z-tab-ver .z-tab-ver-text { font-size: 18px; } .z-north-body, .z-south-body { background:#A3D1F0 }.z-east-body, .z-west-body { background:#F8F9FB }
</style>
<window border='none' width='100%' height='100%'><borderlayout width='100%' height='100%'><north size='15%'>...</north><east size='10%'></east><center>...</center><west size='10%'></west><south size='10%'></south></borderlayout>
</window>
</zk>

通过样式属性附加其他样式规则

在这里,我们正在修改North小部件中包含的Label的样式。 由于我们只希望这两个标签(而不是全部标签)受到我们新样式的影响,因此像我们以前那样覆盖原始样式是没有意义的。 对于这些孤立的修改,只需将样式规则分配给ZK小部件随附的'style'属性就足够了:

<north size='15%'><hlayout width='100%' height='100%'><label value='Alpha Dental' style='font-size: 32px; font-style: italic; font-weight:bold; color:white; margin-left:8px;'/><label value='Sign Out' style='font-size: 14px; font-weight:bold; color:grey; line-height:26px'></label></hlayout></north>...

通过Sclass附加其他样式规则

直接在标记中分配样式规则并污染代码的另一种方法是声明一个样式类,缩写为'sclass',然后将规则分配给'sclass'属性,如下所示:

<zk>
<style>.company-heading {font-size: 32px; font-style: italic; font-weight:bold; color:white; margin-left:8px;}
</style>
<window ...><borderlayout ...><north ...> <label value='Alpha Dental' sclass='company-heading'/></north>...</borderlayout>
</window>
</zk>

简而言之

  • 这篇文章介绍了三种修改默认ZK样式的方法:覆盖现有的ZK样式类,将样式规则直接分配给小部件的style属性,或者在CSS文件或Style标记内定义CSS类,然后将该类分配给小部件的sclass属性
  • 使用开发人员工具(例如Firebug)检查ZK小部件并找出要覆盖的ZK样式类
  • hlex属性允许开发人员相对于彼此成比例地定义小部件的宽度
  • 布局小部件可帮助开发人员将演示窗口划分为多个部分

相关链接:

ZK样式指南
边界布局
布置图 海福克斯

参考: ZK in Action [4]: JCG合作伙伴 Lance Lu在Tech Dojo博客上的样式和布局 。


翻译自: https://www.javacodegeeks.com/2012/08/zk-in-action-styling-and-layout.html

zk 布局

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

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

相关文章

蓝桥杯 2011年第二届C语言初赛试题(2)

6. 代码填空 &#xff08;满分9分&#xff09; 中奖计算 某抽奖活动的规则是&#xff1a;每位参与者在纸上写下一个8位数的号码。最后通过摇奖的办法随机产生一个8位数字。参与者写下的数字中最多有多少个连续位与开奖号码中的相同&#xff0c;则称为中了几个号。 例如&…

MATLAB离散一维小波函数

waveinfowfilters(wname);appcoef近似系数 detcoef详细系数dwt 单层独立1-D小波idwtupcoef 线性重建upwlev 单层重建wavedec wavelet decompositionwaverecwrcoef

使用Spring boot,Thymeleaf,AngularJS从零开始构建一个新的Web应用程序-第1部分

在这一系列博客文章中&#xff0c;我们将使用以下技术堆栈构建完整的响应式Web应用程序&#xff1a; 1&#xff09;弹簧靴 – Spring MVC网站 – Spring Data JPA –Spring安全 2&#xff09;Thymeleaf用于服务器端模板 3&#xff09;客户端MVC的Angular JS&#xff08;包括…

Codeforces 999F Cards and Joy 【dp】【性质】

读完这道题后应该想到牌有多少张都是什么不重要&#xff0c;重要的是player的favorite number是怎么分配的。&#xff08;因为不是任何player的favorite number不能带来任何joy&#xff09;然后每个favorite number带来的joy互相不受影响&#xff0c;因为如果favorite number不…

蓝桥杯 2011年第二届C语言初赛试题(3)

1、假设有两种微生物 X 和 Y X出生后每隔3分钟分裂一次&#xff08;数目加倍&#xff09;&#xff0c;Y出生后每隔2分钟分裂一次&#xff08;数目加倍&#xff09;。 一个新出生的X&#xff0c;半分钟之后吃掉1个Y&#xff0c;并且&#xff0c;从此开始&#xff0c…

MATLAB凸包Convex hull运算

凸包Convex hull运算&#xff08;求离散点的边界&#xff09; [k,a] convhull(x,y); K convulln(X, options);[K AV] convexHull(DT);tsearch :搜索Delaunay三角形delaunay :Delaunay三角化dsearch :求最近点 (这是两个有趣的函数)inpolygon :搜索多边形…

MATLAB Floyd算法

Floyd算法 Floyd算法又称为弗洛伊德算法,插点法,是一种用于寻找给定的加权图中顶点间最短路径的算法。 核心思路 通过一个图的权值矩阵求出它的每两点间的最短路径矩阵。 从图的带权邻接矩阵A=[a(i,j)] nn开始,递归地进行n次更新,即由矩阵D(0)=A,按一个公式,构造出矩阵D(…

父组件 子组件渲染

子组件使用v-if判断后渲染。 v-if 也是惰性的&#xff1a;如果在初始渲染时条件为假&#xff0c;则什么也不做——直到条件第一次变为真时&#xff0c;才会开始渲染条件块。 转载于:https://www.cnblogs.com/mengfangui/p/9228137.html

介绍Spring Integration

在本文中&#xff0c;我们介绍Spring Integration 。 如果您以前没有使用过Spring Integration&#xff0c;那么可能会帮助您复习Gregor Hohpe的Enterprise Integration Patterns 。 我还将推荐Josh Long 撰写的这篇出色的介绍性文章 。 上下文设置 简而言之&#xff0c; 企业…

蓝桥杯 2011年第二届C语言初赛试题(4)

4、某电视台举办了低碳生活大奖赛。题目的计分规则相当奇怪&#xff1a; 每位选手需要回答10个问题&#xff08;其编号为1到10&#xff09;&#xff0c;越后面越有难度。答对的&#xff0c;当前分数翻倍&#xff1b;答错了则扣掉与题号相同的分数&#xff08;选手必须回答…

各种资源(持续更新中)

寻找网页设计灵感的27个最佳网站推荐http://www.cnblogs.com/lhb25/archive/2011/04/19/2014303.html 模板王http://www.mobanwang.com/ http://sc.chinaz.com/

Katy Perry - E.T.

作曲 : Katy Perry, Łukasz Gottwald, Max Martin, Joshua Coleman 作词 : Katy Perry, Łukasz Gottwald, Max Martin, Joshua Coleman Youre so hypnotizing // hypnotize /ˈhipnəˌtīz / v.催眠,捕捉全部注意力,吸引 Could you be the devil? 你可会是那魔鬼&#xf…

使用Gradle禁止Java和Spring Boot Web应用程序中的FindBugs警告

如何在 Spring Boot和 Java应用程序中使用注释抑制FindBugs警告 如果您的构建由于FindBugs问题而中断&#xff0c;并且是假阳性&#xff0c;或者由于其他考虑而无法解决问题&#xff0c;则可以添加注释来忽略Findbugs警告。 更新您的Gradle依赖关系 您将需要在build.gradle文…

true,false组合问题

题目&#xff1a;给定n个布尔变量x1,x2,x3…xn&#xff0c;希望输出所有可能的布尔变量组合。例如当n&#xff1d;&#xff12;时&#xff0c;有&#xff14;种组合&#xff1a;a、true,true;b、true,faulse;c、faulse,true;d、faulse,faulse。请编写一个&#xff23;程序实现这…

更改matlab默认启动路径

1. 系统默认的启动路径是“我的文档”里的work目录&#xff0c;如果想要更改启动路径&#xff0c;解决方法是修改桌面上 MATLAB 快捷方式的属性&#xff0c;将原本的参数“目标” -sd 后面的 $documents\MATLAB 替换成自己的目录即可。我试了很多种方法&#xff0c;就这个最好使…

配置gitlab通过smtp发送邮件

https://www.centos.bz/2017/08/gitlab-send-email-with-smtp/ 1. 编辑/etc/gitlab/gitlab.rb文件&#xff08;加到文件最后面就好了&#xff09;。以QQ企业邮箱为例&#xff1a; gitlab_rails[smtp_enable] truegitlab_rails[smtp_address] "smtp.exmail.qq.com"g…

蓝桥杯 2011年第二届C语言初赛试题(5)

今盒子里有n个小球&#xff0c;A、B两人轮流从盒中取球&#xff0c;每个人都可以看到另一个人取了多少个&#xff0c;也可以看到盒中还剩下多少个&#xff0c;并且两人都很聪明&#xff0c;不会做出错误的判断。我们约定&#xff1a;每个人从盒子中取出的球的数目必须是&#x…

CUBA平台–用于快速应用程序开发的开源Java框架

传统上&#xff0c;自计算时代开始以来&#xff0c;企业软件开发自然面临着一个挑战&#xff0c;当时自然而然地&#xff0c;企业软件开发本应专注于解决实际的业务问题&#xff0c;但与此同时&#xff0c;开发人员必须在技术上花费大量时间和精力。解决方案的一面&#xff0c;…

C#与mongoDB初始环境搭建

mongoDB官网https://www.mongodb.com/ mongoDB默认安装路径(Windows x64平台) C:\Program Files\MongoDB\Server\3.4\bin mongoDB环境变量配置 启动mongoDB服务 > mongod -dbpath D:\mongodb > mongo Visual Studio引用mongoDB PM> install-package M…

浅析MATLAB中的内联函数、匿名函数和函数函数

内联函数 内联&#xff08;inline&#xff09;函数是MATLAB 7以前经常使用的一种构造函数对象的方法。在命令窗口、程序或函数中创建局部函数时&#xff0c;通过使用inline构造函数&#xff0c;而不用将其储存为一个M文件&#xff0c;同时又可以像使用一般函数那样调用它。 MA…