使用jade的“漂亮”选项时,如何防止单个块中元素之间的空格?

时间:2015-07-01 01:03:09

标签: html node.js pug

总的来说,我喜欢漂亮的选择。我喜欢我的HTML可读,Array有帮助。但有时它会阻碍它。例如。

pretty

我希望看到的是:

x.do-not-care-about-spaces It can go either way here.

y.please-no-spaces These
y.please-no-spaces Should
y.please-no-spaces Touch

但我所看到的是

<x class="do-not-care-about-spaces">It can go either way here.</x>
<y class="please-no-spaces">These</y><y class="please-no-spaces">Should</y><y class="please-no-spaces">Touch</y>

我知道有几种方法可以解决这个问题(使用css,将html放在jade文件中),但是我希望这是一种jade-y方式。

编辑:使用示例代码而不是div更新了示例。我特别询问控制jade HTML输出中DOM节点之间的空间,而不是渲染网页上元素之间的可视空间。

2 个答案:

答案 0 :(得分:1)

github repo上有一个similar question,而essential comment是:

  

不,目前无法仅强制部分文档进入漂亮/正常模式。对此的一般建议是使用正常(非漂亮)模式,这正是默认的原因。您可以在实际需要格式化页面时使用= ' '(在其自己的行上)显式添加空格。

答案 1 :(得分:0)

<div>元素会占据整行,因此它也会被渲染出来。

我认为您需要的是 <span> 标签

span.no-space These
span.no-space Will
span.no-space Touch
<span class="no-space">These</span><span class="no-space">Will</span><span class="no-space">Touch</span>

BTW还有内联#[…]语法,如果你将标签放在一行中会更有意义

#[span.no-space These]#[span.no-space Will]#[span.no-space Touch]

请注意,此语法不会使div显示在一行中,但您仍然必须使用跨度。