相关疑难解决方法(0)

防止浏览器将行之间的'\n'转换为空格(对于中文字符)

将换行符转换为空格对于英语是有意义的,例如,以下HTML

<p>
This is
a sentence.
</p>
Run Code Online (Sandbox Code Playgroud)

在浏览器中将换行符转换为空格后,我们得到以下内容:

This is a sentence.
Run Code Online (Sandbox Code Playgroud)

这对英语有好处,但对汉字不好,因为我们不使用空格来分隔中文单词.这是一个例子(中文句子的含义与"这是一个句子"相同):

<p>
??
????
</p>
Run Code Online (Sandbox Code Playgroud)

我在Chrome,Safari和IE上获得了以下结果

?? ????
Run Code Online (Sandbox Code Playgroud)

我想要的是以下,没有额外的空间.

??????
Run Code Online (Sandbox Code Playgroud)

如果当前行的最后一个字符和下一行的第一个字符都是中文字符(我认为更有意义),我不知道为什么浏览器不会忽略换行符.或者他们提供了这种机制但需要特殊处理?

顺便说一句,在Vim中,当使用"J"连接线时,如果2行的最后一个和第一个字符都是中文字符,则不会添加空格.但对于英语,将增加一个空间.所以我猜Vim为此做了一些特别的处理.

更新:

虽然我认为这是浏览器的一个问题,但我必须接受它.因此,目前我会在生成HTML之前预处理我的Markdown文本以加入中文行.以下是我在Ruby中做到这一点,完整的代码也可以用来处理中国标点符号是要点

#encoding: UTF-8

# Requires ruby 1.9.x, and assume using UTF-8 encoding

class String
  # The regular expression trick to match CJK characters comes from
  # http://stackoverflow.com/a/4681577/306935
  def join_chinese
    gsub(/(\p{Han})\n(\p{Han})/m, '\1\2')
  end
end
Run Code Online (Sandbox Code Playgroud)

html browser cjk

14
推荐指数
2
解决办法
2908
查看次数

如何删除内联元素之间的空格可见性?

假设我有几个内联块div标签,就像这样

<div class="image">

</div>
<div class="image">

</div>
Run Code Online (Sandbox Code Playgroud)

类图像只是将它们的大小设置为100x100和灰色背景颜色.它们的边距和边框设置为0,但两个矩形之间有间距.

但是,如果我写这样的HTML,那么:

<div class="image">

</div><div class="image">

</div>
Run Code Online (Sandbox Code Playgroud)

删除div之间的所有空格,间距消失.

因为我不想这样写我的HTML,所以我认为必须有一种方法可以使用CSS删除空格.只要它的可见性被删除,我不在乎是否删除,隐藏或缩小空格.

谢谢你的帮助


根据要求,JSFiddle:http://jsfiddle.net/6h3Jx/


用字间距更新:http://jsfiddle.net/6h3Jx/1/

html css whitespace inline block

5
推荐指数
1
解决办法
3740
查看次数

标签 统计

html ×2

block ×1

browser ×1

cjk ×1

css ×1

inline ×1

whitespace ×1