HTML <nobr> Tag

The <nobr> tag was a legacy HTML element used to prevent text from wrapping to a new line within its container. This meant that if the text inside a <nobr> tag exceeded the available horizontal space, it would overflow, potentially disrupting the layout. It is now considered deprecated, and its use is strongly discouraged in modern web development.

HTML nobr Tag: Legacy Non-Breaking Text (Deprecated)

Syntax

<nobr> Text content that should not wrap </nobr>

Attributes

The <nobr> tag does not support any specific attributes. It simply acts as a container to prevent line breaks.

Attribute Value Description
None N/A The <nobr> tag has no specific attributes.

Example

<p>This is a regular paragraph that will wrap as needed to fit the container's width.
  This is a very long line to show how text wrapping works by default.
</p>

<nobr>This is text inside a &lt;nobr&gt; tag that will not wrap.
  This is a very long line which will overflow outside its container.
</nobr>

More Examples

Basic Usage (Deprecated)

In this example, we see how a very long sentence within the <nobr> tag overflows the parent container because no wrapping is happening.

<!DOCTYPE html>
<html>
<head>
<title>nobr Example</title>
<style>
  div {
    width: 200px;
    border: 1px solid black;
    overflow: hidden; /* Hides overflowing text for demo */
  }
</style>
</head>
<body>
  <div>
    <nobr>This is a very long string of text that will not wrap, and will therefore overflow the container because it is forced to stay on a single line.</nobr>
  </div>
</body>
</html>

The CSS Alternative

Here’s how to achieve the same effect using CSS's white-space property. This is the recommended way for controlling text wrapping:

<!DOCTYPE html>
<html>
<head>
<title>CSS white-space Example</title>
<style>
  .no-wrap {
      white-space: nowrap;
      width: 200px;
      border: 1px solid blue;
      overflow: hidden; /* Hides overflowing text for demo */
    }
</style>
</head>
<body>
  <div class="no-wrap">
    This is a very long string of text that will not wrap due to 'white-space: nowrap;' and will overflow.
  </div>
</body>
</html>

Controlling Overflow

With CSS, you can also choose how to handle the overflow instead of simply hiding it:

<!DOCTYPE html>
<html>
<head>
    <title>CSS Text Overflow</title>
    <style>
        .text-overflow {
            white-space: nowrap;
            width: 200px;
            border: 1px solid green;
            overflow: hidden;
            text-overflow: ellipsis; /* Shows ... for text overflow */
        }
    </style>
</head>
<body>
    <div class="text-overflow">
        This is a very long text which will not wrap and will overflow its parent container, with ellipsis indicator.
    </div>
</body>
</html>

Browser Support

The <nobr> tag was supported in early browsers, but its usage is now strongly discouraged. For modern browser, you should always rely on CSS for these type of styling.

Notes and Tips

  • The <nobr> tag is deprecated and should not be used in modern web development.
  • Use CSS's white-space: nowrap; to prevent text from wrapping, and overflow property to manage overflowing content.
  • When using white-space: nowrap; ensure you also handle overflow in a user-friendly manner, potentially by hiding, using ellipsis (text-overflow: ellipsis;) or allowing scrolling.
  • Overuse of non-wrapping text can make your content inaccessible and difficult to read on smaller screens.
  • Always consider responsiveness and user experience when deciding how to handle text wrapping.