# 行内代码中的连续空格会被折叠

**URL:** https://meta.discourse.org/t/consecutive-spaces-in-inline-code-get-collapsed/257585
**Category:** UX
**Tags:** markdown
**Created:** [2023年三月9日 09:17 UTC](https://meta.discourse.org/t/consecutive-spaces-in-inline-code-get-collapsed/257585 "2023-03-09T09:17:20Z")
**Posts on this page:** 13
**Page:** 1

<div class="post-metadata">

### Author: ![szhorvat](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/szhorvat/32/154711_2.png) [@szhorvat](https://meta.discourse.org/u/szhorvat)
#### Post date: [2023年三月9日 09:17 UTC](https://meta.discourse.org/t/consecutive-spaces-in-inline-code-get-collapsed/257585/1 "2023-03-09T09:17:21Z")

</div>

行内代码中的连续空格会被折叠。下面是一个例子。

Markdown：

```plaintext
 - `o o` 无连接
 - `o --> o` 单向连接
 - `o <--> o` 双向连接

```

渲染：

- `o o` 无连接
- `o --> o` 单向连接
- `o <--> o` 双向连接

渲染截图：

 ![image](https://global.discourse-cdn.com/meta/original/4X/9/b/f/9bfeb91336b6f436eac6b80cdd2099a65a45952a.png)

我不确定这是故意的还是一个 bug，但如果是故意的，我真的不明白其意义。如上所示，这可能会适得其反。如果不想有多余的空格，可以手动删除。代码块（无论是行内还是单独的）的目的是包含等宽字体中的逐字文本。

---

<div class="post-metadata">

### Author: ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)
#### Post date: [2023年三月9日 10:30 UTC](https://meta.discourse.org/t/consecutive-spaces-in-inline-code-get-collapsed/257585/2 "2023-03-09T10:30:11Z")

</div>

你好 Szabolcs！

感谢你的报告。我理解这个问题，它严格来说并不是 Discourse 的 bug。Discourse 使用 [markdown-it](https://github.com/markdown-it/markdown-it)，这是它的标准行为。

你可以在官方演示上看到相同的行为：[https://markdown-it.github.io](https://markdown-it.github.io)。

* * *

如果你需要防止反引号之间的空格被折叠，可以在你的论坛中添加以下 CSS：

```css
code {
    white-space: pre-wrap;
}

```

---

<div class="post-metadata">

### Author: ![mattdm](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mattdm/32/216484_2.png) [@mattdm](https://meta.discourse.org/u/mattdm)
#### Post date: [2023年三月9日 10:58 UTC](https://meta.discourse.org/t/consecutive-spaces-in-inline-code-get-collapsed/257585/4 "2023-03-09T10:58:23Z")

</div>

> [@Canapin](#):
>
> 感谢您的报告。我理解这个问题，它并非严格意义上的 Discourse bug。Discourse 使用 [markdown-it](https://github.com/markdown-it/markdown-it)，这是它的标准行为。

看起来这不符合 CommonMark。并非说它 _必须_ 符合，但也许可以说服他们进行更改以匹配？

> **[CommonMark Spec](https://spec.commonmark.org/0.30/#code-spans)**

> [@Canapin](#):
>
> 如果您确实有时需要这样做，可以使用一些不会被修剪的空格字符，但它们的宽度可能与普通空格略有不同。

根据用途，这甚至可能更糟，因为它可能导致复制/粘贴混淆。

---

<div class="post-metadata">

### Author: ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)
#### Post date: [2023年三月9日 11:00 UTC](https://meta.discourse.org/t/consecutive-spaces-in-inline-code-get-collapsed/257585/5 "2023-03-09T11:00:53Z")

</div>

> [@mattdm](#):
>
> 根据用途，这甚至可能更糟，因为它可能导致复制/粘贴混淆。

你说得对，我没考虑到这一点，我已经删除了这个棘手的建议 👍

---

<div class="post-metadata">

### Author: ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)
#### Post date: [2023年三月9日 11:06 UTC](https://meta.discourse.org/t/consecutive-spaces-in-inline-code-get-collapsed/257585/6 "2023-03-09T11:06:32Z")

</div>

> [@mattdm](#):
>
> 看起来这不符合 CommonMark。

我不熟悉这类东西，但我想你指的是这部分？

> 请注意，浏览器在渲染 `<code>` 元素时通常会折叠连续的空格，因此建议使用以下 CSS：
> 
> ```plaintext
> code{white-space: pre-wrap;}
> 
> ```

---

<div class="post-metadata">

### Author: ![mattdm](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mattdm/32/216484_2.png) [@mattdm](https://meta.discourse.org/u/mattdm)
#### Post date: [2023年三月9日 11:07 UTC](https://meta.discourse.org/t/consecutive-spaces-in-inline-code-get-collapsed/257585/7 "2023-03-09T11:07:06Z")

</div>

~~就我所知，不间断空格似乎不会被折叠（`o o`），所以如果你必须使用一个奇怪的空格，那可能是最好的选择。~~

编辑：请看下面的坏消息！

---

<div class="post-metadata">

### Author: ![mattdm](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mattdm/32/216484_2.png) [@mattdm](https://meta.discourse.org/u/mattdm)
#### Post date: [2023年三月9日 11:08 UTC](https://meta.discourse.org/t/consecutive-spaces-in-inline-code-get-collapsed/257585/8 "2023-03-09T11:08:34Z")

</div>

> [@Canapin](#):
>
> I’m not familiar with this kind of stuff, but I guess this is the part you’re talking about?
> 
> > Note that browsers will typically collapse consecutive spaces when rendering `<code>` elements, so it is recommended that the following CSS be used:
> > 
> > ```plaintext
> > code{white-space: pre-wrap;}
> > 
> > ```

The line above that one: “Interior spaces are not collapsed".

---

<div class="post-metadata">

### Author: ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)
#### Post date: [2023年三月9日 11:08 UTC](https://meta.discourse.org/t/consecutive-spaces-in-inline-code-get-collapsed/257585/9 "2023-03-09T11:08:49Z")

</div>

在撰写器预览中，不间断空格可能显示为未折叠，但在帖子处理时会折叠。

---

<div class="post-metadata">

### Author: ![mattdm](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mattdm/32/216484_2.png) [@mattdm](https://meta.discourse.org/u/mattdm)
#### Post date: [2023年三月9日 11:09 UTC](https://meta.discourse.org/t/consecutive-spaces-in-inline-code-get-collapsed/257585/10 "2023-03-09T11:09:57Z")

</div>

嗯，那真是太遗憾了。

---

<div class="post-metadata">

### Author: ![szhorvat](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/szhorvat/32/154711_2.png) [@szhorvat](https://meta.discourse.org/u/szhorvat)
#### Post date: [2023年三月9日 12:37 UTC](https://meta.discourse.org/t/consecutive-spaces-in-inline-code-get-collapsed/257585/11 "2023-03-09T12:37:37Z")

</div>

> [@Canapin](#):
>
> 如果您需要不折叠代码块中的空格，可以在论坛中添加以下 CSS：
> 
> ```plaintext
> code {
> white-space: pre-wrap;
> }
> 
> ```

谢谢你的提示！

您是否知道 discourse.group 托管的网站是否可以设置自定义 CSS？我没有立即找到该设置。

---

<div class="post-metadata">

### Author: ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)
#### Post date: [2023年三月9日 12:40 UTC](https://meta.discourse.org/t/consecutive-spaces-in-inline-code-get-collapsed/257585/12 "2023-03-09T12:40:09Z")

</div>

[Discourse pricing | Discourse - Civilized Discussion](https://discourse.org/pricing) 告知， **自定义主题和组件** 仅在标准套餐中启用。

---

<div class="post-metadata">

### Author: ![szhorvat](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/szhorvat/32/154711_2.png) [@szhorvat](https://meta.discourse.org/u/szhorvat)
#### Post date: [2023年三月9日 12:45 UTC](https://meta.discourse.org/t/consecutive-spaces-in-inline-code-get-collapsed/257585/13 "2023-03-09T12:45:01Z")

</div>

谢谢。我终于找到了设置，它运行得非常完美 🙂

我们使用为开源项目提供的免费托管服务，[https://free.discourse.group/](https://free.discourse.group/)

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [2023年三月9日 23:17 UTC](https://meta.discourse.org/t/consecutive-spaces-in-inline-code-get-collapsed/257585/14 "2023-03-09T23:17:26Z")

</div>

我正在将其移至 #Contribute > UX 频道。这是符合设计预期的，设计团队有意在用户界面中折叠这些空间，Markdown 本身是正确的。
