1 回答

TA貢獻1757條經驗 獲得超8個贊
我不知道你為什么在選項 2 中說“用戶生成的 css”。它不會是用戶生成的 css。您將自己生成此 css。比這更好的是,您可以從自己的 API 調用字體,因此用戶與另一個用戶之間的 css 的唯一區別是您可以保護的一些參數。
@font-face 允許您在屬性中為字體指定任何名稱font-family
。您可以為您的字體系列創建名稱模式,并動態為您的元素提供這些字體名稱。
function changeFont() {
// dynamic number. Create your own logic to generate this number
const i = 123;
// put your API path to the dinamic font file. I'm using a demo font
const fontsource = "https://fonts.gstatic.com/s/robotoslab/v11/BngbUXZYTXPIvIBgJJSb6s3BzlRRfKOFbvjoa4Omb2Rm.ttf";
const style = document.createElement('style');
style.innerHTML = `
@font-face {
font-family: customfont${i};
src: url(${fontsource});
}
`;
document.head.appendChild(style);
const p = document.getElementById('text');
p.style.fontFamily = 'customfont' + i;
}
<p id="text">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</p>
<button onclick="changeFont()">Click me</button>
- 1 回答
- 0 關注
- 162 瀏覽
添加回答
舉報