2012-09-13 166 views
0

我认为html应该在内联标记(如<a>one</a><a>two</a>)之间制作空格,但它似乎只在这些标记之间存在行结束时才起作用。请看看我的示例:http://jsfiddle.net/pwF7f/保留标记之间的空格HTML

那么即使元素位于同一行上也可能有这个空白符?

+1

你的意思是你期望在'a'元素内的文本位之间看到一些空格吗?你需要插入一些你想看到的空间。 – Oded

回答

2

HTML不会在源代码中发现空格。你可以总是说:

<a>one</a> <a>two</a> 

,如果你想空白。

2

这不是一个空白但是尝试<a>one</a>&nbsp;<a>two</a>

<a>one</a>&nbsp; 
<a>two</a> 

如果你想有一个非打破空间

在我看来它比<a>one</a> <a>two</a>更灵活。

您可以创建例如像这样

<a>one</a>&nbsp;|&nbsp; 
<a>two</a>&nbsp;|&nbsp; 
<a>three</a>&nbsp;|&nbsp; 
<a>four</a> 

与此代码比较:

<a>one</a> | <a>two</a> | <a>three</a> | <a>four</a> |

在html中使用php echo时还存在其他问题。那么&nbsp;是必须的。

+0

好的谢谢,但是我正在寻找一些简单的东西,因为我不''想重写我的xslt文件:D,但它似乎我没有选择 – david

0

除了在元素之间放置空格或不打破空格外,还可以使用CSS创建水平间距,例如,通过在第一个元素上设置padding-right: 0.5em

还有就是为什么相邻的内联元素都被视为真正相邻的一个原因,他们之间没有任何空白:在这里你真的想有一些情况是,如ñ(应该呈现为在“第n”具体风格,而不是“第n”)。

这是一个旧的可访问性建议,在连续链接之间应该有一些非空白字符。这并不像它最初提供的那样必要,但是要制定一个很好的指导方针 - 当然,至少应该有一些空格。

+0

我也有这个想法,但对我来说这是不可能的,因为我的html是通过XSLT生成,并有它吨的链接,我需要有空间时,只有当两个链接并排 – david

+0

是的,使用CSS也是一种可能性,但是,当CSS是缺少它会得到错误。例如。在RSS或一些奇怪的或旧的浏览器和设备上。 – Derfder

+1

@david,你可以使用例如'a + a {padding-left:0.5em; }'只有当'a'元素前面有'a'元素时才添加左边的填充。 (相邻的兄弟选择器'+'适用于所有现代浏览器,甚至IE 7)。但我同意@Derfder最好在内容中有一个空格(或另一个分隔符) –