css实现一行文字居中,多行文字左对齐

问题及场景:

当内容能一行显示在盒子内时,文字居中对齐。

当内容过多换行后显示在盒子内时,文字左对齐。

其实这种视觉上的需求还是蛮常见的。比如用于弹出提示框,当提示内容比较少时,内容居中显示在弹出框,提示内容比较多时,内容居左对齐。但是其纯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>
复制代码

效果如下

 

 

posted @   weboey  阅读(17126)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示