【问题标题】:Display element as preformatted text via CSS [duplicate]通过 CSS 将元素显示为预先格式化的文本 [重复]
【发布时间】:2012-03-17 20:50:02
【问题描述】:

有没有办法通过 CSS 模拟 pre 元素的显示?

例如,我可以通过使用 CSS 规则来保持这个 div 中的空白不变吗?

<div class="preformatted">

  Please procure the following items:

    - Soup
    - Jam
    - Hyphens 
    - Cantaloupe
</div>

【问题讨论】:

    标签: html css whitespace pre


    【解决方案1】:

    使用white-space: pre 保留空白预格式化,就像在pre 元素中一样。更进一步,还要添加font-family: monospace,因为pre 元素通常默认设置为等宽字体(例如用于代码块)。

    .preformatted {
        font-family: monospace;
        white-space: pre;
    }
    <div class="preformatted">
    
      Please procure the following items:
    
        - Soup
        - Jam
        - Hyphens 
        - Cantaloupe
    </div>

    【讨论】:

    • 我没想过要包含font-family 声明。 +1,为了彻底=)
    • 当我在等待接受这个答案时,您能解释一下prepre-wrap 之间的区别吗?我假设pre-wrap... 包装?
    • @GGG:没错。见a comparison
    • 你们是怎么知道这些东西的?我花了一些时间找错了树 (display),但从未想过要看 white-space
    【解决方案2】:
    .preformatted {
       white-space: pre-wrap;
    }
    

    我认为“预包装”更好。它可以帮助排长队。

    【讨论】:

    • 这应该是公认的答案
    【解决方案3】:

    是的:

    div.preformatted {
        white-space: pre;
        }
    

    参考:

    【讨论】:

      【解决方案4】:

      为了得到&lt;pre&gt;你可以使用;

      div.preformatted{ white-space: pre ; display: block; }
      

      【讨论】:

      • 你为什么需要弄乱 unicode-bidi?这似乎有点令人惊讶。
      • 对我来说也有点奇怪!。这已经很老了。我也不记得我从哪里提到的。可能来自w3.org/TR/CSS2/sample.html。更新了答案,因为我们现在不需要它。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-13
      • 1970-01-01
      • 2011-05-21
      • 1970-01-01
      • 2021-04-12
      相关资源
      最近更新 更多