I'm trying to put a link called Submit resume in a menu using a li
tag. Because of the whitespace between the two words it wraps to two lines. How to prevent this wrapping with CSS?

- 3,942
- 3
- 35
- 49

- 18,392
- 34
- 106
- 137
7 Answers
Use white-space: nowrap;
[1] [2] or give that link more space by setting li
's width to greater values.
[1] § 3. White Space and Wrapping: the white-space property - W3 CSS Text Module Level 3
[2] white-space - CSS: Cascading Style Sheets | MDN
-
6I prevented line break in li items using `display: inline;`. Maybe this will also help others with similar problems. – Oct 03 '13 at 13:24
-
3Its important to be careful with display: inline as it can have side effects. white-space: nowrap; has only the one effect. – Crispen Smith Aug 10 '15 at 03:51
-
In this case text overflow happens. how to prevent that? – Mar 28 '16 at 14:08
You could add this little snippet of code to add a nice "…" to the ending of the line if the content is to large to fit on one line:
li {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}

- 13,327
- 5
- 62
- 90

- 3,958
- 2
- 20
- 23
-
I was looking for a text clamping solution, but I'll stick to this solution – JorgeGarza Dec 27 '16 at 16:49
If you want to achieve this selectively (ie: only to that particular link), you can use a non-breaking space instead of a normal space:
<li>submit resume</li>
https://en.wikipedia.org/wiki/Non-breaking_space#Encodings
edit: I understand that this is HTML, not CSS as requested by the OP, but some may find it helpful…

- 5,839
- 1
- 35
- 49

- 14,902
- 10
- 83
- 103
display: inline-block;
will prevent break between the words in a list item:
li {
display: inline-block;
}

- 4,644
- 3
- 23
- 37

- 349
- 2
- 9
-
1If I click through to the jsfiddle and adjust the width of the output, the individual list items break between the word "list" and the number, which is exactly what the OP *doesn't* want... – GentlePurpleRain Jan 24 '18 at 20:39
Bootstrap 4 has a class named text-nowrap
. It is just what you need.

- 37,872
- 26
- 173
- 191
In your CSS, white-space can do the job
possible values:
white-space: nowrap
white-space: pre
white-space: pre-wrap
white-space: pre-line
white-space: break-spaces
white-space: normal

- 3,674
- 29
- 17