在他的博客序列Pride Flags中,Josh Comeau在制作动画骄傲的标志上做得很好。
- 他创造了良好的html
- 他添加了很酷的CSS梯度
- 他写作本地 javascript
- 然后,将骄傲旗放在DOM中, 用这条线破坏了这一切:
他只有三行 创建本机JavaScript web组件<pride-flag>
,它将在每个框架中,在每个现代浏览器中运行,不用! 任何依赖项
customElements.define("pride-flag", class extends HTMLElement {
connectedCallback(){
this.innerHTML = PrideFlag();
}
});
所有信用乔什,我对他的代码进行了一些重构,所以https://pride-flag.github.io提供了本机JavaScript Web组件<pride-flag>
来源:https://github.com/pride-flag/pride-flag.github.io
用:
扩展<pride-flag>
本身
customElements.define('pride-pan-flag',
class extends customElements.get('pride-flag') {
connectedCallback() {
super.connectedCallback([[331, 100, 55], [50, 100, 50], [200, 100, 55]]);
}
});
customElements.define('pride-trans-flag',
class extends customElements.get('pride-flag') {
connectedCallback() {
super.connectedCallback([[200, 85, 70], [350, 85, 85], [0, 0, 100], [350, 85, 85], [200, 85, 70]]);
}
});
增加了2个Web组件。
所有必需的html:
<script src="https://pride-flag.github.io/element.js"></script>
<style>
flags {display:grid; grid: 1fr/1fr 1fr 1fr; gap:1em}
</style>
<flags>
<pride-flag columns="10">
</pride-flag>
<pride-pan-flag columns="100" delay="20" billow="1">
</pride-pan-flag>
<pride-trans-flag columns="200" delay="20" speed="1700" billow="2">
</pride-trans-flag>
</flags>
创建:
标志配置器在:https://pride-flag.github.io