Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

wbr tag doesn't work in IE

Soft break seems not to work in IE. Is there any alternative or how to make it work?

http://fiddle.jshell.net/88q54/1/

body {
font-size: 272px;    
}


<div>W<wbr/>o<wbr/>r<wbr/>d</div>

I want the "word" to be breakable when it doesn't fit window width. The work is wrapped in webkit and mozila, but doesn't in IE (10/11).

I know that for made words breakable I may use css word-break: break-all;

but I want to be able to put soft break in certain position of the word so css word-break doesn't work correctly for me.

like image 690
WHITECOLOR Avatar asked May 20 '14 10:05

WHITECOLOR


People also ask

What does WBR tag do?

The <wbr> (Word Break Opportunity) tag specifies where in a text it would be ok to add a line-break. Tip: When a word is too long, the browser might break it at the wrong place. You can use the <wbr> element to add word break opportunities.

Is WBR an empty tag?

The <wbr> tag is an empty tag. In other words, it has no end tag.

What is WBR?

Represents an extra place where a line of text may optionally be broken.


2 Answers

Add the following into your style sheet:

wbr:after { content: "\00200B"; }

This inserts U+200B ZERO WIDTH SPACE, which is the character-level counterpart of the good old <wbr> that browsers have largely spoiled (a sad story).

Alternatively, you can replace <wbr> tags by that character, which you can write in HTML as &#x200b;.

like image 131
Jukka K. Korpela Avatar answered Oct 07 '22 12:10

Jukka K. Korpela


Jukka's answer is a good one. However, in the case below, it's desireable to allow the user to copy the text, which is an e-mail address. In that scenario, the &#x200b; character can't sneak into the string. It therefore has to be solved differently, using multiple inline elements (e.g. <span> or <i>) with display: inline-block;.

In this instance, <i> tags surround e-mail address components ending with a . or starting with a @.

.wbr-i-container i {
  display: inline-block;
  font-style: inherit;
}

<a class="wbr-i-container"
><i>FirstName.</i
><i>MiddleName.</i
><i>LastName</i
><i>@company.</i
><i>com</i
></a>

<i> is used for brevity & readability, while <span> would be semantically correct.

Works in current versions of Chrome, Firefox, IE and Safari.

like image 4
bjornte Avatar answered Oct 07 '22 12:10

bjornte