问题及场景:html
当内容能一行显示在盒子内时,文字居中对齐。spa
当内容过多换行后显示在盒子内时,文字左对齐。code
其实这种视觉上的需求仍是蛮常见的。好比用于弹出提示框,当提示内容比较少时,内容居中显示在弹出框,提示内容比较多时,内容居左对齐。可是其纯CSS实现有点麻烦,通常就放掉这个需求,或者,使用JS实现。htm
解决方案:blog
CSS实现代码以下:it
<!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>
效果以下class