找回密码
 立即注册

QQ登录

只需一步,快速开始

阿凡佬

中级会员

2

主题

17

帖子

541

积分

中级会员

积分
541
阿凡佬
中级会员   /  发表于:2022-7-9 15:16  /   查看:22762  /  回复:13
本帖最后由 阿凡佬 于 2022-7-14 09:07 编辑

大家好!好久不见了,不知道昨天8.0发布会,大家是否抽到奖品了呢?(我反正连一本书都没抽到T_T)

为庆祝活字格8.0版本上线,我给大家带来了一张咖啡馆的菜单,想喝啥我请客
先看成品

动画.gif802743224.png

让我们看看它是如何实现的吧!

首先,我们先搭建好页面布局,以及基础数据的录入
image.png148916625.png

我们先做左边菜单部分的样式:新建一个单元格样式,我们给他命名为“菜单”
image.png937127990.png 然后这一步非常重要:一定要把“当前行”和“选择行”都做一点点设置。如果全部未设置,HTML标签的类名不会出现"focus"和"selected"这两个状态,我们便无法用CSS选择器命中这两个状态对应的标签。
image.png937339477.png
这里我把它的五个状态的左外边距设置为1,这样对样式影响最小。
然后右边的图文列表,我们也给他新建一个单元格样式,叫“菜品”
image.png706244811.png

然后在设计器里添加一个空白的CSS文件,再点击运行

image.png845916747.png


image.png923925170.png
接下来的活就可以抛弃设计器了,我们直接用浏览器的开发工具,找到我们刚刚添加的空白的CSS文件,在其中添加一点点代码:
image.png159279479.png
  1. .ForguncyRepeaterCellType-菜单-TEMPLATE {/*整体样式设置*/
  2.     background: #FFFFFF;
  3.     border: #EEEEEE solid 1px;
  4.     transition: ease-in-out .15s;
  5. }

  6. .ForguncyRepeaterCellType-菜单-TEMPLATE::after {/*前面的bar*/
  7.     content: "";
  8.     height: 0%; /*默认隐藏,当选择时显示*/
  9.     width: 3px;
  10.     background: #4B7AE9;
  11.     position: absolute;
  12.     top: 50%;
  13.     left: 0%;
  14.     transition: ease-in .15s;
  15.     border-top-left-radius:3px;
  16.     border-bottom-left-radius:3px;
  17.     box-shadow: inset 2px 3px 6px -3px #ffffff, inset 4px 0 3px -4px #2f2f2f,1px 0 2px -1px #000000;
  18. }

  19. .ForguncyRepeaterCellType-菜单-TEMPLATE.ForguncyRepeaterCellType-菜单-TEMPLATE-focus {
  20.     z-index: 99;
  21.     box-shadow: 1px 2px 10px -3px #00000024;
  22. }

  23. .ForguncyRepeaterCellType-菜单-TEMPLATE.ForguncyRepeaterCellType-菜单-TEMPLATE-focus::after {
  24.     top: 0%;
  25.     height: 100%;/*将前面的bar显示出来*/
  26. }
复制代码
让我们看看效果
image.png338650512.png
还行~

在浏览器内编辑的代码,一定不要忘了,把它复制再粘贴回设计器中的CSS文件哦,不然浏览器一关,好,前功尽弃~!

现在给菜品部分,添加一点点代码。对了,在这之前,先在设计器中排版好菜品的内容格式
  1. .ForguncyRepeaterCellType-菜品-TEMPLATE {
  2.     /*整体样式设置*/
  3.     background: #FFFFFF;
  4.     border: #EEEEEE solid 1px;
  5.     transition: ease-in-out .15s;
  6.     border-radius: 10px !important;
  7.     /*一般来讲,圆角应当直接在设计器里设置,而不是像这样用!important关键字去覆盖*/
  8.     margin-top: 4px;
  9. }
  10. .ForguncyRepeaterCellType-菜品-TEMPLATE::after {
  11.     content: "";
  12.     position: absolute;
  13.     background: var(--FGC_Accent1, #4B7AE9);
  14.     height: 100%;
  15.     width: 0px;
  16.     opacity: 0;
  17.     top: 0;
  18.     left: 0;
  19.     border-top-left-radius: 10px;
  20.     border-bottom-left-radius: 10px;
  21.     transition: ease-out .15s;
  22.     box-shadow: inset -6px 0 6px -6px #00000069;
  23. }

  24. .ForguncyRepeaterCellType-菜品-TEMPLATE:hover::after {
  25.     width: 8px;
  26.     opacity: 1;
  27. }

  28. .ForguncyRepeaterCellType-菜品-TEMPLATE>div {
  29.     transition: ease-out .15s;
  30. }

  31. .ForguncyRepeaterCellType-菜品-TEMPLATE:hover>div {
  32.     margin-left: 4px;
  33. }
复制代码
让我们看看效果
image.png399014891.png
在鼠标移过的时候,有一个动态效果,用户能够准确判断鼠标位置

CSS部分完成了,接下来让我们回到设计器,既然是编辑页面,我们当然得增加一些编辑功能
image.png343454284.png
但是现在看这个页面,是不是觉得,很多不必要的按钮出现在页面上,使整个页面变得杂乱了。如果能够使除用户焦点之外的按钮隐藏,那么页面能够变得很整洁
现在让我们直点今天的主题:图文列表的妙用

我们知道,在设计器中我们可以用条件格式判断一个单元格的值,并设置其禁用、不可见和只读。因此,我们只需要一个值,能够指示是否当前行即可但是图文列表的关联列只提供了 行选择状态 ,并未提供当前行呀
image.png867548827.png
其实我们完全可以在表格的当前行变更命令中,模拟出一个指示当前行的列
image.png844315490.png
image.png879633788.png
如此两行命令即可。
之后,在图文列表模板页内添加一个隐藏列,再将按钮的条件格式设置为: image.png618689269.png
让我们来看看效果吧
image.png278225707.png

然后有格友提出要求了,我想让右边菜品栏的编辑按钮,鼠标悬停在卡片上方时显示,该如何实现呢?
这时候条件格式失去作用了,我们又需要把目光回到CSS上
我们先给这个按钮赋一个CSS类名:悬停显示
image.png558113402.png
.ForguncyRepeaterCellType-菜品-TEMPLATE .悬停显示
然后这个选择器,便能准确命中这个按钮了。
接下来就是我们为所欲为的时候了,简简单单几行代码,就实现了悬停显示的效果
  1. .ForguncyRepeaterCellType-菜品-TEMPLATE .悬停显示{
  2.     opacity:0;
  3.     transition: ease-out .2s;
  4. }
  5. .ForguncyRepeaterCellType-菜品-TEMPLATE:hover .悬停显示{
  6.     opacity:1;
  7. }
复制代码
image.png146378783.png

好了,大功告成!以下是这次的工程文件和源码

游客,如果您要查看本帖隐藏内容请回复






评分

参与人数 4金币 +1000 满意度 +15 收起 理由
ssyyxx + 5
13794930121 + 5
方方 + 5
Chelsey.Wang + 1000 赞一个!

查看全部评分

13 个回复

倒序浏览
阿凡佬
中级会员   /  发表于:2022-7-9 15:19:02
沙发
回复 使用道具 举报
阿凡佬
中级会员   /  发表于:2022-7-9 15:20:30
板凳
本帖最后由 阿凡佬 于 2022-7-9 15:21 编辑

(搞错了,请版主删掉此楼,谢谢)
回复 使用道具 举报
阿凡佬
中级会员   /  发表于:2022-7-16 18:25:59
地板
玉心菩提 发表于 2022-7-16 15:32
大神,这是8.0才能用吗?

7.0应该也能用的
回复 使用道具 举报
wayne0719
中级会员   /  发表于:2024-11-7 19:42:35
93#
小白学习了
回复 使用道具 举报
ZDYW悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2024-11-12 13:05:52
94#
学习                                               
回复 使用道具 举报
ifro
注册会员   /  发表于:2024-11-18 15:35:42
95#
我乖,越来越精致了,特别好,感谢作者的用心
回复 使用道具 举报
ZDYW悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2024-11-19 09:16:03
96#
回复 使用道具 举报
xinxin512114
注册会员   /  发表于:2024-11-22 19:50:42
97#
回复 使用道具 举报
vickdracula活字格认证
高级会员   /  发表于:2024-11-23 08:37:55
98#
学习了,留言纪念
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部