span元素中的CSS多个空格

时间:2012-02-15 07:56:05

标签: html css jsp jstl whitespace

我有一个页面,我试图在浏览器上显示全名(firstName lastName)。

在我的JSP中,我有

<span>
    <c:if test="${someCondition1}">
        <c:out value="${firstName}">
    </c:if>
    <c:if test="${someCondition2}">
        <c:out value="${lastName}">
    </c:if>
</span>

现在span元素中有一些代码缩进空格。 问题是在Firefox中,代码空间不会折叠,而IE会折叠它们。

我也尝试使用各种CSS空白属性;普通,换行,-moz-pre-wrap等

但这似乎并不是出于某种原因。

此外,我可能无法使用white-space属性来修复此问题,因为我可以在firstName / lastName中包含多个空格,这些空格应该显示为例如。第一个名字可以是

"my    First   Name"

因此在span元素上使用CSS空格来折叠多个空格是错误的。

3 个答案:

答案 0 :(得分:2)

您可以使用&nbsp;

替换空格
firstName = firstName.replace(" ", "&nbsp;");

有了这个,你就不再需要你的CSS white-space了。

答案 1 :(得分:0)

Firefox 应该折叠空格,但如果没有,请尝试white-space-collapse: collapse;。这是一个CSS3属性,它明确地提供了您想要的行为。

编辑:等等,我很困惑。在什么情况下,在名称的各个部分之间使用多于1个空格是否合理?我不知道任何可以接受的人类语言。这是某种外星语吗?

答案 2 :(得分:0)

试试这个,

<span><c:out value="${someCondition1?firstName:''} ${someCondition2?lastName:''}"/></span>

让一切都在一条线上。