例: 固定幅のブロックレベル要素で、幅が足りない場合にコンテンツの最後のフレーズが折り返されません。次の行に折り返すにはどうすればよいですか?
最初に質問をします。スクリーンショットは次のとおりです:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/> <meta name="renderer" content="webkit"/> <meta name="keywords" content=""/> <meta name="description" content=""/> <title>固定宽度文字换行</title> <link rel="stylesheet" href="css/main.css"/></head><body> <div class="demo"> <a href="#">测试</a> <a href="#">测试</a> <a href="#">测测试试</a> <a href="#">测试</a> <a href="#">测试</a> <a href="#">测测试试</a> <a href="#">测试</a> </div></body></html>
@charset "utf-8";@import "E:/zSass/_config.scss";@import "E:/zSass/_reset.scss";@import "E:/zSass/_common.scss";a { color:#00f;}.demo { overflow:hidden; width:100px; margin-top:50px; @include center-block(); padding:5px; border:1px solid #000; background-color:#aaa; font-family:SimSun; line-height:20px;}
幅が足りないために 1 行目と 2 行目が壊れていることがわかります。この問題を解決するには 2 つの方法があります。
方法 1: display:inline-block;
@charset "utf-8";@import "E:/zSass/_config.scss";@import "E:/zSass/_reset.scss";@import "E:/zSass/_common.scss";a { color:#00f;}.demo { overflow:hidden; width:100px; margin-top:50px; @include center-block(); padding:5px; border:1px solid #000; background-color:#aaa; font-family:SimSun; line-height:20px; a { @include inline-block(); }}
方法 2: float:left;空白:nowrap;
@charset "utf-8";@import "E:/zSass/_config.scss";@import "E:/zSass/_reset.scss";@import "E:/zSass/_common.scss";a { color:#00f;}.demo { overflow:hidden; width:100px; margin-top:50px; @include center-block(); padding:5px; border:1px solid #000; background-color:#aaa; font-family:SimSun; line-height:20px; a { @include float(); margin-right:5px; white-space:nowrap; }}
テストブラウザ: chrome/firefox/ie6-11