長い文字列 (DNA シーケンス) があります。空白文字は含まれていません。
例えば:
ACTGATCGAGCTGAAGCGCAGTGCGATGCTTCGATGATGCTGACGATGCTACGATGCGAGCATCTACGATCAGTCGATGTAGCTAGTAGCATGTAGTGA
html:textarea
このテキストを強制的に aまたはa でラップする CSS セレクターは何でしょうxul:textbox
か?
ブロック要素の場合:
<textarea style="width:100px; word-wrap:break-word;">
ACTGATCGAGCTGAAGCGCAGTGCGATGCTTCGATGATGCTGACGATGCTACGATGCGAGCATCTACGATCAGTC
</textarea>
インライン要素の場合:
<span style="width:100px; word-wrap:break-word; display:inline-block;">
ACTGATCGAGCTGAAGCGCAGTGCGATGCTTCGATGATGCTGACGATGCTACGATGCGAGCATCTACGATCAGTC
</span>
休憩を許可するポイントにゼロ幅スペースを配置します。ゼロ幅スペースは​
HTML形式です。例えば:
ACTGATCG​AGCTGAAG​CGCAGTGC​GATGCTTC​GATGATGC
私にとってこれはうまくいきます、
<td width="170px" style="word-wrap:break-word;">
<div style="width:140px;overflow:auto">
LONGTEXTGOESHERELONGDIVGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESLONGTEXTGOESHERELONGDIVLONGTEXTLONGTEXT
</div>
</td>
の代わりに、別の div 内で div を使用することもできますtd
。overflow:auto
Opera ブラウザと IE ブラウザの両方ですべてのテキストが表示されるため、を使用しました。
CSSでこれを行うことはできないと思います。代わりに、文字列に沿って通常の「単語の長さ」で、HTML ソフト ハイフンを挿入します。
ACTGATCG­AGCTGAAG­CGCAGTGC­GATGCTTC­GATGATGC­TGACGATG
これにより、行末にハイフンが表示されます。ハイフンは、必要な場合とそうでない場合があります。
注<textarea>
Firefox とは異なり、Safari は長い文字列を a でラップしているようです。
CSS メソッドを使用して、空白のない文字列を強制的にラップします。3 つの方法:
1) CSS の空白プロパティを使用します。ブラウザの不一致をカバーするには、いくつかの方法で宣言する必要があります。したがって、長い文字列をブロック レベルの要素 (div、pre、p など) に配置し、その要素に次の css を指定します。
some_block_level_tag {
white-space: pre; /* CSS 2.0 */
white-space: pre-wrap; /* CSS 2.1 */
white-space: pre-line; /* CSS 3.0 */
white-space: -pre-wrap; /* Opera 4-6 */
white-space: -o-pre-wrap; /* Opera 7 */
white-space: -moz-pre-wrap; /* Mozilla */
white-space: -hp-pre-wrap; /* HP Printers */
word-wrap: break-word; /* IE 5+ */
}
2) Compass の force-wrap mixin を使用します。
3)私もこれを調べていて、うまくいくと思います(ただし、ブラウザのサポートをより完全にテストする必要があります):
.break-me {
word-wrap: break-word;
overflow-wrap: break-word;
}
参考:ラッピング内容
CSS経由の私のやり方(特殊文字を挿入する適切な方法がない場合):
-ms-word-break: break-all;
word-break: break-all;
word-break: break-word;
-webkit-hyphens: auto;
-moz-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
ここにあるように: http://kenneth.io/blog/2012/03/04/word-wrapping-hypernation-using-css/ にいくつかの追加の調査があります。
word-wrap:break-word;
私のために働くためには、display
が に設定されblock
、幅が要素に設定されていることを確認する必要がありました。Safari では、p
タグwidth
が必要で、 で設定する必要がありましたex
。
<textarea style="width:100px; word-wrap:break-word;">
place your text here
</textarea>
PHP を使用している場合は、wordwrap 関数がうまく機能します: http://php.net/manual/en/function.wordwrap.php
CSS ソリューションword-wrap: break-word;
は、すべてのブラウザーで一貫しているようには見えません。
他のサーバー側言語にも同様の機能がありますが、手動で作成することもできます。
PHP の wordwrap 関数の仕組みは次のとおりです。
$string = "ACTGATCGAGCTGAAGCGCAGTGCGATGCTTCGATGATGCTGACGATGCTACGATGCGAGCATCTACGATCAGTCGATGTAGCTAGTAGCATGTAGTGA";
$wrappedstring = wordwrap($string,50,"<br>",true);
これにより、文字列が <br> タグで 50 文字でラップされます。「true」パラメータは、文字列を強制的にカットします。
テーブルのサイズが固定されていない場合、以下の行がうまくいきました:
style="width:110px; word-break: break-all;"