请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

innerwang

初级会员

45

主题

182

帖子

449

积分

初级会员

积分
449
innerwang
初级会员   /  发表于:2024-2-5 17:38  /   查看:360  /  回复:18
1金币
本帖最后由 innerwang 于 2024-2-5 17:42 编辑

如图是在线表格编辑器,缩放到25%时,每个单元格的内容还是看起来是完整的
image.png485784911.png

将如下 excel 文件的内容拷贝到在线表格编辑器,缩放到 70% 就出现了文字不完整的情况
image.png652345885.png

这是为什么呢?有什么方式可以做到和在线表格编辑器demo中的sheet的一样的缩放效果?

测试电脑为 Mac


缩放测试.xlsx.zip (8.88 KB, 下载次数: 33)

18 个回复

倒序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-2-6 09:09:53
沙发
设置垂直方向文字对齐的居中显示
回复 使用道具 举报
innerwang
初级会员   /  发表于:前天 10:22
板凳
本帖最后由 innerwang 于 2024-2-20 10:29 编辑
Clark.Pan 发表于 2024-2-6 09:09
设置垂直方向文字对齐的居中显示

想问问为啥不垂直居中就会有问题呢?这个不垂直居中就会有问题是否考虑修复

我看新建 sheet, 单元格默认就不是垂直居中的
回复 使用道具 举报
前端小白
注册会员   /  发表于:前天 10:58
地板
你可以揣测一下垂直居中的算法。不论怎么调整单元格的layout,始终找到单元格中点,然后将缩放字体往上一画,完美。
如果不是垂直居中,那么就是常规画法,缩放后,要根据缩放比,来决定绘制文字起始位置,而这个起始位置,大概率要根据什么lineheight,lineweight算一波。

看你截图的样子,估计你浏览器最小字体的设置绝逼不是0 (比如最小字体是x),结果画法算的时候,缩放后字体大小应该是y,结果y<x,浏览器强行将y调整成x了。但是算绘制字体起始位置的时候,又是按照y算的。结果就是现在这个表现。

这玩意是限制吧
回复 使用道具 举报
innerwang
初级会员   /  发表于:前天 11:05
5#
前端小白 发表于 2024-2-20 10:58
你可以揣测一下垂直居中的算法。不论怎么调整单元格的layout,始终找到单元格中点,然后将缩放字体往上一画 ...

那我没有理解,为什么居中的时候,缩放字体就不会是x, 而非居中来画的时候就是x呢?

回复 使用道具 举报
前端小白
注册会员   /  发表于:前天 11:16
6#
咦,我好像一开头就说了啊,居中不用算起始位置,字体也是X。

其实你自己把浏览器最小字体调整一下看看效果就明白了,调的越大越容易明白咋回事。
回复 使用道具 举报
innerwang
初级会员   /  发表于:前天 11:21
7#
前端小白 发表于 2024-2-20 11:16
咦,我好像一开头就说了啊,居中不用算起始位置,字体也是X。

其实你自己把浏览器最小字体调整一下看看 ...

但是居中的时候看起来字体还是整体缩小了诶

image.png823438720.png

如图缩到30%, 这字体看起来也不像是 12px啊 (我的浏览器最小字体就是 12px)
回复 使用道具 举报
前端小白
注册会员   /  发表于:前天 12:31
8#
对的,都是要缩的,只是缩的时候算位置的逻辑一个不受最小size的影响,一个受影响。
这就是你开篇说的问题啊“缩放到 70% 就出现了文字不完整的情况”

回复 使用道具 举报
innerwang
初级会员   /  发表于:前天 14:01
9#
前端小白 发表于 2024-2-20 12:31
对的,都是要缩的,只是缩的时候算位置的逻辑一个不受最小size的影响,一个受影响。
这就是你开篇说的问题 ...

为什么会有受影响与否的不同呢? 我还是不理解为啥会有区别

不居中就是居顶或居底, 找到单元格的顶或者底, 把缩放字体往上一画,无法实现吗?
回复 使用道具 举报
前端小白
注册会员   /  发表于:前天 14:08
10#
那我觉得你就需要找版主大大聊聊了,看看是不是找份SpreadJS的源码看看为啥这么实现了。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部