搜索 | 用户支持

防范以用户支持为名的诈骗。我们绝对不会要求您拨打电话或发送短信,及提供任何个人信息。请使用“举报滥用”选项报告涉及违规的行为。

详细了解

IDENTICAL unordered lists, YET the displays are different.

  • 6 个回答
  • 1 人有此问题
  • 14 次查看
  • 最后回复者为 cor-el

more options

Latest Firefox This HTML sequence contains two IDENTICAL unordered lists, YET the displays are different. As you can see, the 1st display list is double spaced and the 2nd display list is single spaced. Why?

<!DOCTYPE HTML>
<html>
<head><meta charset="utf-8"></head>
<body>

​<ul>
<li>The Federal.</li>
​<li>The Federal.</li>
​<li>The Federal.</li>
</ul>

---------------------

<ul>
<li>The Federal.</li>
<li>The Federal.</li>
<li>The Federal.</li>
</ul>

</body>
</html>

Displays:

   The Federal.
   ​
   The Federal.
   ​
   The Federal.

   The Federal.
   The Federal.
   The Federal.
Latest Firefox This HTML sequence contains two IDENTICAL unordered lists, YET the displays are different. As you can see, the 1st display list is double spaced and the 2nd display list is single spaced. Why? <pre><nowiki> <!DOCTYPE HTML> <html> <head><meta charset="utf-8"></head> <body> ​<ul> <li>The Federal.</li> ​<li>The Federal.</li> ​<li>The Federal.</li> </ul> --------------------- <ul> <li>The Federal.</li> <li>The Federal.</li> <li>The Federal.</li> </ul> </body> </html> </nowiki></pre><br> Displays: The Federal. ​ The Federal. ​ The Federal. --------------------- The Federal. The Federal. The Federal.

由cor-el于修改

被采纳的解决方案

Those hidden spaces are present as red dots in the screenshot, so you can see that they are right before the <li> tags. I have no idea how/why they ended up in the first UL container as you would normally have to do some effort to get such Unicode characters in a document unless your editor has support. This is the first time I got across such special spaces. You can easily remove them by using cursor left starting with the LI tag until you notice that the cursor doesn't move because it passed the space and press the Delete key or use cursor right and backspace.

定位到答案原位置 👍 1

所有回复 (6)

more options

The source HTML I provided was interpreted: I meant to display the literal text HTML, so here's the HTML, but commented out so it would not be interpreted.

more options

If you inspect the code closely then you will notice that there are weird &amp#200b; zero-width-space characters present in your code that are rendered on a separate line.

&#0a;
&#200b;
&#3c;&#75;&#6c;&#3e;&#0a;
&#3c;&#6c;&#69;&#3e;&#54;&#68;&#65;&#20;
&#46;&#65;&#64;&#65;&#72;&#61;&#6c;&#2e;
&#3c;&#2f;&#6c;&#69;&#3e;&#0a;
&#200b;
&#3c;&#6c;&#69;&#3e;&#54;&#68;&#65;&#20;
&#46;&#65;&#64;&#65;&#72;&#61;&#6c;&#2e;
&#3c;&#2f;&#6c;&#69;&#3e;&#0a;
&#200b;
&#3c;&#6c;&#69;&#3e;&#54;&#68;&#65;&#20;
&#46;&#65;&#64;&#65;&#72;&#61;&#6c;&#2e;
&#3c;&#2f;&#6c;&#69;&#3e;&#0a;
&#3c;&#2f;&#75;&#6c;&#3e;

由cor-el于修改

more options

Thank you for your response. OK, so the mystery BEGINS. Where did the zero-width-space get inserted? And why only in the 1st sequence and not the 2nd?

Is there a work-around?

BTW, how did you inspect the code to reveal the character encoding?

more options

选择的解决方案

Those hidden spaces are present as red dots in the screenshot, so you can see that they are right before the <li> tags. I have no idea how/why they ended up in the first UL container as you would normally have to do some effort to get such Unicode characters in a document unless your editor has support. This is the first time I got across such special spaces. You can easily remove them by using cursor left starting with the LI tag until you notice that the cursor doesn't move because it passed the space and press the Delete key or use cursor right and backspace.

more options

Thank you very much for you help. I finally understand what happened, but not why. Following the removal technique you described, I have a way to recognize the problem and work around it. Thanks again.

more options

You're welcome