Jquery 使用contenteditable元素和iframe创建编辑器
我现在的问题是当我像这样在css中放置一个空格时。这条规则不起作用Jquery 使用contenteditable元素和iframe创建编辑器,jquery,css,iframe,Jquery,Css,Iframe,我现在的问题是当我像这样在css中放置一个空格时。这条规则不起作用 正文{ 背景色:红色; }在HTML中,空格是折叠的。为了在各种情况下正确显示空格(如从行首开始的空格),浏览器将使用非中断空格(字符代码160)替换常规空格(字符代码32)。这对于HTML很好,但是CSS不理解什么是不间断的空格。它被视为无效字符,整行或块被标记为无效(它被视为语法错误) 我该怎么办? 通过简单查找如何替换unicode间距字符,我们在StackOverflow上找到了这个答案,答案是@: 需要使用包含un
正文{
背景色:红色;
}
在HTML中,空格是折叠的。为了在各种情况下正确显示空格(如从行首开始的空格),浏览器将使用非中断空格(字符代码160)替换常规空格(字符代码32)。这对于HTML很好,但是CSS不理解什么是不间断的空格。它被视为无效字符,整行或块被标记为无效(它被视为语法错误)
我该怎么办?
通过简单查找如何替换unicode间距字符,我们在StackOverflow上找到了这个答案,答案是@:
需要使用包含unicode空格字符的正则表达式添加替换方法(在您的情况下,第一个\u00A0可以使用,但为什么不将它们全部包括在内以涵盖任何可能性,因为这是用户输入情况?)
str.replace(/[\u00A0\u1680\u180e\u2000-\u2009\u200a\u200b\u202f\u205f\u3000]/g',);
下面是一个JSFIDLE,其中有一个工作示例:根据我的经验,规则集非常灵活。看起来第一条是一条完整的线,第二条有两条线。简而言之,编辑器可能会将新行解释为单独的,而不是代码块的一部分。