html5 连字符,HTML5画布|文本换行时超过maxwidth的单词不带连字符的单词分隔符

博客讨论了在使用等宽字体时如何在画布上进行文本换行,特别是如何避免拆分单词并限制显示的行数。内容涉及在JavaScript中处理长字符串,确保不超过指定的最大宽度,并保持单词完整。同时,提出了一个技术问题,即当前方法会错误地分割小于最大宽度的单词。作者寻求解决方案以改进文本显示效果。
摘要由CSDN通过智能技术生成

我将使用等宽字体在画布上进行文本换行,我需要分割超过maxwidth的单词(不需要连字符)。我还需要将画布上显示的文本行数限制为5行(从第一行开始)。

在那个小提琴中,当您应用以下文字时......

todo(ctx, "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA corrupti nemo dolorem assumenda illum tempore nam iure necessitatibus unde! Fugiat, BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBquibusdam. Quia, vitae, magni, accusamus, modi doloremque dolores repudiandae expedita consectetur labore veniam minima minus in ab non aperiam ducimus iure repellendus qui cumque perferendis ad molestias porro quae dolorum amet laboriosam saepe omnis esse eum voluptatum. Facere, animi culpa accusantium eligendi voluptatum voluptatem voluptates vitae.", 12, "black");

... B字符串根据maxwidth分割,但在超过maxwidth时会创建一个新行,就像这样(在“Fugiat”之后出现一个新行):

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA corrupti nemo dolorem assumenda

illum tempore nam iure necessitatibus unde! Fugiat,

BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB

BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBquibusdam. Quia, vitae, magni,

accusamus, modi doloremque dolores repudiandae expedita consectetur labore

veniam minima minus in ab non aperiam ducimus iure repellendus qui cumque

perferendis ad molestias porro quae dolorum amet laboriosam saepe omnis esse

eum voluptatum. Facere, animi culpa accusantium eligendi voluptatum

voluptatem voluptates vitae.

我希望B字符串看起来像这样:

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA corrupti nemo dolorem assumenda

illum tempore nam iure necessitatibus unde! Fugiat, BBBBBBBBBBBBBBBBBBBBBBBB

BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB

BBBBBBBBBBBBBBBBBBBBBquibusdam. Quia, vitae, magni, accusamus, modi

doloremque dolores repudiandae expedita consectetur labore veniam minima

minus in ab non aperiam ducimus iure repellendus qui cumque perferendis ad

molestias porro quae dolorum amet laboriosam saepe omnis esse eum voluptatum.

Facere, animi culpa accusantium eligendi voluptatum voluptatem voluptates

vitae.

提醒:在画布上只显示前五行文字。我将使用等宽字体,所有字母和空格宽度相同,是否更容易处理?输入的Thx。

更新:我设法让长字符串显示在应有的位置,但该技术还会拆分不超过maxwidth的字词,请参阅http://jsfiddle.net/eECar/47/

在小提琴中,我将字体改为等宽字体,基本上改变了这段代码......

for( j=0; result.indexOf(" ",j) !== -1; j=result.indexOf(" ",j)+1 );

..对此:

for( j=0; result.indexOf(" ",j) !== -1; j=result.indexOf(" ",j)+35 );

... +35是我收集的每行的字符长度。

我以为我已经解决了(拉丁语让我大笑起来)但是经过仔细审查后,我意识到每行小于最大字符数的单词也会在行尾分割。有没有分裂的任何方法来保存这些单词?

Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随与我联系,我会及为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随与我联系,我会及解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值