我正在尝试在
shiny
中添加样式,但是当我检查Chrome
时,它显示为#input-label + div > div {width: 150px}
,>
实际上应该是>
。这是什么原因造成的?
library(shiny)
ui <- fluidPage(
tags$style("#input-label + div > div {width: 150px;}"),
numericInputIcon("input", "input", 42, icon = "Num")
)
server <- function(input, output, session) {
}
shinyApp(ui, server)
问题是您传递的字符串被转义,即
>
被 HTM 实体 >
替换。为了防止这种情况,您必须将 HTML()
包裹起来,这样
函数将知道不要对其执行 HTML 转义。 (参见tag()
)。?htmltools::HTML
文档中也提到了这一点(请参阅
?tags
),根据其中...
可能包括
弦HTML()
library(shiny)
library(shinyWidgets)
ui <- fluidPage(
tags$style(HTML("#input-label + div > div {width: 150px;}")),
numericInputIcon("input", "input", 42, icon = "Num")
)
server <- function(input, output, session) {
}
shinyApp(ui, server)
#>
#> Listening on http://127.0.0.1:6399
发生这种情况是因为 chrome 将该行读取为 html
试试这个:
ui <- fluidPage(
tags$style(HTML("
#input + div > div {width: 150px;}
")),
numericInputIcon("input", "Input Label", 42, icon = "Num")
)