Prevent Wrapping of <code> Tags in Text

By  on  

Writers of technical documentation (or lowly blog writers like myself) oftentimes put property names in <code> tags within blocks of text. Doing so makes reading the text easier and prevents users from misconstruing explanatory text with property names. CSS uses a dash within its property and value names and English uses dashes to signal a place where the line could break the text...see the problem here? The contents of your <code> tag could wrap and that can be unsightly. To prevent that smudge in your otherwise flawless writing, you can use white-space: nowrap:

code {
    white-space: nowrap;
}

The only downside of modifying white-space is that the code could flow well out of its container if the code text is lengthy. I would contend that length property names would be best placed on their own line (in their own block) but that issue is one to keep in mind. You could use text-overflow: ellipsis and a max-width to temper the element width, but the text could then lose its meaning.

It's up to you to decided if this could be safe for your own use. I just think it's a nice little addition to keep your content from breaking in ways you haven't thought of!

Recent Features

  • By
    7 Essential JavaScript Functions

    I remember the early days of JavaScript where you needed a simple function for just about everything because the browser vendors implemented features differently, and not just edge features, basic features, like addEventListener and attachEvent.  Times have changed but there are still a few functions each developer should...

  • By
    Serving Fonts from CDN

    For maximum performance, we all know we must put our assets on CDN (another domain).  Along with those assets are custom web fonts.  Unfortunately custom web fonts via CDN (or any cross-domain font request) don't work in Firefox or Internet Explorer (correctly so, by spec) though...

Incredible Demos

  • By
    Facebook Sliders With Mootools and CSS

    One of the great parts of being a developer that uses Facebook is that I can get some great ideas for progressive website enhancement. Facebook incorporates many advanced JavaScript and AJAX features: photo loads by left and right arrow, dropdown menus, modal windows, and...

  • By
    Smooth Scrolling with MooTools Fx.SmoothScroll

    I get quite a few support requests for my previous MooTools SmoothScroll article and the issue usually boils down to the fact that SmoothScroll has become Fx.SmoothScroll. Here's a simple usage of Fx.SmoothScroll. The HTML The only HTML requirement for Fx.SmoothScroll is that all named...

Discussion

  1. As an in between step or when modifying white-space is unwanted, you could use “‑” to show a dash but not break on it.

  2. Little late to the game here but…

    That’s an interesting problem you bring up at the end there. It is rare to have an inline code tag break out of its container, but there is a way around it. Here it is:

    http://jsbin.com/UQUfuXUX/1/edit

    Two things to note:

    – I’m using a non-breaking hyphen character, inserted with its decimal notation.
    – I’ve added word-wrap: break-word in the CSS to prevent long lines from breaking the container.

    Truthfully, it’s not an ideal solution to do this solely on the front-end. Preferrably you would have some sort of back-end function that automatically replaces hyphens inside of ‘code’ tags with the non-breaking hyphen character.

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!