Google Form+Apps Script:如何实现分段标题文本两端对齐?
Google表单分段标题实现两端对齐的方案
首先明确:Google Forms的原生分段标题(Section Header Item)无法通过Apps Script直接设置文本两端对齐样式,包括RichTextService也没法给分段标题的标题应用富文本格式——目前只有少数表单元素(比如多行文本输入框)支持富文本配置。
可行的解决办法:
- 用户脚本(Tampermonkey 这类工具):如果只是自己或指定小范围用户需要看到对齐效果,可以写个用户脚本自动给分段标题加上
text-align: justify样式。示例代码:// ==UserScript== // @name Google Forms 分段标题两端对齐 // @match https://docs.google.com/forms/d/* // ==/UserScript== // 延迟执行确保页面加载完成 setTimeout(() => { const sectionHeaders = document.querySelectorAll('.freebirdFormviewerViewItemSectionHeaderTitle'); sectionHeaders.forEach(header => { header.style.textAlign = 'justify'; }); }, 1000); - 自定义HTML表单(替代原生Google Forms):如果需要所有访问表单的人都能看到对齐效果,就得用Apps Script做一个自定义HTML页面,模拟表单结构,直接在HTML里给标题设置
text-align: justify样式,再把提交的数据同步到Google Sheets。这种方法需要创建HTML文件,简单示例结构:<!DOCTYPE html> <html> <body> <h2 style="text-align: justify;">«Lorem ipsum dolor sit amet, consectetur adipisci elit, sed do eiusmod tempor incidunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrum exercitationem ullamco laboriosam, nisi ut aliquid ex ea commodi consequatur. Duis aute irure reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint obcaecat cupiditat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.»</h2> <!-- 这里添加其他表单输入控件 --> <form action="https://script.google.com/macros/s/你的部署ID/exec" method="post"> <input type="submit" value="提交"> </form> </body> </html>
原生方法不可行的原因:
Google Forms的API没有开放分段标题的样式配置接口,setTitle()方法只接受纯文本,没法嵌入HTML或CSS代码。你之前用Chrome DevTools临时修改的样式,只是当前会话生效,刷新页面就会恢复默认样式。
内容的提问来源于stack exchange,提问作者simKO
相关产品推荐
相关产品推荐

