ブラウザ表示において2行目以降を省略する方法

このQ&Aのポイント
  • ブラウザ表示において2行目以降を省略する方法について解説します。特定の要素において2行目以降の表示を省略するためには、CSSのプロパティを活用します。
  • 具体的な方法としては、特定の要素に対してheightプロパティを設定し、overflowプロパティをhiddenにすることで、高さを制限し表示を省略することができます。
  • また、text-overflowプロパティにellipsisを設定することで、省略された部分に省略記号(...)が表示されるようになります。この方法を用いることで、2行目以降のブラウザ表示を省略することができます。
回答を見る
  • ベストアンサー

2行目のブラウザ表示以上を省略

下記CSSで1行のブラウザ表示以上だと1行目の表示以上は省略されるが 1行は省略されなく折り返し 2行目のブラウザ表示以上を省略するにはどうしたらいいのでしょうか。 <div id="mapPos" style="height: 3em; width: 96%; margin: 0 auto; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; -webkit-text-overflow: ellipsis; -o-text-overflow: ellipsis;"> あああああああああああああああああああああああああああああああああああああああ </div>

  • CSS
  • 回答数3
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.2

>1行のブラウザ表示以上だと1行目の表示以上は省略されるが1行は省略されなく折り返し 2行目のブラウザ表示以上を省略するにはどうしたらいいのでしょうか。  意味が分かりません。  一行目とは、font-sizeや幅に関わらず、表示された時点で算出される、「擬似要素」を意味します。それに対する指定はfirst-lineですが、折り返された時点で二行目以降になります。「1行は省略されなく折り返し」の意味がありません。 「2行目のブラウザ表示以上」でなく、二つ目の段落と言う意味なら、「隣接セレクタ」になります。 <div class="abstract type1"> _<h2>要約</h2> _<p> __二酸化炭素(にさんかたんそ、英: carbon dioxide)は、化学式が CO2 と表される無機化合物である。最近では、化学式から「シーオーツー」と呼ばれる事も多い。 _</p> _<p> __地球上で最も代表的な炭素の酸化物であり、炭素単体や有機化合物の燃焼によって容易に生じる。気体は炭酸ガス、固体はドライアイス、水溶液は炭酸、炭酸水と呼ばれる。 _</p> _<p> __多方面の産業で幅広く使われる(後述)。日本では高圧ガス保安法容器保安規則第十条により、二酸化炭素(液化炭酸ガス)の容器(ボンベ)の色は緑色と定められている。 _</p> </div> <div class="abstract type2"> _<h2>要約</h2> _<p> __二酸化炭素(にさんかたんそ、英: carbon dioxide)は、化学式が CO2 と表される無機化合物である。最近では、化学式から「シーオーツー」と呼ばれる事も多い。 _</p> _<p> __地球上で最も代表的な炭素の酸化物であり、炭素単体や有機化合物の燃焼によって容易に生じる。気体は炭酸ガス、固体はドライアイス、水溶液は炭酸、炭酸水と呼ばれる。 _</p> _<p> __多方面の産業で幅広く使われる(後述)。日本では高圧ガス保安法容器保安規則第十条により、二酸化炭素(液化炭酸ガス)の容器(ボンベ)の色は緑色と定められている。 _</p> </div> として、 p{text-indent:1em;margin:0 1em;} div.abstract{margin:0 10%;line-height:1.6em;} div.abstract p{position:relative;} div.abstract p+p{display:none;} div.abstract.type1 p{height:1.6em;overflow:hidden;} div.abstract p:after{color:red;} div.abstract.type1 p:after{content:"・・(以下略)・・";position:absolute;right:0;top:0;background-color:white;} div.abstract.type2 p:after{content:"\A・・(以下略)・・";white-space:pre;} type1は一行目のみ表示 type2は一つ目のみ段落の未表示

その他の回答 (2)

回答No.3

内容がテキストの場合は、font-size、height、line-heightをセットにして考えないと、 height:2emが2行分になったり、height:3emが2行分になったりと不定です。 line-height: 1.2em; height: 2.4em; /* 通常はline-heightの2倍 */ white-space: nowrap; -webkit-text-overflow: elipsis; -o-text-overflow: elipsis; -ms-text-overflow: elipsis; text-overflow: elipsis; overflow: hidden;

  • axuaxua
  • ベストアンサー率36% (82/223)
回答No.1

[ブラウザ表示以上]、[1行目の表示以上が省略されて1行は省略されなく折り返し] の意味がよくわかりません。 単純に[height:2em; white-space:normal;]って意味なのかもっと違う意味なのか

関連するQ&A

  • テキストの表示について

    テキストの表示についてですが、 テキスト枠を2行分とり、その中で表示し切れない文字列は"..."で 表示されるようにしたいのですが、うまくできません。 <div class="textEllipsis" style="height: 38px; width: 660; text-overflow: ellipsis overflow: hidden;">  <table class="BorderNone">   <tr>    <td>     <bean:write name="data" property="cbTrialRefPeer.title" ignore="true"/>    </td>   </tr>  </table> </div> 1行でならうまくいくのですが、 2行だと"..."ではなく文字列が切れて表示されてしまいます。 何かよい方法はないですか。

    • ベストアンサー
    • HTML
  • 表示領域をはみ出したタイトルを「・・・」にする

    Livedoorブログを使ってます。 添付画像のような相互RSSを設置してみました。 なんとなくいい具合に出来上がったのですが今ひとつ納得出来ません。 タイトルが長すぎて2行になってしまっているのを、1行に納めたいのです。 よく、最後を「・・・」にして1行にまとめているブログを見かけます。 やってみようといろいろ検索したところ、「text-overflow:ellipsis」などを組み入れることにより出来ることは判りましたが、以下のboxというクラスをどこにどのようにhtmlに組み入れれば良いのか分かりません。 そこまで具体的に説明してあるサイトを見つけられませんでした。 たぶん<div class="box">をhtmlのどこかに設置するだと思うのですが、blogrollの中に反映させるためにはどこにどのように設置すればいいのか分からないので教えていただければ幸いです。 見づらくてすみません。 ********** css *************** .box { width: 100%; overflow:hidden; text-overflow:ellipsis; -webkit-text-overflow:ellipsis; -o-text-overflow: ellipsis; white-space:nowrap; } ******************************* ******** html ***************** <div class="blogroll_wrapper"> <div class="blogroll_innner"> <script type="text/javascript"> <!-- var blogroll_channel_id = xxxxx; // --> </script> <script type="text/javascript" charset="utf-8" src="http://blogroll.livedoor.net/js/blogroll.js"></script> </div> </div> *******************************

    • 締切済み
    • CSS
  • IEのブラウザだけちゃんと表示されません。

    ウェブデザインをしています。 Macで制作して サイトを立ち上げたのですが、 WindowsのIEにのみブラウザの下の方が 表示されません、、、。 http://www.hudge.jp/works/works.html かなり困っています。 どうもheight: 100%;が適応されていないっていうのは なんとなくわかったのですが、 どうやって直したらいいのかわかりません。 WindowsでもFire foxだと上手くいくのですが、、、。 CSSはこんな感じです。 <style type="text/css"> /* hide from ie on mac \*/ html { height: 100%; overflow: hidden; } #style { height: 100%; } /* end hide */ body { height: 100%; margin: 10; padding: 0; background-color: #000000; } </style> すいませんが、お願いします。

    • ベストアンサー
    • HTML
  • 文末に「…」を追加するCSSの記述について

    下記は、ブラウザのサイズが変更されても2行で表示するように記述したものです。 これに文末に「…」を追加するにはどのように記述すれば良いでしょうか? 表示結果 現在 「ああああああああ  ああああああああ」 このように表示したい 「ああああああああ  あああああああ…」 CSS .AAA { margin:0; padding:0px; height:2.6em; line-height:1.4em; overflow:hidden; vertical-align:top; } HTML <p class=AAA>ああああああああああああああああああああああああああああ</p>

    • 締切済み
    • CSS
  • 省略表示の方法【html/css/js】

    表示領域から溢れた際の省略表示の方法についてです。 対象は1行です。 overflowしている場合に、三点リーダーを使って省略表示がしたいです。 CSSで、 overflow: hidden; text-overflow: ellipsis; を使うと、溢れた際に後ろに三点リーダーがつきますが、 三点リーダーの前に表示する文字数を制限したいです。 例えば以下の文言を表示した場合に、 「あいうえおかきくけこさしすせそ」 上記のCSSを適用して 「あいうえおかきくけこ...」と表示されるものを、 三点リーダーの前は3文字として 「あいう...」という表示にしたいです。 こういった三点リーダーの前の文字数を制限する方法ってありますでしょうか?

    • ベストアンサー
    • CSS
  • ブラウザごとにCSS?

    こんにちは。 HTMLとCSSを使ったホームページを作っています。 確認用のブラウザにSleipnirを使っています。 下のように記述し、ブラウザエンジンを切り替えて見たところ、それぞれ幅が違うことに気づきました。 幅が異なると、デザインもグチャグチャになってくるので、大変困っています。 これを回避、対処する方法を教えて欲しいです。 補足もなるべく早くさせてもらいます。 どうかよろしくお願いします。 <style type="text/css"> div{ border:solid #cccccc 1px; width:750px; margin:5px; } #all{ width:800px; height:auto; text-align:center; } #header{ height:200px; } #main{ height:auto !important; height:15em; min-height:15em; } #footer{ font-size:10px; height:2em; } </style> <div id="all"> <div id="header"> </div> <div id="main"> </div> <div id="footer"> </div> </div>

    • ベストアンサー
    • HTML
  • IE6だと表示がおかしく表示される。

    添付写真の上がIE9での表示で、下はIE6(IETesterで表示)ですが。 殆んど同じ記述で「写真」の無いページは、正しく表示しています。 必要と思われるタグは、下記の内容です。なお親ホントは100%です。 <div style="width:32%;float:left;"><img src="省略></a></div> <div style="width:59%;float:left;"><img src="省略"></a></div> <div style="font:1em/2.8em 'MS 明朝',serif;width:27.9em;float:clear:both;"> <div style="margin-left:9.52em;font-weight:bold;clear:both;">九月十八日</div> <div style="clear:both;width:27.9em;"> <div style="width:11.63em;font:1em/2.8em 'MS 明朝',serif;float:left;">省略</div> <div style="width:5.81em;font:1em/1.4em 'MS 明朝',serif;float:left;">省略</div> <div style="width:10.34em;font:1em/2.8em 'MS 明朝',serif;float:left;">省略</div> 省略 </div> <div style="font:1em/2.8em 'MS 明朝',serif;width:27.9em;float:"> <div style="clear:both;width:27.9em;"> <div style="width:11.63em;font:1em/2.8em 'MS 明朝',serif;float:left;margin-top:1.5em;">省略</div> <div style="width:5.81em;font:1em/1.4em 'MS 明朝',serif;float:left;margin-top:1.5em;">省略</div> <div style="width:10.34em;font:1em/2.8em 'MS 明朝',serif;float:left;margin-top:1.5em;">省略</div> 省略 </div> 誤り内容を教えて下さい。 http://ryuso.info/test/ryu180_250.htm

    • ベストアンサー
    • CSS
  • Firefoxでheight:100%がきかない?

    ソースは以下のとおりです。 IEでは#container内のDIV要素は全てheight:100%で表示されるのですが、Firefoxでは、高さ:100%がききません。 Firefoxでもページの下まで表示されるようにしたいと思います。 よろしくお願いいたします。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-type" content="text/html; charset=UTF-8" /> <title>サンプル</title> <style type="text/css"> <!-- /*全体の設定*/ * { margin: 0px; padding: 0px; font-size: 12px; font-family:"MS Pゴシック", Osaka, "ヒラギノ角ゴ Pro W3"; font-weight: normal; line-height: 150%; color: #000; } /*ページ全体の設定*/ html,body { height:100%; } body { background-color: #FFF; } /*カラムの設定・IE6のハック*/ #wrapper { width: 1000px; float:left; height: 100%; min-height:100%; margin: 0px 0px 0px 0px; overflow:hidden; _overflow: show; background-color:#FF0000; } body > #wrapper { height:auto; } /*ヘッダの設定*/ #header { width: 1000px; height: 123px; clear: both; } /*メインコンテンツの設定*/ #container { width: 1000px; clear: both; height: 100%; min-height:100%; margin: 0px 0px 0px 0px; overflow:hidden; _overflow: show; background-color:#00FF00; } /*左カラム外側(2カラム内包)*/ #container_left01 { width: 732px; float:left; height: 100%; min-height:100%; margin: 0px 0px 0px 0px; overflow:hidden; _overflow: show; } /*左カラム(左側)*/ #container_left02 { width: 268px; float:left; height: 100%; min-height:100%; margin: 0px 0px 0px 0px; overflow:hidden; _overflow: show; } /*左カラム(右側)*/ #container_left03 { width: 463px; float: right; border-left-width: 1px; border-left-style: solid; border-left-color: #000000; height: 100%; min-height: 100%; margin: 0px 0px 0px 0px; overflow:hidden; _overflow: show; background-color:#FFFF00; } /*右カラム*/ #container_right01 { width: 267px; float:left; border-left-width: 1px; border-left-style: solid; border-left-color: #000000; height: 100%; min-height:100%; margin: 0px 0px 0px 0px; overflow:hidden; _overflow: show; } --> </style> </head> <body> <div id="wrapper"> <div id="header"> <h1>あああ</h1> </div> <div id="container"> <div id="container_left01"> <div id="container_left02">あああ</div> <div id="container_left03">あああ</div> </div> <div id="container_right01">あああ</div> </div> </div> </body> </html>

  • スクロールで画面が読み込まれたら動くようにしたい

    html、cssでテキストを動くようにしたのですがjavascript(jquery)で スクロールで画面が読み込まれたら動くようにしたいのですがどうすれば良いでしょうか。 html <body> <section> </section> <div class="heading"> <div> <p class="slide-up">salon</p> </div> <div> <p class="slide-up">info</p> </div> <div> </div> </body> </body> </body> css body, html { width: 100%; font-family: 'Times New Roman', Times, serif; } section { height: 200vh; } .fadeUp { animation-name: fadeUpAnime; animation-duration: 0.5s; animation-fill-mode: forwards; opacity: 0; } .heading { margin: 80px 0 0 80px; font-size: 15em; line-height: 90%; } .heading>div { overflow: hidden; } .heading>div>p { width: -webkit-max-content; width: -moz-max-content; width: max-content; white-space: nowrap; margin: 0; } div.heading>div { -webkit-animation-delay: 1s; animation-delay: 1s; } .slide-up { -webkit-animation: slid 2s cubic-bezier(0.65, 0, 0.35, 1) both; animation: slid 2s cubic-bezier(0.65, 0, 0.35, 1) both; } @-webkit-keyframes slid { 0% { transform: translateY(300px); } 100% { transform: translateY(0); } } @keyframes slid { 0% { transform: translateY(300px); } 100% { transform: translateY(0); } }

  • width指定したTDでwhite-space:nowrapが効かない

    width指定したTDでwhite-space:nowrapが効かない ブラウザはIE6~8のみを想定しています。 下記のHTMLでは、2行目は正常なのですが、1行目のnowrapが働かず、改行がかかってしまいます。 列毎に幅を指定する必要があるので、1行目にはwidthを指定しているのですが、 どのようにすれば自動改行を禁止できるでしょうか。 <table style="table-layout: fixed;"> <tr> <td style="width: 50px; overflow: hidden; white-space: nowrap;">あああああああ</td> <td style="width: 70px; overflow: hidden; white-space: nowrap;">あああああああ</td> </tr> <tr> <td style="overflow: hidden; white-space: nowrap;">あああああああ</td> <td style="overflow: hidden; white-space: nowrap;">あああああああ</td> </tr> </table>

    • ベストアンサー
    • HTML

専門家に質問してみよう