css设置每行中有不同数量的文字对齐方式

933 阅读1分钟

1.实现效果

image.png

让文字两端对齐,想着用text-align: justify;属性,结果失效了,最后找到原因是因为:text-align不会处理被打断的行和最后一行,我这里只有一行,也就是最后一行

2.代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
	<style>
		.box{
			width: 5em;
			background-color: #f5f5f5;
		}
		p{
			height: 30px;
			padding: 0 5px;
			margin: 0;
			line-height: 30px;
			/* 失效的原因:text-align不会处理被打断的行和最后一行 */
			text-align: justify;
		}
		.row{
			display: inline-block;
			width: 90%;
			font-size: 14px;
			color: #666666;
		}
		.row::after{
			content: '';
			display: inline-block;
			/* 让p元素变成两行 */
			padding-left: 100%;
		}
		.icon{
			vertical-align: top;
		}
	</style>
</head>
<body>
    <div class="box">
		<p><span class="row">喜欢</span><span class="icon">:</span></p>
		<p><span class="row">不喜欢</span><span class="icon">:</span></p>
		<p><span class="row">勉勉强强</span><span class="icon">:</span></p>
		<p><span class="row">一般般</span><span class="icon">:</span></p>
	</div>
</body>
</html>

3.答案引用