使用RTF编辑器时,如何使博主插入<p>标记而不是<br>?


10

我不喜欢在Blogger中使用富文本格式编辑器时如何按Enter它插入<br >而不是<p>。有什么办法可以改变行为?还是至少有什么方法可以插入<p>而无需切换到HTML标签?

顺便说一下,我在draft中使用了Blogger。我尝试了旧的编辑器和新的编辑器。而使用Press "Enter" for line breaks代替Use <br /> tags则无济于事。

我还尝试了禁用Convert Line breaks,它被描述为:

如果选择“是”,则在“帖子编辑器”中输入的单次硬性返回将被<br />博客中的单个标签替换,而两次硬性返回将被两个标签(<br /><br />)替换。


一个丑陋的解决方法,但是如果您想摆脱双换行符,可以<br/>使用CSS规则(如br+br {display: none}​主题” >“ 编辑HTML”)隐藏第二个换行符,在其中您可以找到很多样式<head><b:skin><![CDATA[...
ccpizza

Answers:


10

此行为是不可配置的。当前编辑器,草稿编辑器和“旧”编辑器在应使用P标签时都使用BR和DIV标签的组合。

这是一个令人难以置信的决定,这是完全错误的。它解释了Blogger中段落呈现不一致的许多问题。也许它可以在IE中运行,但是在Chrome和Safari等Webkit浏览器中却无法始终如一地运行。

我认为最新的编辑器会插入两个连续的BR标签,而较旧的编辑器会插入一个DIV和一个BR。

如上所述,Microsoft的Windows Live Writer可以正确执行操作。MarsEdit for OS X的一致性不太强,我认为如果它以Blogger撰写的帖子开头,则会引起标签混乱。

我感到你很痛苦。


但是Live Writer可以编辑现有帖子吗?由于包括我在内的许多人都喜欢张贴文章,阅读和完善。
Gqqnbig

4

我刚刚发现,如果您立即发布包含p标签的博客帖子,而不是先切换到HTML标签,那么p标签会保留下来。

例:

<p>
Here is a body text<br />
that is wrapped in p-tags<br />
</p>
  1. 转到HTML视图。
  2. 输入上面的代码。
  3. 单击发布按钮。

如果您尝试查看HTML标签中的代码,则p标签将被div标签取代。



0

嗯,无法使用Blogger对其进行配置。

但是我意识到,这可以使用jQuery完成。

为此,您需要转到模板区域,然后单击“编辑HTML”。搜索/body。在此之上,插入<script src="http://code.jquery.com/jquery-1.10.1.min.js">然后插入<script></script>。您现在拥有的应该是:

some code
<script src='http://code.jquery.com/jquery-1.10.1.min.js'/>
<script>

This is where the jQuery calls will go.

</script>
&lt/body&gt;
some more code

正确的jQuery调用可以从此页面中找到,在这些示例中,他们给出了一个示例,询问您几乎想要做什么。此示例已复制到下面(从http://api.jquery.com/contents/

<div class="container">
  Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed
  do eiusmod tempor incididunt ut labore et dolore magna aliqua.
  <br><br>
  Ut enim ad minim veniam, quis nostrud exercitation ullamco
  laboris nisi ut aliquip ex ea commodo consequat.
  <br><br>
  Duis aute irure dolor in reprehenderit in voluptate velit
  esse cillum dolore eu fugiat nulla pariatur.
</div>

我们可以使用该.contents()方法来帮助将这块文本转换为三个格式良好的段落:

$( ".container" )
  .contents()
    .filter(function() {
      return this.nodeType === 3;
    })
      .wrap( "<p></p>" )
      .end()
    .filter( "br" )
    .remove();

当然,您需要对上述内容进行一些细微更改才能使其正常运行。但是,我会留给您找出答案。:-)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.