html - 更正多段引号的 HTML

标签 html semantic-markup

我的文字是这样写的:

"Something something," he said. "Lorem ipsum dolor sit amet, ne natum elitr his, usu ex dictas everti, utamur reformidans ad vis. Eam dissentiet deterruisset an, vis cu nullam lobortis. Doming inimicus eu nec, laudem audire ceteros cu vis, et per eligendi splendide. Ne legere tacimates instructior qui. Te vis dicat iudico integre, ex est prima constituam consequuntur. Vix sanctus voluptaria ei, usu ornatus iracundia ne, nam nulla iudico no. Duo ei labores nusquam.

"In harum docendi fuisset vis. Meis constituam ea quo. Ei vim prima liber officiis. Ad modo tota augue est, fugit soleat blandit eos ex."

文本遵循多段引用的烦人排版规则:跨越一个段落的引用在每个内部段落的末尾没有结束引号,但在每个内部段落的开头有一个额外的结束引号. HTML5 不允许 <p>里面的元素<q>元素,但这种情况更糟:第二个引号甚至没有包括整个段落,所以即使它包括了(或者如果我使用了,比如说 <div class=quote> )未对齐的元素。

(当然,我可以只嵌入引号而不是使用 <q> ,但我正在寻找有关执行此操作的最佳方法的想法。)

最佳答案

先前的答案(重新定义 quotes: '\201c' '\201d' '\2018' '\2019';)有效,但它会覆盖用户的区域设置并强制使用美式引号。

相反,这是:

<style>
    q.continued::after { font-size: 0; }
</style>
…
<p>
    I replied, <q class="continued">Blah blah blah.</q>
</p>
<p>
    <q class="continued">And not only that!</q>
</p>
<p>
    <q>So there!</q>, and left the room.
</p>

产生:

I replied, ”Blah blah blah.

”And not only that

”So there!”, and left the room.

它应该可以与任何区域设置的引号字符一起正常工作。


请注意,display:none 会更好,但它不起作用。 浏览器(至少是 Chrome)注意到缺少结束引号并切换到以下段落的备用引号。

关于html - 更正多段引号的 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39443127/

相关文章:

javascript - HTML5 canvas 在基元(曲线,...)上禁用抗锯齿

html - Schema.org itemref - 将多个 SportEvents 链接到一个地方

html - 图片跳出div

xhtml - "On Page SEO"是什么意思?

css - 如何使用文本选择和箭头行为(如数字输入)进行语义输入

html - 对复选框和单选按钮进行分组的正确方法

html - 打破这些界限的语义正确方法是什么?

javascript - 显示/隐藏列表选择全部而不是单独选择

html - 使用响应式设计让一次句子在两行中出现的最佳方式是什么

javascript - 将 HTML 推送到网页(JS VS PHP)