How to turn off word wrapping in HTML?

后端 未结 6 1675
失恋的感觉
失恋的感觉 2020-11-27 09:24

I feel silly for not being able to figure this out, but how do I turn off wordwrap? the css word-wrap property can be forced on with break-word, bu

相关标签:
6条回答
  • 2020-11-27 09:43

    white-space: nowrap;: Will never break text, will keep other defaults

    white-space: pre;: Will never break text, will keep multiple spaces after one another as multiple spaces, will break if explicitly written to break(pressing enter in html etc)

    0 讨论(0)
  • 2020-11-27 09:58

    Added webkit specific values missing from above

    white-space: -moz-pre-wrap; /* Firefox */
    white-space: -o-pre-wrap; /* Opera */
    white-space: pre-wrap; /* Chrome */
    word-wrap: break-word; /* IE */
    
    0 讨论(0)
  • 2020-11-27 09:59

    If you want a HTML only solution, we can just use the pre tag. It defines "preformatted text" which means that it does not format word-wrapping. Here is a quick example to explain:

    div {
        width: 200px;
        height: 200px;
        padding: 20px;
        background: #adf;
    }
    pre {
        width: 200px;
        height: 200px;
        padding: 20px;
        font: inherit;
        background: #fda;
    }
    <div>Look at this, this text is very neat, isn't it? But it's not quite what we want, though, is it? This text shouldn't be here! It should be all the way over there! What can we do?</div>
    <pre>The pre tag has come to the rescue! Yay! However, we apologise in advance for any horizontal scrollbars that may be caused. If you need support, please raise a support ticket.</pre>

    0 讨论(0)
  • 2020-11-27 10:00

    You need to use the CSS white-space attribute.

    In particular, white-space: nowrap and white-space: pre are the most commonly used values. The first one seems to be what you 're after.

    0 讨论(0)
  • 2020-11-27 10:02

    This worked for me to stop silly work breaks from happening within Chrome textareas

    word-break: keep-all;
    
    0 讨论(0)
  • 2020-11-27 10:08

    I wonder why you find as solution the "white-space" with "nowrap" or "pre", it is not doing the correct behaviour: you force your text in a single line! The text should break lines, but not break words as default. This is caused by some css attributes: word-wrap, overflow-wrap, word-break, and hyphens. So you can have either:

    word-break: break-all;
    word-wrap: break-word;
    overflow-wrap: break-word;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
    

    So the solution is remove them, or override them with "unset" or "normal":

    word-break: unset;
    word-wrap: unset;
    overflow-wrap: unset;
    -webkit-hyphens: unset;
    -moz-hyphens: unset;
    -ms-hyphens: unset;
    hyphens: unset;
    

    UPDATE: i provide also proof with JSfiddle: https://jsfiddle.net/azozp8rr/

    0 讨论(0)
提交回复
热议问题