【发布时间】:2020-05-01 17:14:50
【问题描述】:
我写了一个小HTML/CSS 代码,在Chrome 上显示以下图像
为什么 (⯇ 和 ⯇) 和 (┃ 和 ◆) 之间没有空格分隔符(请参阅yellow unicode)?
为什么,当<span class='char'> 中的所有<span> 都在同一行时,空格分隔符都是可见的(参见green unicode)?
区别仅与 HTML 代码在文件中的编写方式有关,没有别的! CSS 代码完全相同(仅更改了背景颜色)。
为了方便yellow案例的分析,我放了第三个颜色更多的块。
HTML/CSS 代码如下
body
{
font-family: Arial;
font-size:20px;
}
div.error span.char
{
font-size:40px;
background-color: yellow;
}
div.ok span.char
{
font-size:40px;
background-color: lightgreen;
}
div.color > span.char
{
font-size:40px;
background-color: orange;
}
div.color > span.char > span.bar
{
font-size:40px;
background-color: cyan;
}
div.color > span.char > span.triangle
{
font-size:40px;
background-color: lightgrey;
}
NO SPACE-SEPARATOR<br> between (⯇ ⯇) and between (┃◆)
<div class='error'>
<span class='char'>
<span class='bar'>┃</span>
<span class='triangle'>⯇</span>
</span>
<span class='char'>⯇</span>
<span class='char'>⯈</span>
<span class='char'>
<span class='triangle'>⯈</span>
<span class='bar'>┃</span>
</span>
<span class='char'>◆</span>
</div>
SPACE-SEPARATOR<br> between all <span class='char'>
<div class='ok'>
<span class='char'><span class='bar'>┃</span><span class='triangle'>⯇</span></span>
<span class='char'>⯇</span>
<span class='char'>⯈</span>
<span class='char'><span class='triangle'>⯈</span><span class='bar'>┃</span></span>
<span class='char'>◆</span>
</div>
NO SPACE-SEPARATOR with colors
<div class='color'>
<span class='char'>
<span class='bar'>┃</span>
<span class='triangle'>⯇</span>
</span>
<span class='char'>⯇</span>
<span class='char'>⯈</span>
<span class='char'>
<span class='triangle'>⯈</span>
<span class='bar'>┃</span>
</span>
<span class='char'>◆</span>
</div>
【问题讨论】:
-
黄色比绿色宽,这会挤出一些空间分隔符。