問題及場景:
當內容能一行顯示在盒子內時,文字居中對齊。
當內容過多換行后顯示在盒子內時,文字左對齊。
其實這種視覺上的需求還是蠻常見的。比如用於彈出提示框,當提示內容比較少時,內容居中顯示在彈出框,提示內容比較多時,內容居左對齊。但是其純CSS實現有點麻煩,一般就放掉這個需求,或者,使用JS實現。
解決方案:
效果如下

CSS實現代碼如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<style>
/*當文字為一行是,則P的寬度小於div的寬度,p標簽居中顯示在盒子內,文字也就居中了 ;當大於一行時,P的寬度和div的寬度是一致的 ,文字就居左對齊了*/
.content { width: 200px; border: 1px solid #ee2415; text-align: center ;padding: 2px 5px}
/*display: inline-block使P的寬度根據文字的寬度伸縮 */
.content p { text-align: left; display: inline-block }
</style>
<body>
<div class="content">
<p>內容只有一行居中</p>
</div>
<br>
<div class="content">
<p>內容多行左對齊,內容多行左對齊</p>
</div>
</body>
</html>

