Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html css word wrap可以在不破坏它们的情况下包装整个单词吗?_Html_Css_Word Wrap - Fatal编程技术网

Html css word wrap可以在不破坏它们的情况下包装整个单词吗?

Html css word wrap可以在不破坏它们的情况下包装整个单词吗?,html,css,word-wrap,Html,Css,Word Wrap,我需要将一个长文本调整到大约300像素的宽度。我正在使用这个css: div { width: 300px; color:white; word-wrap:break-word; } 我的问题是单词包装:打破单词。这是单词中间的破词。但我需要的是让文字保持原样,让文档足够聪明,在适当的时候打破界限,并保持文字本身的完整性 可能吗?我尝试了wordwrap的每一个选项,但没有任何效果。要么段落不中断,文本不在屏幕上,要么单词中断,两个

我需要将一个长文本调整到大约300像素的宽度。我正在使用这个
css

 div {      
      width: 300px;
      color:white;
      word-wrap:break-word;
      }
我的问题是
单词包装:打破单词。这是单词中间的破词。但我需要的是让文字保持原样,让文档足够聪明,在适当的时候打破界限,并保持文字本身的完整性

可能吗?我尝试了
wordwrap
的每一个选项,但没有任何效果。要么段落不中断,文本不在屏幕上,要么单词中断,两个字母在一行,而其他字母在下一行

编辑:添加我的代码以形成一个具体的示例。我的整个
样式
元素:

<style type="text/css">
    p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px OpenSansHebrew-Regular}
    p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px OpenSansHebrew-Regular; min-height: 12.0px}

div {
    width: 300px;
    color:white;
    font-size:10px;
    word-wrap:break-word;
}

pre {white-space:break;}

</style>
<body bgcolor="#1fa0e2">
<p class="p1">
<div>
<bdo dir="rtl">
<pre>
    דירת 3 חדרים ברחוב ארתור רובינשטיין בתל אביב הוצעה באחרונה למכירה ב–2.5 מיליון שקל, ובסופו של דבר נמכרה ב–2.195 מיליון בלבד - פער של 12% בין המחיר המבוקש למחיר המכירה. בירושלים, דירת 4 חדרים ברחוב צביה יצחק הוצעה למכירה ב–1.6 מיליון שקל ונמכרה ב–40% פחות - 950 אלף שקל בלבד.

</pre>
</div>
</bdo>
<span class="Apple-converted-space"> </span></p>

</body>
</html>


您不需要做任何特殊的事情。通常,文本会在单词之间中断

如果那没有发生,那么

  • 要么容器太宽
  • 容器被显式设置为完全不打断空格。例如,如果它是
    
    
    pre{
        white-space: pre-wrap;
        word-break: keep-all; /*this stops the word breaking*/
    }
    
    它将使元素的行为类似于
    pre
    元素,但行太长时也会进行换行。另见:

    我在胡闹。人们也没有提到设置分词风格。默认的分词规则必须将单词包装在容器空间的末尾,但不能保持单词的完整性

    因此,解决CSS问题的方法是:

    编辑:
    我更进一步地处理了这个问题,因为我使用的是bootstrap,所以他们的样式似乎与pre-tag有很多冲突。用这个!用于覆盖其样式的重要关键字。

    注意:请确保您的数据不像。。
    word
    或chrome以外的浏览器认为它是一个词


    听起来很疯狂,但我们公司的移动应用程序中的一个bug正在这样做,直到我检查了我们的API数据,我还以为互联网已经坏了:p

    如果你在排版诗歌之类的东西,你可以用
    标签包装这个词,然后添加
    空白:nowrap
    显示:内联块
    ,您可以使用
    元素,但除此之外,我认为您需要查看
    空白
    属性。信息不足。现在的评论说,内容在
    pre
    中,这是至关重要的。请编辑问题本身,使其包含足够的信息,以实际再现问题。嗨@JukkaK.Korpela,我添加了允许这样做的代码。您想要什么还不清楚。
    pre
    元素表示预格式化文本。当您不想要预先格式化的文本(即,间距和换行符完全如HTML源代码中所示)时,为什么要使用它?正常的
    p
    元素足以显示一段文本。然后,文本将被包装为空白。@Eddy,然后您应该描述数据的格式和呈现要求。这听起来像是另一个问题。如果您不想将数据转换为标记良好的HTML,那么使用
    空白的
    div
    可能是最好的选择,但这取决于具体的要求。如果您现在有空行指示逻辑段落边界,正如我所怀疑的,那么将它们转换为
    标记应该相当简单。这可能是您所需要的全部(除了封闭元素上的
    dir=rtl
    ),谢谢@GolezTrol。我的文本确实位于“”元素中。有解决办法吗?我几乎必须将它放在“”中,因为它很长,而且格式也很丰富。我添加了它,但它仍然破坏了文字。您应该将它添加到
    pre
    元素中,而不是添加到div中。顺便说一句,如果您有问题和/或在JSidle中,它会有所帮助。这样就更容易找出确切的问题并给出解决方案。现在,我只是在猜测你做错了什么谢谢@GolezTrol。我编辑了这个问题,并添加了一个简单的例子。谢谢你的帮助。对我来说,这就是问题所在。
    ()
    保留全部是保持单词完整所需的额外一行+1空白:预换行+分词:保留全部不适用于span+显示:块,但使用内联块则可以。谢谢你的提示!
    pre{
        white-space: pre-wrap;
        word-break: keep-all; /*this stops the word breaking*/
    }