2012-01-24 11 views
4

私は現在いくつかのテキストルール、p、h1、h2 ...などを設定したdivタグを持っています。特定の行のテキストが次の行にオーバーフローしないようにする方法はありますか?

私はこれらのルールの1つがテキストがdivの幅に対して長すぎる場合、次の行に移動し、その代わりにdivには表示されないテキストがブラウザに表示されませんか?

たとえば、my pタグは正常です。テキスト行が長すぎると、次の行にオーバーフローします。これはh1とh2と同じですが、h3は1つしか使用しませんたとえそれがdivの端で切り取られたテキストの一部を意味するとしても、1つ以上の文字を取り上げることはありません。

HTML

<div id="box"> 

    <h1>This is the first header and this will overflow onto the next line when it gets too long.</h1> 

    <h2>This is the second header and this will overflow onto the next line when it gets too long..</h2> 

    <p>This is the paragraph and this will overflow onto the next line when it gets too long.</p> 

    <h3>This is the third header and I do not want this to overflow when it gets too long... But it does :(</h3> 

</div> 

CSS

#box { 
position:absolute; 
width:540px; 
height:auto; 
left:80px; 
top:0px; 
padding-bottom:20px; 
background-color:#000000; 
} 
#box h1{ 
font-family:Ebrima; 
font-size:22px; 
font-weight:normal; 
text-decoration:underline; 
text-align:center; 
margin-bottom:10px; 
color:pink; 
} 
#box h2{ 
font-family:Ebrima; 
font-size:20px; 
font-weight:normal; 
font-style:italic; 
text-align:center; 
margin-bottom:15px; 
color:lightyellow; 
} 
#box h3{ 
font-family:Ebrima; 
font-size:14px; 
font-weight:bold; 
text-align:center; 
margin-top:10px; 
margin-left:25px; 
margin-right:25px; 
color:lightgreen; 
overflow:hidden; 
} 
#box p{ 
font-family:Ebrima; 
font-size:16px; 
font-weight:lighter; 
text-align:justify; 
margin-left:25px; 
margin-right:25px; 
color:lightblue; 
} 

私はまた助けるためにJSfiddleを作りました。

私は、H3ルールにoverflow:hidden;を追加しようとしていると、それはFirefoxではなく、IE、オペラ、クロムまたはSafariで働いていました。

また、私はtext-overflow:hidden;textoverflow-hiddenを試しました。何らかの理由でそれらがうまくいくと思っていたが、いずれのブラウザでもそうではなかったからだと思ったからです。

これらのいずれかが正常に働いているか、私はこれを達成することができ、他の方法がありますでしょうか?

答えて

13
white-space: nowrap; 
overflow: hidden; 

を(IE8で、最大少なくとも)それを行う必要があります*ただ、ダブルチェックを編集し、それはあなたが順序で高さを指定する必要が古いすなわちすぎhttp://reference.sitepoint.com/css/white-space

+0

? – Flickdraw

+0

うん、オーバーフロー:隠し – wheresrhys

+0

完璧に働いて、ありがとう! – Flickdraw

4

で大丈夫shoudl overflow: hiddenが期待どおりに動作するようにしてください。 nowrapはハイフンを持っていないことを

overflow: hidden; 
white-space: nowrap; 

注:

2

は、次のルールを使用します。

+0

IE8、Firefox、Chrome、Safari、Operaで動作します。 http://jsfiddle.net/p7Ljj/2/ –

2
text-overflow: clip 

これが役立ちます。ここで読む:https://developer.mozilla.org/en/CSS/text-overflow 1行にすべてを置くための素晴らしい作品が、私はdiv要素の側面を使い果たしたテキストを隠すことができとにかくあり

+0

私はこれをテストしたばかりで、Firefoxではすべて同じ行に配置されますが、overflow:hiddenで使用されていない限り隠されません。 IE8、Opera、Safari、Chromeでは何もしていないようです。 – Flickdraw

+0

これはあなたにポインタを与えるべきです:http://www.w3schools.com/cssref/tryit.asp?filename=trycss3_text-overflow – Ninja

関連する問題