我正在使用WordPress构建一个网站,很多内容都在诗歌中。如果给定的一行诗断行,它应该缩进。显然,每一行经文都会中断,但由于内容需要响应,因此无法在任何给定的行中插入符号和间距。
我最初使用<br />
作为一节经文中的换行符,每节经文都在自己的<p>
内。但是,text-indent
仅适用于第一行文本。我确定的解决方案是创建一个这样的类:
.Verse {
padding-left: 2em;
text-indent: -2em;
margin: 0;
}
然后我将输入HTML作为
<p class="Verse">Verse Line 1
<p class="Verse">Verse Line 2
<p class="Verse">Verse Line 3
<p class="Verse">Verse Line 4</p>
<br />
<p class="Verse">Verse 2 Line 1...(etc)
在每节经文之后用额外的<br />
来处理0保证金。此解决方案显示正常,因此我希望我的搜索结束。但事实并非如此。
由于目前的因素是我的控制因素,我无法用<p>
分隔每一行。原因是我使用的插件允许访问者将任何给定页面导出为PDF,ePub或mobi,并且该插件似乎不会读取段落样式。因此,当它输出我上面所做的编码时,它会忽略margin 0;
,正如你所料,它会导致任何给定经文的每一行之间有大量的空白,而且不会区分经文。
那么我能做些什么才能让我用行之间的<br />
来编码
<p class="Verse">Verse Line 1
<br />Verse Line 2
<br />Verse Line 3
<br />Verse Line 4</p>
<p class="Verse">Verse 2 Line 1...(etc)
哪个允许插件执行导出以保持正确的行间距?由于<br />
不是一个元素,我无法使用它来控制样式,但我需要做一些事情来获得-2em的缩进来调整行并补偿填充。
我认为有可能创建一个text-indent
为-2em的跨度,并将其应用于<br />
之后的每一行的第一个单词,并让它在内联工作,无论文本是什么紧随其后......但我无法弄清楚如何做到这一点,即使它会。所以任何建议将不胜感激。谢谢!
(我已经在插件中试图找出我是否可以强制它采取段落格式化,并且还嵌入字体,就此而言,但我不知道Javascript并且不能制作任何字体感觉它,插件作者似乎没有回应请求)。
答案 0 :(得分:0)
好的,在发布该问题后,我确实找到了使用span风格的解决方案:
CSS
.Verse {
padding-left: 2em;
text-indent: -2em;
}
.vspace {
margin-left: -2em;
}
HTML
<p class="Verse">Verse Line 1
<br /><span style="vspace">Verse</span> Line 2
<br /><span style="vspace">Verse</span> Line 3
<br /><span style="vspace">Verse</span> Line 4</p>
<p class="Verse">Verse 2 Line 1...(etc)
这似乎有效。编写这样的代码有点痛苦,当我放的任何给定的部分可能有数百行诗句时,但至少它是有效的。
如果有人有更好或更精简的解决方案,我会对它们非常感兴趣!