H5遇到这样一个需求,一个标签,文字单行的时候要居中显示,为了看着好看,文字换行以后要靠左对齐显示。
这种单行,多行的变化靠一种样式打天下已经适应不了了。
简单的变通了下,思路是,文字外面多包裹一层div,让div在单行的时候自己居中,也就带着文字居中了,div里给文字居左的样式,当文字超过一行,div就会充满父标签,文字就会按照左对齐的方式显示了。上代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>单行居中 多行靠左</title> </head> <body> <div style="width: 300px; text-align: center; background-color: #da8ec5"> <div>我是处在中间的文字</div> </div> <p></p> <div style="width: 300px; text-align: center; background-color: #da8ec5"> <div>我是较多的文字,遇到需要换行的时候,按照上面的写法不足一行的文字也会被居中,这是个不好的体验</div> </div> <p></p> <div style="width: 300px; display: flex; justify-content: center; background-color: #da8ec5"> <div style="text-align: left">我是较多的文字,我的父亲是居中的,但我是靠左对齐的,这样不足一行的时候,我还是居中的,换行以后,我被撑满,靠左对齐就生效了。</div> </div> <p></p> </body> </html>