HTMLは、tableのtdコンテンツを固定長に表示しすぎ、余分な部分を省略記号で置き換える方法
この問題は、当社のテスト部門が測定したもので、テストの内容自体がBUGだと言っていますが、これもレイアウトに分類するのに良いテクニックを学びました.tdラベルの長すぎる内容をこのtdのwidthの長さだけに表示し、その後は省略符で代用します.
方法は次のとおりです.
この機能には、tableでstyleを設定する必要があるという前提があります.
table-layout: fixed;
このプロパティはtableの内部レイアウトを固定するサイズです.このときwidth属性でtdの長さを調節します.
次のように追加します.
属性の説明
このとき、省略記号になっても、内容が完全ではないものが出てくることに気づきます.
したがって,このときtdのtitle属性を用いて,title属性にコンテンツを表示内容として設定することで,カーソルがtdに留まる限りすべてのコンテンツを表示することができ,これが不十分であると感じられる.自分でmouseoverイベントを書いて、内容を全部表示させることも考えられますが、表示は自動改行で、改行しないと見苦しいスタイルになります.
so:改行にもtable-layout:fixed;
(IEブラウザ)の長い列の英語で自動的に戻ります
方法1:word-wrap:break-wordを同時に追加する.table{
table-layout:fixed;word-wrap:break-word;
}
方法2:
上記styleの.*冒頭はhtmlタグのclassが*のタグで、divはすべてのdivを指します.
例:NoNewlineとは、classがNoNewlineのラベルスタイルをwhite-space:nowrapに変更することを意味します.
jsでstyleを変更すればいいです.もちろん最後にmouseoutイベントを書いてmouseoverイベントをキャンセルします.
方法は次のとおりです.
この機能には、tableでstyleを設定する必要があるという前提があります.
table-layout: fixed;
このプロパティはtableの内部レイアウトを固定するサイズです.このときwidth属性でtdの長さを調節します.
次のように追加します.
属性の説明
white-space:nowrap;//
overflow:hidden;//
text-overflow: ellipsis;//
このとき、省略記号になっても、内容が完全ではないものが出てくることに気づきます.
したがって,このときtdのtitle属性を用いて,title属性にコンテンツを表示内容として設定することで,カーソルがtdに留まる限りすべてのコンテンツを表示することができ,これが不十分であると感じられる.自分でmouseoverイベントを書いて、内容を全部表示させることも考えられますが、表示は自動改行で、改行しないと見苦しいスタイルになります.
so:改行にもtable-layout:fixed;
(IEブラウザ)の長い列の英語で自動的に戻ります
方法1:word-wrap:break-wordを同時に追加する.table{
table-layout:fixed;word-wrap:break-word;
}
方法2:
<style type="text/css">
/* ,IE,Chrome ,FireFox ( )*/
.AutoNewline_break{
word-wrap:break-word; word-break:break-all;
}
.AutoNewline_normal{
word-wrap:break-word; word-break:normal;
}
/* ,IE,FireFox,Chrome */
.NoNewline{
white-space:nowrap
}
/* */
div {
background:red; word-wrap: break-word; word-break:break-all;
}
</style>
上記styleの.*冒頭はhtmlタグのclassが*のタグで、divはすべてのdivを指します.
例:NoNewlineとは、classがNoNewlineのラベルスタイルをwhite-space:nowrapに変更することを意味します.
jsでstyleを変更すればいいです.もちろん最後にmouseoutイベントを書いてmouseoverイベントをキャンセルします.