闪亮的段落内嵌套 link 有不需要的空格
Shiny nesting a link within a paragraph has unwanted whitespace
我正在构建一个闪亮的应用程序,其中包含一些动态生成的 HTML,其中包括一个 link 在中间的句子。不幸的是,如果我使用 tags
函数来执行此操作,无论我是否想要,每个元素周围都有一个 space。
比如我想写
This is my favorite link ever!
有人可能认为你可以做到这一点
p('This is my ', a(href = 'https://whosebug.com/', 'favorite link ever'), '!')
但这会导致每个元素都在单独的一行上,根据 HTML 规范,这意味着每个元素之间将呈现 space。
<p>
This is my
<a href="https://whosebug.com/">favorite link ever</a>
!
</p>
看起来像这样(注意感叹号前的 space)
This is my favorite link ever !
我是否必须求助于使用 HTML(paste0(...))
来构建我的 HTML,或者是否有一些技巧可以使用我缺少的 tags
函数?
谢谢..
我认为你必须使用粘贴。否则嵌套将无法像预期的那样工作。
div(p('hi'),p('what up'),p(HTML(paste0('This is my ',a(href = 'https://whosebug.com/', 'favorite link ever'),'!'))))
结果:
<div>
<p>hi</p>
<p>what up</p>
<p>This is my <a href="https://whosebug.com/">favorite link ever</a>!</p>
</div>
您不会希望所有这些都在同一条线上。
来自帮助:命名参数变为属性,位置参数变为 children。
位置参数有时也不是 children 会更复杂;并且可能不会像自己构建它那样简单、灵活和强大。
这个问题已通过一项名为 .noWS
的新功能解决。 Quoting Carson Sievert:
you can now do:
p('This is my ', a(href = 'https://whosebug.com/', 'favorite link ever', .noWS = "outside"), '!', .noWS = c("after-begin", "before-end"))
which yields
<p>This is my <a href="https://whosebug.com/">favorite link ever</a>!</p>
有关 .noWS
参数的更多信息,请参见 pull request。
我正在构建一个闪亮的应用程序,其中包含一些动态生成的 HTML,其中包括一个 link 在中间的句子。不幸的是,如果我使用 tags
函数来执行此操作,无论我是否想要,每个元素周围都有一个 space。
比如我想写
This is my favorite link ever!
有人可能认为你可以做到这一点
p('This is my ', a(href = 'https://whosebug.com/', 'favorite link ever'), '!')
但这会导致每个元素都在单独的一行上,根据 HTML 规范,这意味着每个元素之间将呈现 space。
<p>
This is my
<a href="https://whosebug.com/">favorite link ever</a>
!
</p>
看起来像这样(注意感叹号前的 space)
This is my favorite link ever !
我是否必须求助于使用 HTML(paste0(...))
来构建我的 HTML,或者是否有一些技巧可以使用我缺少的 tags
函数?
谢谢..
我认为你必须使用粘贴。否则嵌套将无法像预期的那样工作。
div(p('hi'),p('what up'),p(HTML(paste0('This is my ',a(href = 'https://whosebug.com/', 'favorite link ever'),'!'))))
结果:
<div>
<p>hi</p>
<p>what up</p>
<p>This is my <a href="https://whosebug.com/">favorite link ever</a>!</p>
</div>
您不会希望所有这些都在同一条线上。
来自帮助:命名参数变为属性,位置参数变为 children。
位置参数有时也不是 children 会更复杂;并且可能不会像自己构建它那样简单、灵活和强大。
这个问题已通过一项名为 .noWS
的新功能解决。 Quoting Carson Sievert:
you can now do:
p('This is my ', a(href = 'https://whosebug.com/', 'favorite link ever', .noWS = "outside"), '!', .noWS = c("after-begin", "before-end"))
which yields
<p>This is my <a href="https://whosebug.com/">favorite link ever</a>!</p>
有关 .noWS
参数的更多信息,请参见 pull request。