调整 html 中文本或单词之间的空格
Adjust spaces between text or words in html
我的问题是如何调整 html 中文本或单词之间的空格。我希望我的结果 2 “冒号”对齐可以调整同一行。
下面是我的示例代码:
<tr><td style="font-size:11px;">Name :</td></tr><br>
<tr><td style="font-size:11px;">Date <span style="word-spacing:80px;">:</span></td></tr>
现在我的结果对齐方式不能像这样:
我希望预期结果如下所示:
我试过用<p>
代替<span>
调整对齐,但是“冒号”会坏掉。希望有人能指导我如何解决这个问题。谢谢。
最简单的方法是将冒号放在
'text',而不是'title'的结尾。
/* Not relevant */
th {
font-weight: normal;
text-align: left;
}
<table>
<tr>
<th>Name</th>
<td> : John Doe</td>
</tr>
<tr>
<th>Date</th>
<td> : Nov. 24, 2021</td>
</tr>
<tr>
<th>Very long title</th>
<td> : Data</td>
</tr>
</table>
如果'text'为空时需要省略,可以使用CSS.
将冒号输出为td::before
/* This is relevant */
td:not(:empty)::before {
content: " : ";
}
/* Not relevant */
th {
font-weight: normal;
text-align: left;
}
<table>
<tr>
<th>Name</th>
<td>John Doe</td>
</tr>
<tr>
<th>Date</th>
<td>Nov. 24, 2021</td>
</tr>
<tr>
<th>Very long title</th>
<td></td>
</tr>
</table>
我在这里更新了您的示例代码,将 :
放在第二个 td
中
<body>
<table>
<tr>
<td>Full Name</td>
<td>: Abc def</td>
</tr>
<tr>
<td>Date</td>
<td>: 24-11-2021</td>
</tr>
</table>
</body>
由于冒号用于视觉分隔而不具有任何意义,因此我会考虑将其插入伪元素而不是实际插入 HTML。
此代码段将冒号放在后面的 td 之前,以确保冒号对齐。
td:nth-child(2)::before {
content: ':';
}
<table>
<tr>
<td style="font-size:11px;">Name </td>
<td></td>
</tr><br>
<tr>
<td style="font-size:11px;">Date</td>
<td></td>
</tr>
</table>
我遇到了类似的问题,我发现的唯一“hacky”方法是:
“将您的文本和分隔符(在本例中为 :
)放入包装器(如 <div>
)并对齐它们。
.cell {
display: flex;
justify-content: space-between;
width: 50px; /* just to see. you can use another value depending on your table styles */
}
<tr>
<td style="font-size:11px;">
<div class="cell">Name <span>:</span></div>
</td>
</tr>
<tr>
<td style="font-size:11px;">
<div class="cell">Date <span>:</span></div>
</td>
</tr>
此外,您的 table 行之间不需要 <br>
(<tr>
s)。
如果它是关于一个单词后跟 :,text-align-last:justify;
可以完成这项工作
td.adjust {
text-align-last: justify;
padding-inline-end:0.25rem;
}
<table>
<tr>
<td class="adjust">Name :</td>
<td>Name </td>
</tr><br>
<tr>
<td class="adjust">Date :</td>
<td>Today</td>
</tr>
</table>
我的问题是如何调整 html 中文本或单词之间的空格。我希望我的结果 2 “冒号”对齐可以调整同一行。
下面是我的示例代码:
<tr><td style="font-size:11px;">Name :</td></tr><br>
<tr><td style="font-size:11px;">Date <span style="word-spacing:80px;">:</span></td></tr>
现在我的结果对齐方式不能像这样:
我希望预期结果如下所示:
我试过用<p>
代替<span>
调整对齐,但是“冒号”会坏掉。希望有人能指导我如何解决这个问题。谢谢。
最简单的方法是将冒号放在 'text',而不是'title'的结尾。
/* Not relevant */
th {
font-weight: normal;
text-align: left;
}
<table>
<tr>
<th>Name</th>
<td> : John Doe</td>
</tr>
<tr>
<th>Date</th>
<td> : Nov. 24, 2021</td>
</tr>
<tr>
<th>Very long title</th>
<td> : Data</td>
</tr>
</table>
如果'text'为空时需要省略,可以使用CSS.
将冒号输出为td::before
/* This is relevant */
td:not(:empty)::before {
content: " : ";
}
/* Not relevant */
th {
font-weight: normal;
text-align: left;
}
<table>
<tr>
<th>Name</th>
<td>John Doe</td>
</tr>
<tr>
<th>Date</th>
<td>Nov. 24, 2021</td>
</tr>
<tr>
<th>Very long title</th>
<td></td>
</tr>
</table>
我在这里更新了您的示例代码,将 :
放在第二个 td
<body>
<table>
<tr>
<td>Full Name</td>
<td>: Abc def</td>
</tr>
<tr>
<td>Date</td>
<td>: 24-11-2021</td>
</tr>
</table>
</body>
由于冒号用于视觉分隔而不具有任何意义,因此我会考虑将其插入伪元素而不是实际插入 HTML。
此代码段将冒号放在后面的 td 之前,以确保冒号对齐。
td:nth-child(2)::before {
content: ':';
}
<table>
<tr>
<td style="font-size:11px;">Name </td>
<td></td>
</tr><br>
<tr>
<td style="font-size:11px;">Date</td>
<td></td>
</tr>
</table>
我遇到了类似的问题,我发现的唯一“hacky”方法是:
“将您的文本和分隔符(在本例中为 :
)放入包装器(如 <div>
)并对齐它们。
.cell {
display: flex;
justify-content: space-between;
width: 50px; /* just to see. you can use another value depending on your table styles */
}
<tr>
<td style="font-size:11px;">
<div class="cell">Name <span>:</span></div>
</td>
</tr>
<tr>
<td style="font-size:11px;">
<div class="cell">Date <span>:</span></div>
</td>
</tr>
此外,您的 table 行之间不需要 <br>
(<tr>
s)。
如果它是关于一个单词后跟 :,text-align-last:justify;
可以完成这项工作
td.adjust {
text-align-last: justify;
padding-inline-end:0.25rem;
}
<table>
<tr>
<td class="adjust">Name :</td>
<td>Name </td>
</tr><br>
<tr>
<td class="adjust">Date :</td>
<td>Today</td>
</tr>
</table>