使用 setAttribute (javascript) 设置 font-face/font-family
set font-face/font-family using setAttribute (javascript)
我正在使用 javascript 创建 div
并设置样式,如下所示:
var div = document.createElement("div");
div.setAttribute('style', 'box-shadow: 10px 10px 50px #888888; \
background-color: #ffb734; \
etc...
');
我必须这样做,因为我要从 chrome 扩展内容脚本中插入 div
。
如果我已将字体 myFont.ttf
下载到同一目录,如何更改字体?
这是我试过的方法:
var div = document.createElement("div");
div.setAttribute('style', 'box-shadow: 10px 10px 50px #888888; \
background-color: #ffb734; \
@font-face {\
font-family: '" + 'openSans' + "'; \
src: url('" + 'OpenSans-Semibold.ttf' + "') \
} \
');
但这会破坏 div
(它不再显示)
提前致谢!
p.s。制作 css 文件并将其包含在我的清单中是否是更好的方法?
您是否正在尝试构建用户可以更改的动态文本框?如果是这样,此答案将指导您创建一个
如果没有,那么这里有一些JS会修改一个div。您正在使用此代码 HTML 和 CSS 修改 HTML DOM。 https://jsfiddle.net/Dneilsen22/ohodgo7u/
HTML: 空 div
<div id="changeMe"></div>
JS
var changeMe = document.getElementById("changeMe");
changeMe.innerHTML = "You can style me too!";
document.getElementById("changeMe").style.font = "bold 40px serif";
字体应该在外部 css 文件中指定,是的,制作 css 文件并将其包含在清单中是更好的方法。
顺便说一句,使用 +
而不是 \
将字符串分成多行。后者是not preferred.
这意味着在该上下文中不允许 at-rules。
我正在使用 javascript 创建 div
并设置样式,如下所示:
var div = document.createElement("div");
div.setAttribute('style', 'box-shadow: 10px 10px 50px #888888; \
background-color: #ffb734; \
etc...
');
我必须这样做,因为我要从 chrome 扩展内容脚本中插入 div
。
如果我已将字体 myFont.ttf
下载到同一目录,如何更改字体?
这是我试过的方法:
var div = document.createElement("div");
div.setAttribute('style', 'box-shadow: 10px 10px 50px #888888; \
background-color: #ffb734; \
@font-face {\
font-family: '" + 'openSans' + "'; \
src: url('" + 'OpenSans-Semibold.ttf' + "') \
} \
');
但这会破坏 div
(它不再显示)
提前致谢!
p.s。制作 css 文件并将其包含在我的清单中是否是更好的方法?
您是否正在尝试构建用户可以更改的动态文本框?如果是这样,此答案将指导您创建一个
如果没有,那么这里有一些JS会修改一个div。您正在使用此代码 HTML 和 CSS 修改 HTML DOM。 https://jsfiddle.net/Dneilsen22/ohodgo7u/
HTML: 空 div
<div id="changeMe"></div>
JS
var changeMe = document.getElementById("changeMe");
changeMe.innerHTML = "You can style me too!";
document.getElementById("changeMe").style.font = "bold 40px serif";
字体应该在外部 css 文件中指定,是的,制作 css 文件并将其包含在清单中是更好的方法。
顺便说一句,使用 +
而不是 \
将字符串分成多行。后者是not preferred.
这意味着在该上下文中不允许 at-rules。