2

我真的不喜欢“智能引号”,原因很简单——当我复制包含它们的文本时,它不再具有""键入的原始文本,而是以 Unicode 符号结束。

智能引号是视觉上的改进,所以不应该真正“融入”文本,所以..我想知道,是否可以使用 CSS 显示智能引号?

基本上,文本将显示为..

This is an “example”

..但是查看源代码或复制和粘贴会显示:

This is an "example"
4

2 回答 2

3

从理论上讲, HTML 具有<q>解决该问题的元素。

不幸的是,在实践中,您要么根本没有复制引号(IE 不支持它,Gecko 不复制引号),要么复制了智能引号。

于 2009-07-06T19:35:41.863 回答
0

如果您使用 "s 来设置样式,font-style: italic它们似乎与智能引号非常相似,但我不确定您是否会更乐意用<em>and包围每个实例</em>

.magic-quotes {font-style: italic; }

<span class="magic-quotes">"</span>quoted-text<span class="magic-quotes">"</span>

或者,如果你使用:before:after伪类,

    .stuff-to-magic-quote:before
       {content: '"';
        font-style: italic; }

    .stuff-to-magic-quote:after
       {content: '"';
        font-style: italic; }

<span class="stuff-to-magic-quote">this text would be quoted</span>.

但是你不会在复制和粘贴中得到引号。

我认为您可能需要某种形式的 JS 来实现您想要的;自动设置引号样式,并允许以非魔法引用格式复制和粘贴它们。

编辑补充说我和你一样不喜欢魔术引号及其复制和粘贴问题。后来编辑修改了令人发指的<em>标签,并将它们改为<span>s。

...现在,我突然想到,也许您可​​以走得更远一些,但是可能打字太多而-真正的-奖励太少。

.original-quotes-open {margin: 0 -2em 0 0;
                       z-index: 0; }

.original-quotes-close {margin: 0 0 0 -2em;
                       z-index: 0; } /* the idea of the -2em and z-index is to position the original non-magic quotes behind the text, but not remove them from the document */

span.quoted-text {z-index: 2; /* or higher than the .original-quotes... classes */

span.quoted-text:before {content: "“"; }

span.quoted-text:after {content: "”"; }

<span class="original-quotes-open">"</span><span class="quoted-text">This text is quoted</span><span class="original-quotes-close">"</span>

但是,老实说,我并没有从额外的努力中看到积极的结果。

于 2009-07-06T19:10:57.827 回答