オーバーフローしたテキストの省略表示の方法を指定します。
text-overflow が適用されるのは、overflowに"hidden"や、white-spaceに、"nowrap"を指定し、オーバーフローしたテキストを非表示とする場合です。
CSS Ver. | 適用要素 | 継承 |
---|---|---|
3.0 | ブロックコンテナ | しない |
構文 | |
---|---|
text-overflow : [clip | ellipsis | 文字列] {1,2}; |
|
プロパティ/設定値 | 意味 |
text-overflow: clip; | オーバーフローしたテキストを切り取るのみ |
text-overflow: ellipsis; | オーバーフローしたテキストを切り取り、切り取る直前に省略記号「…」を表示 |
text-overflow: 文字列; | オーバーフローしたテキストを切り取り、切り取る直前に文字列を表示 |
デフォルト:「タグ毎のスタイル初期値」を参照 |
<style type="text/css">
.common div{
font-family : "メイリオ", sans-serif;
width : 290px;
border : 2px solid #6495ed;
background : #e7e7ff;
padding : 5px;
}
div.cssTitle {
margin-top : 10px;
background : #6495ed;
color : #fff;
font-weight : bold;
}
.css-clip{text-overflow : clip;}
.css-ellipsis{text-overflow : ellipsis;}
.css-string{text-overflow : "*";}
.css-clip-clip{text-overflow : clip clip;}
.css-ellipsis-ellipsis{text-overflow : ellipsis ellipsis;}
.css-string-ellipsis{text-overflow : "*" ellipsis;}
.css-hidden-nowrap{
overflow : hidden;
white-space : nowrap;
}
.css-direction-rtl{direction: rtl;}
.css-margin{margin: 0 -1em;}
.css-nowrap{white-space : nowrap;}
</style>
<!-- html -->
<div class="common">
<div class="cssTitle">text-overflow 指定なし<br>(改行なし全文表示)</div>
<div class="css-nowrap">
オーバーフローしたテキストは切り取り表示しない
</div>
<div class="cssTitle">text-overflow:clip</div>
<div class="css-clip css-hidden-nowrap">
オーバーフローしたテキストは切り取り表示しない
</div>
<div class="cssTitle">text-overflow:ellipsis</div>
<div class="css-ellipsis css-hidden-nowrap">
オーバーフローしたテキストは切り取り表示しない
</div>
<div class="cssTitle">text-overflow:"*"</div>
<div class="css-string css-hidden-nowrap">
オーバーフローしたテキストは切り取り表示しない
</div>
<div class="cssTitle">text-overflow:clip<br>(direction: rtl)</div>
<div class="css-clip css-direction-rtl css-hidden-nowrap">
オーバーフローしたテキストは切り取り表示しない
</div>
<div class="cssTitle">text-overflow:ellipsis<br>(direction: rtl)</div>
<div class="css-ellipsis css-direction-rtl css-hidden-nowrap">
オーバーフローしたテキストは切り取り表示しない
</div>
<div class="cssTitle">text-overflow:"*"<br>(direction: rtl)</div>
<div class="css-string css-direction-rtl css-hidden-nowrap">
オーバーフローしたテキストは切り取り表示しない
</div>
<div class="cssTitle">text-overflow:clip clip<br>(margin: 0 -1em)</div>
<div class="css-clip-clip css-hidden-nowrap">
<span class="css-margin">
オーバーフローしたテキストは切り取り表示しない</span>
</div>
<div class="cssTitle">text-overflow:ellipsis ellipsis<br>(margin: 0 -1em)</div>
<div class="css-ellipsis-ellipsis css-hidden-nowrap">
<span class="css-margin">
オーバーフローしたテキストは切り取り表示しない</span>
</div>
<div class="cssTitle">text-overflow:"*" ellipsis<br>(margin: 0 -1em)</div>
<div class="css-string-ellipsis css-hidden-nowrap">
<span class="css-margin">
オーバーフローしたテキストは切り取り表示しない</span>
</div>
</div>
※現時点(2017/05)で、Firefoxは動作確認できました。
ほとんどのブラウザが、clip、ellipsisは対応しているが、文字列指定、2個指定は未対応のようです。
【W3Cのtext-overflow仕様書】
https://www.w3.org/TR/css-ui-3/#propdef-text-overflow
関連するCSS(STYLE) | |
---|---|
text-align | 横(水平)方向の文字位置 |
text-decoration | 文字の装飾線の表示 |
text-decoration-line | 文字の装飾線の位置を指定 |
text-decoration-style | 文字の装飾線の種類を指定 |
text-decoration-color | 文字の装飾線の色を指定 |
text-emphasis | 圏点スタイルをまとめて指定 |
text-emphasis-color | 圏点の色を指定 |
text-emphasis-position | 圏点の位置を指定 |
text-emphasis-style | 圏点の形を指定 |
text-indent | 1行目のインデント |
text-justify | 両端揃えの調節方法 |
text-shadow | 文字の影付け |
text-transform | 字形の変換 |
text-underline-position | 文字下線の位置を指定 |