q标签

0 阅读2分钟

q标签

前言

笔者最近阅读技术文章时,发现一篇文章提到了HTML的q标签,虽然是个基础的标签,但是以前工作当中确实没有使用过,所以今天就简单记录一下。

概述

HTML 引用标签 (<q>) 表示一个封闭的并且是短的行内引用的文本。这个标签是用来引用短的文本,所以请不要引入换行符; 对于长的文本的引用请使用<blockquote>替代。

备注: 大多数现代浏览器,会为 <q> 文本添加引号。旧浏览器可能需要使用 CSS 添加引号。IE、Edge 与 Firefox、Chrome 引号样式略有不同。

语法

特朗普说:<q>大而美法案是美国再次伟大的关键</q>

实际输出结果为:
特朗普说:大而美法案是美国再次伟大的关键

实际使用场景

在实际使用中,我们可以通过CSS设置q的样式及引号的样式,以便展现丰富的效果。

根据语言显示引号

可以通过lang属性,让q根据不同的语言显示不同的引号。

<div lang="fr"><q>Voici un paragraphe en français.</q></div>
<div lang="de"><q>Hier ist eine deutsche auszeit.</q></div>
<div lang="en"><q>Here is a passage in English.</q></div>
<div lang="zh"><q>这里是一段中文。</q></div>
<div lang="ru"><q>Это отрывок из русского языка.</q></div>
<div lang="ja"><q>こちらは日本語です。</q></div>

实际输出结果为:

QQ20250703-171447.png

用CSS设置引号样式

通过CSS设置q的样式及引号的样式,以便展现丰富的效果。q标签默认通过伪元素:before和:after添加引号:

q:before{
    content: open-quote;
}
q:after {
    content: close-quote;
}

所以我们可以通过设置伪元素的content属性,来改变引号的样式。下面的样式,将引号修改为中文引号:

q:before{
    content"“";
}
q:after {
    content"”";
}

更简单的,我们也可以使用CSS3的quotes属性设置引号的样式:

/* Keyword value */
q{
    quotes: none;

    /* <string> values */
    quotes"«" "»"/* 用一对字符串定义前后的引号*/
    quotes"«" "»" "‹" "›"/* 用于标签嵌套的情况 */

    /* Global values */
    quotes: inherit;
    quotes: initial;
    quotes: unset;   
}