【问题标题】:How to disable horizontal scrolling in HTML pre tag如何在 HTML pre 标签中禁用水平滚动
【发布时间】:2017-08-12 20:29:25
【问题描述】:

我正在尝试禁用 HTML pre 标签中的水平滚动

我试过这个:

pre {
    height: auto;
    max-height: 500px;
    overflow:hidden;
    background-color: #eeeeee;
}

但它不能正常工作

它看起来像这样:

文本继续向左边缘。 (我的html页面的方向是RTL从右到左)

有什么建议吗?

【问题讨论】:

  • 试试overflow-x
  • 另外,你要申请text-align: right;

标签: javascript jquery html css web-frontend


【解决方案1】:

overflow-x: hidden 切断文本,但不换行。

white-space CSS 属性改为设置元素内部空白的处理方式; pre-wrap 保留空白序列,在换行符处换行,在<br> 处换行,并根据需要填充行框。

pre {
  white-space: pre-wrap;
}

这篇文章提供了很多关于 pre 标签的重要信息:https://mediatemple.net/blog/tips/considerations-for-styling-the-pre-tag/

【讨论】:

  • 工作!正确答案
【解决方案2】:

答案在这篇文章中找到:How do I wrap text in a pre tag?

pre {
    white-space: pre-wrap; /* Since CSS 2.1 */
    white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
    white-space: -pre-wrap; /* Opera 4-6 */
    white-space: -o-pre-wrap; /* Opera 7 */
    word-wrap: break-word; /* Internet Explorer 5.5+ */
}

【讨论】:

    【解决方案3】:

    尝试添加这个:

    text-align: right !important;
    overflow-x: hidden !important;
    

    另外,这篇文章可能对您的工作很有趣:https://alfy.me/2014/07/26/lets-talk-about-rtl.html

    希望对您有所帮助!好编码! ;)

    编辑:

    我会解释自己。

    通过添加text-align: right !important;,我们强制文本正确对齐,将您的网站作为 RTL,这是要走的路。

    通过添加overflow-x: hidden !important; 表示我们不希望水平滚动。

    !important 语句用于优先考虑 css 规则,用于覆盖其他样式。

    【讨论】:

    • 当你开始使用!important 时,就没有回头路了:) 总有办法不使用它。
    • 同样的问题,目前文本一直向左边缘我想让文本停在特定的限制,然后开始新的一行。
    • @Morpheus 是的,确实如此。 !important;是 Rambo 解决方案,但我发现 @askm 必须覆盖样式
    • @askm 那么我认为你的问题没有得到很好的解释或者我理解得不好。如果您希望文本不要“触摸”屏幕边缘。将您的文本放入容器 (div) 中,并为其指定大小和位置,以便您可以控制它。另外,阅读我链接的文章,它可以帮助你制作你想要的网站风格。干杯!
    猜你喜欢
    • 1970-01-01
    • 2018-01-10
    • 2016-12-30
    • 1970-01-01
    • 2013-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-24
    相关资源
    最近更新 更多