R Shiny多页面verbatimTextOutput字体大小修改异常排查请求
问题原因与解决方案
核心问题
第二个组件字体无法调整的原因是组件ID中的点号在CSS选择器里被错误解析。在CSS语法中,#选择器后的点号会被识别为类选择器的分隔符,所以#recommended_model2.2会被解释为「选择ID为recommended_model2且带有2类的元素」,而非你实际要选中的ID为recommended_model2.2的组件。
两种解决方法
方法1:修改组件ID(推荐)
直接把组件ID中的点号替换成下划线或其他非特殊字符,比如将recommended_model2.2改为recommended_model2_2,对应的CSS选择器同步修改:
# UI中组件定义 verbatimTextOutput("recommended_model2_2") # CSS样式部分 "#recommended_model2_2{ font-size:150%;}"
方法2:转义CSS中的点号
如果不想修改组件ID,需要在CSS选择器的点号前添加转义符\。注意在R字符串中,反斜杠需要写两次(因为R会将单个反斜杠视为转义符):
tags$style(HTML( "label { font-size:16px;}", "#recommended_model2\\.2{ font-size:150%;}" ))
额外优化建议
不要在每个tabPanel的sidebarPanel里重复添加tags$head,可以把所有CSS样式统一放在整个UI的最外层tags$head中,避免生成重复的HTML头部标签,让代码更整洁。
内容的提问来源于stack exchange,提问作者ting_H
相关产品推荐
相关产品推荐

