【问题标题】:Get underlined text with Markdown使用 Markdown 获取带下划线的文本
【发布时间】:2011-03-01 12:22:15
【问题描述】:

我正在使用BlueCloth 作为 Ruby 的 Markdown 库,但我找不到任何语法来为文本添加下划线。这是什么?

【问题讨论】:

    标签: ruby markdown underline bluecloth


    【解决方案1】:

    简单的<u>some text</u> 应该适合你。

    【讨论】:

    • 哇,真的可以有 但不能有 ?为什么? :(
    • 我同意:为什么? Markdown(或任何类似的语言)应该更容易做人们想做的常见事情(比如下划线),而不是更难或不可能。
    • 这可能是因为 不应该再用于 HTML5 中的简单下划线...
    • @s.krueger 请阅读html.spec.whatwg.org/multipage/semantics.html#the-u-element<u> 可用于下划线,但不鼓励“它可能与超链接混淆”。
    • @s.krueger 我认为术语“未明确表达”和“明确呈现”正是这里讨论的情况。当您不能依赖 CSS(Markdown 就是这种情况)时,<u> 是显式渲染下划线的最佳选择。当然,应该尽可能使用更多的语义元素。
    【解决方案2】:

    Markdown 没有定义文本下划线的语法。

    我猜这是因为带下划线的文本很难阅读,而且它通常用于超链接。

    【讨论】:

    • “它通常用于超链接”,可能每天都会在 Markdown 输入框中输入链接的人说。
    • @Shredder2794:markdown 不应该这样工作。如果您发现自己经常不得不在 Markdown 中编写 html 代码,那么您可能没有将它用于它的用途。除了 markdown 之外,还有一些需要 html 标记和代码的边缘情况,但同样是边缘情况。
    【解决方案3】:

    另一个原因是 <u> 标签在 XHTML 和 HTML5 中已被弃用,因此它需要生成类似 <span style="text-decoration:underline">this</span> 的内容。 (恕我直言,如果<u> 已弃用,那么<b><i> 也应弃用。)请注意,Markdown 分别生成<strong><em> 而不是<b><i>,这解释了其中的文本而不是其格式。格式应该由样式表处理。

    更新: <u> element 在 HTML5 中不再被弃用。

    【讨论】:

    • <u>的语义类似物是<ins>;从未被弃用。
    • @TobyBartels 我不确定你的意思。 “ 元素表示一段文本,其中包含未明确表达但明确呈现的非文本注释”,而“ 元素表示对文档的补充。”这是两个在语义上非常不同的东西。
    • 我的意思是<u> 根本不是一个特别的语义标签,而<ins> 是。然而,它们传统上以相同的方式呈现。所以<ins><u> 的语义类比,而<u><ins> 的句法类比。好吧,即使你不喜欢我的描述方式,关键是我们有这个类比:<u>:<ins>::<i>:<em>::<b>:<strong>。 (还有<s><del>。)
    • @TobyBartels 啊,我误解了你。我以为你是说 在语义上是等价的。 HTML5 规范实际上为 赋予了与风格相似的对应物不同的语义含义,但我明白你的意思。
    【解决方案4】:

    您可以写 **_bold and italic_** 并将其重新设置为带下划线的文本,如下所示:

    strong>em,
    em>strong,
    b>i,
    i>b {
        font-style:normal;
        font-weight:normal;
        text-decoration:underline;
    }
    

    【讨论】:

    • -1 这对我来说似乎是一个 hack,我更愿意了解其背后的动机,强调排除不会是偶然的。
    • 不错的技巧。对于不能使用 html 标签的情况,这很棒。
    • 看起来有点矫枉过正。
    【解决方案5】:

    在 GitHub markdown <ins>text</ins> 工作得很好。

    【讨论】:

    • 在 BitBucket 中也是如此......(以及 text
    • text 不起作用,但我从未听说过 标签大声笑, - 似乎因为它太不受欢迎了,它仍然有效(通常它不是很好下划线)
    • 如果有人想知道 <ins>text</ins> 在 Jupyter 笔记本中也能正常工作
    • 我更喜欢<u>。这里有更多信息:stackoverflow.com/a/66595330/4561887.
    • 哇,markdown 的实用性太棒了! [张贴者在寻找此信息数天后说......只是找到了每个站点的答案......直观性和标准化是可用性的定义。]
    【解决方案6】:

    在 Jupyter Notebooks 中,您可以通过以下方式使用 Markdown 来处理带下划线的文本。这类似于 HTML5:(<u></u>)。

    <u>Underlined Words Here</u>

    【讨论】:

      【解决方案7】:

      <ins>text</ins><span style="text-decoration:underline">text</span> 在 Joplin 中都能完美运行,尽管我同意 @nfm 的观点,即带下划线的文本看起来像一个链接,在 Markdown 中可能会产生误导。

      【讨论】:

        【解决方案8】:

        (这个答案在被否决后重写)

        为此,只需在 Markdown 中使用 HTML <u> 标签(推荐)或 <ins> 标签。

        HTML 标签<ins>HTML "insert tag",通常显示为下划线。因此,您可以将它用于下划线,as @BlackMagic recommends in his answer here。与<del> delete tag相反。

        但是,我更喜欢并且我建议只使用 HTML <u> underline tag,因为这正是它的用途

        <u>this is underlined text in HTML or markdown, which accepts HTML</u>
        

        @zed_0xff 还建议使用&lt;u&gt; 标签in his answer here

        您可以在这里在线试用:https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_u

        我也可以使用 CSS 吗?

        这取决于。在您的自定义 Jekyll 网站上?当然。在 GitHub 自述文件和其他 GitHub 降价文件中?不!

        HTML 标签在 GitHub 自述文件中也可以正常工作,因为 GitHub 可以正常接受 HTML 标签。但是,GitHub 中的自定义 CSS 不起作用,因为 GitHub 阻止并拒绝您可能尝试添加的所有自定义 CSS。我在这里的另一个答案中谈到了这一点:GitHub README.md center image

        【讨论】:

          【解决方案9】:

          这不是最佳做法,因为它是一个链接,但您可以在某些库中执行此操作

          [example link with #](#)
          

          但是例如,stackoverflow 上的这里不起作用

          带有#的示例链接

          【讨论】:

            猜你喜欢
            • 2021-05-12
            • 2013-12-30
            • 1970-01-01
            • 1970-01-01
            • 2020-12-11
            • 2017-04-13
            • 1970-01-01
            • 2013-08-22
            • 1970-01-01
            相关资源
            最近更新 更多