我有一个自定义字体,代码如下-
@font-face {
font-family: 'classylight';
url : 'some path';
font-weight:normal;
}
我想设置一些值专门为这个字体在网站上到处像字母间距,字间距,和其他风格。我想减少不必要的过程,并寻找attribute=style
属性。
我试过-
body [style="font-family:classylight"] {
letter-spacing:50px;
word-spacing:-20px;
}
不管用有人能帮忙吗?我只想使用CSS。如果在css中没有可能,请参考JavaScript,jquery。
PS -我不是在寻找答案,直接添加样式到身体的一部分,如
p {
font-family: classylight;
letter-spacing:50px;
word-spacing:-20px;
}
6条答案
按热度按时间vshtjzan1#
Unike文本颜色和大小,您不能使用
attribute=style
属性更改字母间距和单词间距。你应该在创建时通过改变笔宽来改变它们,或者你应该在css的主体中改变它们。huus2vyu2#
使用rem和em作为所有的字母间距、单词间距等。对于font-weight,这是因为初始声明覆盖了您自己的font-weight。
bvk5enib3#
你可能会发现这很有用,我猜。这是最常用的css文本属性
也关于你的问题“字体重量:粗体”不工作也许它被其他值覆盖,如< h1 >使文本已经巨大...
nx7onnlm4#
所以你不能在字体声明中使用
letter-spacing
。但是,您可以创建一个class
,它具有您想要的字母间距,然后将该类添加到HTML元素中。就像这样:至于
font-weight: normal
部分,您使用@font-face
规则所做的就是声明字体。它基本上是一个排序变量,然后在样式化HTML元素时引用它。字体的重量是其中的一部分。下面的代码片段应该会更清楚。我所做的是,我已经导入了2种样式的
Roboto
字体,第一种是常规粗细,又名400
,另一种是粗体粗细,又名700
。brqmpdu15#
font-feature-settings
属性允许控制OpenType字体中的高级排版功能。这些设置解决了我的情况:iyr7buue6#
JS方式:获取所有文本节点并应用类
1.我们首先选择所有文本节点。
1.然后我们循环遍历它们,并通过
getComputedStyle(textNode.parentNode)
检查它们的父元素的计算样式属性1.定义css类规则
您还可以添加其他属性值,如
font-style
或font-weight
,以进行更具体的过滤。