ホームページ > 記事 > ウェブフロントエンド > 幅に合わせて自動的に折り返す方法?_html/css_WEB-ITnose
<style> #list { width:200px; } #left { float:left; border:1px solid blue; } #right { float:right; word-break: break-all; word-wrap: break-word; /* 有一前提不能写死width属性 因为像#block那块的#right宽度很明显与上面的不一致了 */ border:1px solid red; } #block { margin-left:60px; } .c { clear:both; } </style> <div id="list"> <div> <div id="left">aaa</div> <div id="right">dddddddddddddddddddddddddddd</div> <div class="c"></div> </div> <div id="block"> <div id="left">aaa</div> <div id="right">dddddddddddddddddddddddddddd</div> <div class="c"></div> </div> </div>
#list {
width:200px;
}
由于你最外层已经限定了宽度。。。
#list {
width:200px;
}
由于你最外层已经限定了宽度。。。
所以没办法把外层撑开只能word-break
这个是外面的没关系,
现在需要效果是里面的left 与right两块并列一行显示
#list {
width:200px;
}
由于你最外层已经限定了宽度。。。
引用 1 楼 zsx841021 的回复:
#list {
width:200px;
}
由于你最外层已经限定了宽度。。。
所以没办法把外层撑开只能word-break
它已经是自适应了。。
那需要left 与right两块并列一行显示,需要怎么写法?
引用 2 楼 zsx841021 的回复:
引用 1 楼 zsx841021 的回复:
#list {
width:200px;
}
由于你最外层已经限定了宽度。。。
所以没办法把外层撑开只能word-break
它已经是自适应了。。
<!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"><head> <title></title> <style> #right,#left { float: left; border: 1px solid blue; word-break: break-all; word-wrap: break-word; } #right { border: 1px solid red; } #block { margin-left: 60px; } .c { clear: both; } </style></head><body> <div id="list"> <div> <div id="left"> aaa</div> <div id="right"> dddddddddddddddddddd</div> <div class="c"> </div> </div> <div id="block"> <div id="left"> aaa</div> <div id="right"> dddddddddddddddddddddddddddd</div> <div class="c"> </div> </div> </div></body></html>
不是这样子呐~
如果没外层限制
根本不需要用这个了
word-break: break-all;
word-wrap: break-word;
也就没有需要自动换行之说了
HTML code
b585974ae3b7dba3039af53a9593f9c4
383eb734b02b508089ba2d78eb4c6f68
93f0f5c25f18dab9d176bd4f6de5d30e
b2386ffb911b14667cb8f0f91ea547a7
不是这样子呐~
如果没外层限制
根本不需要用这个了
word-break: break-all;
word-wrap: break-word;
也就没有需要自动换行之说了
引用 6 楼 zsx841021 的回复:
HTML code
如果限制最外层宽度。。。里层在超过的时候会被自动换行的。。要不然就用JS。。外层的宽度根据里层的宽度再改变。。但总觉得还是不行。。这样的话就等于没有设置外层宽度了。。
这个是外面的没关系,
现在需要效果是里面的left 与right两块并列一行显示
引用 1 楼 zsx841021 的回复:
#list {
width:200px;
}
由于你最外层已经限定了宽度。。。
这个你给最外层加个背景色就看出来了。。。
b585974ae3b7dba3039af53a9593f9c4
383eb734b02b508089ba2d78eb4c6f68
93f0f5c25f18dab9d176bd4f6de5d30e
0f3eabac747cdf61a51589c5584ae6e8
b2386ffb911b14667cb8f0f91ea547a7无标题文档6e916e0f7d1e588d4f442bf645aedb2f
c9ccee2e6ea535a969eb3f532ad9fe89
.main{width:200px; font:12px/24px Arial, Helvetica, sans-serif; float:left; display:inline; margin:20px; background:#ccc; word-wrap: break-word; white-space: pre-wrap;}
531ac245ce3e4fe3d50054a55f265927
9c3bca370b5104690d9ef395f2c5f8d1
6c04bd5ca3fcae76e30b72ad730ca86d
a1151789e2e3a08efc84d2d79aaf73bddsafsdfasdf16b28748ea4df4d9c2150843fecfba68
36cc49f0c466276486e50c850b7e4956
73a6ac4ed44ffec12cee46588e518a5e
この問題は js で解決できますが、実際のアプリケーションには多くの層がある可能性があるため、多くの問題が発生します。
CSSを使って解決できればいいですね。この効果を実現するには、次のように #right width:100px; と記述するだけです。しかし、死ぬまで書くことはできません。
7階のci1699さんからの返信を引用:
そんなことないよ~
外側の制限がないなら
、これを使う必要は全くない
word-break:break- all;
word-wrap: Break -word;
自動的に行を折り返す必要はありません
6 階の zsx841021 からの返信を引用:
HTML コード
9e736a2c68689744d3812ed27e5bff6b 7bd4c018d47becd5848b0890ab1c3419
93f0f5c25f18dab9d176bd4f6de5d30e
この問題は完全に解決されました。
ポスターのアバターがとてもかわいいので、ポスターが解決策を明らかにし、そこから学ぶことができることを願っています...
構造を最適化しました。階層化を行わないと、問題は単純になります。
jsを利用して公開処理すればIEが固まることもありません。
投稿しました
ポスターのアバターがとてもかわいいので、ポスターが解決策を明らかにし、そこから学ぶことができることを願っています...