【问题标题】:Strange indentation when using pre使用 pre 时出现奇怪的缩进
【发布时间】:2021-03-31 05:24:45
【问题描述】:

在 C# 中,我用字符串填充字段。每个字符串都以“\r\n”结尾。然后我使用 Razor 用这些数据填充网站:

<td style="max-width:130px; overflow-wrap:break-word; white-space:pre;"
     align="left">
     @item.Data
</td>

网站上的输出:

          - first line     (about 13 additional empty spaces)
- second line
- third line
- fourth line and so on

期望的输出:

- first line
- second line
- third line
- fourth line and so on

我应该提供更多代码吗?

编辑:

HTML:

<td style="max-width:130px; overflow-wrap:break-word; white-space:pre;"
    align="left">
    firstline&#xD;&#xA;secondline
</td>

解决方案: 实际上我在 Visual Studio 中的代码佣人扩展在

之后添加了空格(这里有很多空格)

【问题讨论】:

  • 能否提供实际生成的HTML?
  • 我添加了 HTML。谢谢。

标签: html css asp.net razor pre


【解决方案1】:

空格由“格式化”的 html 源代码生成。 您还需要“丑化” html 代码。

之前:

<tr>
    <td style="max-width:130px; overflow-wrap:break-word; white-space:pre;" align="left">
        firstline&#xD;&#xA;secondline
    </td>
</td>

之后:

<tr>
    <td style="max-width:130px; overflow-wrap:break-word; white-space:pre;" align="left">firstline&#xD;&#xA;secondline</td>
</tr>

【讨论】:

    【解决方案2】:

    white-space:pre; 中的文本/代码应从行首开始(无制表符或空格)。我在下面给出了一个例子。

    <td style="max-width:130px; overflow-wrap:break-word; white-space:pre;"
        align="left">
    firstline&#xD;&#xA;secondline
    </td>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-31
      • 2013-05-14
      • 1970-01-01
      • 2015-06-10
      • 2020-08-30
      • 2013-05-05
      相关资源
      最近更新 更多