Css 如何设置元素中特定符号的样式?

Css 如何设置元素中特定符号的样式?,css,Css,在不改变HTML代码的情况下,是否可以在下面的HTML中使用粗体和红色的引号 <div class="client_message">&ldquo; Ankit &rdquo;</div> ”;安基特&rdquo; 基本上,我想有一些CSS的结果在相同的效果 “Ankit”,但这些引用必须用粗体 只有CSS才能做到这一点吗?你不能。CSS在选择非元素时的能力非常有限 最接近的CSS是,但这将选择&ldquo;A div.client_message:b

在不改变HTML代码的情况下,是否可以在下面的HTML中使用粗体和红色的引号

<div class="client_message">&ldquo; Ankit &rdquo;</div>
”;安基特&rdquo;
基本上,我想有一些CSS的结果在相同的效果 “Ankit”,但这些引用必须用粗体

只有CSS才能做到这一点吗?

你不能。CSS在选择非元素时的能力非常有限

最接近的CSS是,但这将选择
&ldquo;A

div.client_message:before {
    position: absolute;
    z-index: 2;
    overflow: visible;
    left: .0em;
    color: red;
    background-color: white;
    font-weight: bold;
    content: "“";
}
div.client_message:after {
    position: absolute;
    z-index: 2;
    overflow: visible;
    right: .0em;
    color: red;
    background-color: white;
    font-weight: bold;
    content: "”";
}
div.client_message {
    position: relative;
    display: inline;
    z-index: -1;
}

css有一个content属性和一个:before和:after选择器类,您可以使用它们来插入引号并设置其样式

注意旧IE版本低于9,不支持CSS内容属性

编辑您必须在CSS中进行一些修改,但您可以让它正常工作


编辑2我已经添加了背景色,这样HTML实体引号的尾部就不会通过新的重叠引号显示出来。唯一的问题是,如果文本占用多行,则结尾的引号将无法正确定位(您可以通过缩小JSFIDLE窗口的宽度来复制它)。

如果可以使用JavaScript,则可以将HTML更改为

<div><q>Ankit</q></div>

}引号需要“所有格”标点符号。在“[Css最终指南4][1]”第786-788页,Eric Meyer描述了“生成的引用”

使用引号,您可以定义任意多个嵌套级别的引号模式。例如,在英语中,一种常见的做法是以双引号开始,嵌套在第一个引号内的引号得到单引号。可以使用以下规则,使用“卷曲”引号重新创建此项:

quotation { color: forestgreen; display: block; }
quote { display: block; quotes: '\201C' '\201D' '\2018' '\2019'; }
quote::before, q::before { content: open-quote; }
quote::after, q::after { content: close-quote; }

<quotation>
<quote>
    In the beginning, there was nothing. 
    And God said:
    <q>
        Let there be light!
    </q>
  And <abbr>there&rsquo;s</abbr> some light, that’s [Mac keyb] good.
</quote>
The Holy Bible, Creation
</quotation>
quote{color:forestgreen;display:block;}
引号{显示:块;引号:'\201C'\201D'\2018'\2019';}
quote::before,q::before{content:open quote;}
quote::after,q::after{content:close quote;}
一开始,什么都没有。
上帝说:
让有光!
和。Meyer和Weyl©2018


(2)……不讨论作为书面语言引用的基础的块元素。收缩和引用,CSS技术字符串的重点往往忽视主流卷曲引用的发展。迈耶是一个重要的例外。

显然,我们可以完成比大多数人所意识到的多得多的事情,而不会在我们的集体知识库中受到几乎是照本宣科的忽视。顺便说一句,如果堆栈引号更清晰就好了

向前看,也许为了更好地覆盖我们的基础,CSS应该是这样的

quotation { color: forestgreen; display: block; }
quote { display: block; quotes: '\201C' '\201D' '\2018' '\2019'; }
quote::before, q::before { content: open-quote; }
quote::after, q::after { content: close-quote; }
quote { quotes: '\201C' '\201D'; }
blockquote { quotes: '"' '"' "'" "'" '"' '"'; } 
blockquote p::before { content: open-quote; } 
blockquote p::after { content: no-close-quote; }

谷歌发现许多人无法为简单的引语设计风格。仍在寻找收缩代码:即,根扩展所有格单右卷曲引号样式。当前DOM是否可以在不使用脚本的情况下处理单个右引号。。。这是什么把戏?

现在内容周围有两组引号,而且只有一组样式符合要求。@Quentin-使用定位属性,您可以通过将CSS添加的引号与标记中的引号重叠来正确显示。这听起来非常脆弱,甚至对不同系统上的不同字体没有丝毫抵抗力。有趣的想法。@Quentin-大多数浏览器的样式和位置规则都是一样的,主要的缺陷是它不能处理多行文本。添加到问题中的约束越困难,解决方案就越脆弱。css有一个content属性和一个:before和:after选择器类,您可以使用它们来插入和设置quotes@LastCoder-问题是如何设置内容中的引号(且不能更改),而不是如何添加更多内容。@Quentin:TIL应包括第一个字母之前或之后的标点符号(即Unicode中定义的“开放”(Ps)、“关闭”(Pe)、“首字母”(Pi)、“最终”(Pf)和“其他”(Po)标点符号类别中的字符)“.CSS肯定有它的陷阱。@Zeta-我已经说过了,这不是一个陷阱,它对于
::第一个字母
的设计目的来说非常有意义。问题是CSS没有为这个用例设计的任何东西。但是这也会对ankit进行相同的更改。但是我只想更改qoutes…如果它是语义正确的HTML(例如
ankit
),那么实现这一点非常容易。然而,这是你无法做到的,至少最后一个字母(第一个字母可以通过
.client\u message:first letter
)来解决。你可以做到,但这是一个丑陋的黑客,你将CSS创建的引号放置在已经存在的引号上,检查我的答案。为什么不简单地将引号括在
span
元素中并设置它们的样式?这比你可能需要的任何诡计(你需要的诡计)都要简单和强大得多。我在主机服务器上尝试过这一点,它一直有效,直到我重新发布,它在网站和我的发布者上破坏了标点符号。必须删除并与Meyer重新开始。也许css4和/或html6会有所改进?根据我的经验,您的建议(不完整)在Meyer,Css《最终指南4》第788页中得到了很好的扩展。如果您还没有副本,可以通过提供的链接下载。你的方法做得很好,可以为包含段落的引用启用无结束引用样式。。。blockquote{quotes:''''''';}blockquote p::在{content:open quote;}之前{blockquote p::在{content:no close quote;}之后
quotation { color: forestgreen; display: block; }
quote { display: block; quotes: '\201C' '\201D' '\2018' '\2019'; }
quote::before, q::before { content: open-quote; }
quote::after, q::after { content: close-quote; }

<quotation>
<quote>
    In the beginning, there was nothing. 
    And God said:
    <q>
        Let there be light!
    </q>
  And <abbr>there&rsquo;s</abbr> some light, that’s [Mac keyb] good.
</quote>
The Holy Bible, Creation
</quotation>
quotation { color: forestgreen; display: block; }
quote { display: block; quotes: '\201C' '\201D' '\2018' '\2019'; }
quote::before, q::before { content: open-quote; }
quote::after, q::after { content: close-quote; }
quote { quotes: '\201C' '\201D'; }
blockquote { quotes: '"' '"' "'" "'" '"' '"'; } 
blockquote p::before { content: open-quote; } 
blockquote p::after { content: no-close-quote; }