2017-10-20 23 views
1

我正在使用一个wordpress主题,它具有页面标题和内容主体的字体类型选择。 我使用蒙特塞拉特标题和Open-Sans的身体。将字体类型应用于特定的html符号实体(™)

我有,我需要输入商标符号™/™

但在标题中的商标符号快到了作为一个完全不同的字体,看起来像Times New Roman字体的几个产品称号。

有没有办法将font-type应用于™商标html符号实体?在全球范围内?

我试图在标题中使用<sub>TM</sub>哪种作品,它不工作在任何地方,例如它不会在面包屑中工作。

+0

不,您不能在部分文本上使用CSS(除了特殊例外,如fe ':第一letter')。如果您希望能够将CSS格式应用于其中,您需要将其包装在自己的HTML元素中。 – CBroe

+0

蒙特塞拉特没有™的字形,所以浏览器_必须使用不同的字体来渲染它。 https://fonts.google.com/specimen/Montserrat如果你有另一个webfont,你希望显示的字符,而不必操纵HTML,那么你应该去一个解决方案,如https:// stackoverflow .com/questions/11395584/fallback-fonts-on-special-characters,并将包含该字形的字体添加到您的字体堆栈中。 – CBroe

+0

我明白了,那回答我猜的问题,谢谢.. –

回答

0

通常会为这些使用不同的标记,然后使用CSS来生成内容。例如,而不是

MyCompany&trade; 

您可以使用

MyCompany<i class="symbol symbol-tm" /> 

然后用CSS

i.symbol { 
    position: relative; 
    width: 1.5em; 
} 

i.symbol.symbol-tm:after { 
    display: inline; 
    content: "\2122"; 
    font-family: "Times New Roman"; 
} 
0

当然可以......但它不是真正的方便:

@font-face规则有一个unicode-range属性,您可以将其设置为以单个字符为目标:

c.onchange = e=> document.body.classList.toggle('amp');
@font-face { 
 
    font-family: 'Ampersand'; 
 
    src: local('Courier'); 
 
    unicode-range: U+26; 
 
} 
 

 
body.amp{ 
 
    font-family: Ampersand, cursive; 
 
    } 
 
body{ 
 
    font-family: cursive; 
 
    }
<span>lorem ipsum dolor sit amer &amp; some others</span> 
 
<input type="checkbox" id="c">

但正如我所说,这是不是真的很方便,因为你必须让你想要它应用于所有FONT-FAMILY声明的第一个字体...