通过JS添加上标

时间:2015-08-13 19:55:20

标签: javascript jquery responsive-design superscript

我有一个场景,我需要为其中一个产品添加上标。假设它是abc9。我需要在abc和9之间标注R.

为此,我需要分词,并通过JS编号。我也希望只有当页面高度为800px时才显示。

1 个答案:

答案 0 :(得分:0)

为什么需要使用JavaScript?据我了解,这是一个内容/风格问题,所以HTML和CSS是你的朋友:

"正确"回答这里真的取决于上标字母与页面内容的关系。这封信是上标的事实是意思,还是只是文体?每个规则都有它的例外,但是当给出选择时,HTML应该是语义的,并且有一个HTML元素可能与此相关:

  

The HTML Superscript Element<sup>)定义了应该显示的文本范围,出于排版的原因,比文本的主要范围更高,通常更小。

如果您的上标表示某种含义,请使用<sup>元素。

如果它只是产品名称的程式化部分,那么使用CSS。对于使用CSS,有很多方法,但我个人使用相对定位,如下所示:

span.sup {
    position: relative;
    font-size: 0.6em;
    bottom: 0.5em;
}

有关不同上标方法的利弊的更深入讨论,请参阅Superscript in CSS only?

至于只为某些屏幕高度显示上标文本,您再次不需要JavaScript,实际上可以更轻松地使用CSS media queries

span.sup, sup {
    display: none;
}

@media (min-height: 800px) {
    span.sup, sup {
        display: inline;
    }
}

当浏览器视口的高度为&gt; = 800px时,媒体查询规则将启动并显示上标文本。

最终,用法只是将<sup><span class="sup">应用于字母&#34; R&#34;已经在标记中:

<p id="example">abc<span class="sup">R</span>9</p>