如何在Markdown标记中缩进几行?

Men*_* Lu 314 markdown

我想写几行文字.它们应该正常格式化,除非每行应从第6列开始.即我不希望代码块格式化规则使这块文本看起来像代码,因为我将使用其他格式,如粗体等.如何在Markdown中执行此操作?

ale*_*ogs 337

在markdown的原生功能中没有办法做到这一点.但是markdown允许内联HTML,所以写作

      This will appear with six space characters in front of it
Run Code Online (Sandbox Code Playgroud)

将产生:

      这将在其前面显示六个空格字符

如果您可以控制页面上的CSS,则还可以使用标记并对其进行样式设置(内联或CSS规则).

无论哪种方式,降价都不是一种布局工具,它旨在简化网络写作过程,所以如果你发现自己伸展其功能集来做你需要的,你可能会看看你是否'在这里使用正确的工具.查看Gruber的文档:

http://daringfireball.net/projects/markdown/syntax#html

  • 可以将` `(Unicode:\ 2002)插入到Markdown文件中,它们不会在源代码中显示为` ` - 仅在渲染文件时.只需锻炼操作系统上的快捷键即可插入此字符. (11认同)
  • ` ` 非常适合简单明了的缩进。没有样式/字体更改,只是缩进 (6认同)
  • 长文本中的包装线不会缩进,您可能不需要在布局中缩进。调整渲染视图的大小以进行测试。另外,“ ”更接近标签。 (3认同)
  • 块引号是一个很好的方法(参见@ChrisV的回答) (2认同)
  • 可以使用 <kbd> 选项</kbd>-<kbd>空格键</kbd> 在 macOS 上轻松键入 ` ` (Unicode U+00A0) 文字字符。具有良好不可见支持的代码编辑器(例如 TextMate)会将正常空格显示为微弱的项目符号,将不间断空格显示为更粗的项目符号(但仍然比文本颜色更暗)。_← 我认为具有良好隐形可视化的编辑器对于 Markdown 至关重要,特别是因为 MD 的行尾两个空格=`<br/>` 语法。_ (2认同)

SCo*_*vin 70

一种方法是使用项目符号点,它允许您指定多个级别的缩进.使用两个空格的倍数插入子弹点,星形,另一个空间例如:

this is a normal line of text
  * this is the first level of bullet points, made up of <space><space>*<space>
    * this is more indented, composed of <space><space><space><space>*<space>
Run Code Online (Sandbox Code Playgroud)

此方法具有很大的优势,在查看原始文本时也很有意义.

如果你不关心自己没有看到子弹点,你应该(取决于你使用markdown的位置)能够添加li {list-style-type: none;}到整个降价区域的css.

  • 不错的技巧,但我只想禁用Markdown(及其结果HTML)的一部分可见子弹,但不是完整的.有干净的方法吗? (5认同)
  • 请记住,markdown 可以接受 HTML - 它是规范的一部分。所以对于一个特定的列表,没有什么可以阻止你使用 HTML 来解决这个问题。请记住,您可以在 Markdown 中使用 HTML,但不能在 HTML 片段中使用 Markdown。&lt;ul&gt; &lt;li style="list-style-type: none;"&gt;你的缩进内容必须是全 HTML&lt;/li&gt; &lt;/ul&gt; (2认同)
  • 这似乎比我接受的答案要好得多。它使您可以对缩进的文本进行更细粒度的控制,更不用说更易读和易于维护了 (2认同)
  • 已投赞成票。但请注意,如果在 GitHub 上使用 markdown,例如在 README 中,GitHub 会阻止所有自定义 CSS,正如我和其他人在不同地方记录的那样,包括我自己在此处的回答:[GitHub README.md 中心图像]( /sf/ask/846333071/#62383408)。 (2认同)

Chr*_*isV 36

这是一个老线程,但我认为markdown的blockquotes('>')最适合这个:

  • 如果您不需要缩进指定的数量,并且您不关心获得可能与块引用一起使用的其他背景颜色或其他样式,这是一个很好的解决方案.最终,blockquotes具有语义目的,如果你实际上想要将某些内容设置为引用,它们是最好的. (20认同)
  • 错误.Blockquotes(>)用于创建引号,而不是简单缩进.风格完全不同. (15认同)

Jin*_*lye 27

以不间断空格开头的问题之一是,如果您的行足够长可以换行,那么当它溢出到第二行时,溢出行的第一个字符将从左开始,而不是从第一个字符下方开始其上方的行。

如果您的系统允许您将 HTML 与 Markdown 混合,那么一种廉价且令人愉快的缩进方式如下:

<ul>
My indented text goes here, and it can be long and wrap if you like.
And you can have multiple lines if you want.
</ul>
Run Code Online (Sandbox Code Playgroud)

从语义上讲,在 HTML 中这是无意义的(没有任何 LI 项目的 UL 部分),但我使用过的所有浏览器都愉快地缩进了这些标签之间的内容。

  • 这与引号 `&gt; ` 完全相同,但不是引号(在 Github 中测试)。这正是我一直在寻找的。谢谢! (2认同)

idn*_*vid 22

看看这个">"是否有帮助:

Line 1
> line 2 
>> line 3
Run Code Online (Sandbox Code Playgroud)

  • 请参阅上面的评论:“错误。块引号 (&gt;) 用于创建引号,而不是简单的缩进。它的样式完全不同” (4认同)
  • 这将文本设置为“引号”,其目的是缩进文本。 (2认同)

Pav*_*lli 20

选项卡,然后是+符号,然后是空格,然后是您的内容

所以

* level one + level two tabbed

  • github/bitbucket markdown 支持类似的缩进规则,没有`+`:`[tab][space]your-text-goes-here` (3认同)

Net*_*ret 17

我会使用   在我看来更清洁。


ePi*_*314 15

请使用硬(不间断)空格

为什么要使用另一种标记语言?(我同意上面的@cz)。
Markdown 的一个目标是使文档即使在纯文本编辑器中也可读。

两种方法结果相同

编码

Sample code
&nbsp;&nbsp;&nbsp;&nbsp;5th position in an really ugly code  
    5th position in a clear an readable code  
    Again using non-breaking spaces :)
Run Code Online (Sandbox Code Playgroud)

结果

示例代码
    第 5 个位置在一个非常难看的代码中
    第 5 个位置在一个清晰可读的代码中
    再次使用不间断空格:)

不间断空格(或硬空格)的可视化表示通常是一个普通的空格“”,然而,它的 Unicode 表示是 U+00A0。
普通空格的 Unicode 表示是 U+0020(ASCII 表中的 32)。
因此,文本处理器的行为可能有所不同,而视觉表示保持不变。

插入硬空格

| OS        | Input method                      |
|-----------| ----------------------------------|
| macOS     | OPTION+SPACE (ALT+SPACE)          |
| Linux     | Compose Space Space or AltGr+Space|
| Windows   | Alt+0+1+6+0                       |

Some text editor use Ctrl+Shift+Space.
Run Code Online (Sandbox Code Playgroud)

问题

一些文本编辑器在复制和粘贴操作中可以将硬空间转换为公共空间,所以要小心。

  • 长句子的换行看起来很难看。 (5认同)

小智 9

如何使用数学环境在段落的开头放置一个确定的空格如下:

$\qquad$ My line of text ...

这对我有用,也希望对你有用.


wor*_*ith 8

如果你真的必须使用标签,并且你不介意灰色背景颜色和填充,<pre>标签可能会起作用(如果支持):

<pre>
This        That        And             This
That        This        And             That    
</pre>
Run Code Online (Sandbox Code Playgroud)
This        That        And             This
That        This        And             That    


Joh*_*van 8

正如@AlexDupuy 在评论中指出的那样,定义列表可用于此目的。

并非所有降价处理器都支持这一点,但它被广泛使用:降价指南 - 定义列表

Term 1
: definition 1
: definition 2

Term 2
: definition 1
: definition 2
Run Code Online (Sandbox Code Playgroud)

呈现为(html):

<dl>
    <dt>Term 1</dt>
    <dd>definition 1</dd>
    <dd>definition 2</dd>
    <dt>Term 2</dt>
    <dd>definition 1</dd>
    <dd>definition 2</dd>
</dl>
Run Code Online (Sandbox Code Playgroud)

通常以DT类似标题的格式DD呈现,并且每个都呈现为在其下方的缩进文本。

如果您不想要标题/术语,只需使用不间断空格代替定义术语:

&nbsp;
: This is the text that I want indented.  All text on the same line as the preceding colon will be included in this definition.
: If you include a second definition you'll get a new line; potentially separated by a space. <br />Some inline HTML may be supported within this too, allowing you to create new lines without spaces.
: Support for other markdown syntax varies; e.g. we can add a bullet list, but each one's wrapped in a separate definition term, so the spacing may be out.
: - item 1
: - item 2
: - item 3
Run Code Online (Sandbox Code Playgroud)

您可以通过将上述示例复制粘贴到此站点来查看此操作:Stack Edit Markdown Editor

Stack Edit 中 DL 渲染的屏幕截图


gou*_*oup 8

令人惊奇的是没有人想出了只使用一个的想法divpadding还,所以在这里你去:

<div style="padding-left: 30px;">
My text
</div>
Run Code Online (Sandbox Code Playgroud)

  • 可能是因为您将其包装在“div”中,默认的降价功能(例如反引号和星号)在“div”内停止工作。 (4认同)