如何让R Shiny中tags$strong与p标签输出无换行?
默认情况下,tags$strong是行内元素,但p()属于块级元素,块级元素会自动占据整行导致换行。以下几种方法可以让它们在浏览器中显示为同一行:
方法1:把元素放在同一个段落标签里
直接将tags$strong和后续文本嵌套进同一个p()函数中,利用行内元素的特性实现同行:
ui <- fluidPage( # 原单行示例 tags$p(HTML(" <strong>strong text</strong> created with the tag <strong>...</strong>) ")), # 修改后:同一行显示 p(tags$strong("strong text"), " created with <strong>...</strong>") ) server <- function(input, output, session) { } shinyApp(ui, server)
方法2:用CSS强制元素行内显示
通过自定义CSS样式,把p元素设置为行内显示,同时消除默认外边距避免多余间距:
ui <- fluidPage( # 添加行内样式规则 tags$style(HTML(" .no-wrap { display: inline; margin: 0; } ")), # 原单行示例 tags$p(HTML(" <strong>strong text</strong> created with the tag <strong>...</strong>) ")), # 给元素添加样式类 tags$strong("strong text", class = "no-wrap"), p(" created with <strong>...</strong>", class = "no-wrap") ) server <- function(input, output, session) { } shinyApp(ui, server)
方法3:直接拼接HTML代码
和你最初的单行示例逻辑一致,用HTML()函数把两段内容的HTML代码直接写在一起:
ui <- fluidPage( # 原单行示例 tags$p(HTML(" <strong>strong text</strong> created with the tag <strong>...</strong>) ")), # 直接用HTML拼接实现同行 tags$p(HTML("<strong>strong text</strong> created with <strong>...</strong>")) ) server <- function(input, output, session) { } shinyApp(ui, server)
内容的提问来源于stack exchange,提问作者tueftla
相关产品推荐
相关产品推荐

