theme | background | class | highlighter | lineNumbers | info | drawings | transition | title | |
---|---|---|---|---|---|---|---|---|---|
seriph |
text-center |
shiki |
true |
## Slidev Starter Template
Presentation slides for developers.
Learn more at [Sli.dev](https://sli.dev)
|
|
slide-left |
Welcome to Slidev |
--- transition: fade-out layout: two-cols ---
String.fromCodePoint(0x1f600) // 😀
<template><div class="a">NVX</div></template>
<style>.a {color: #fff;background: #999;}</style>
NVX
<template><div class="b">NVX</div></template>
<style>.b {color: #999;background: #999;text-shadow: 1px 1px 1px #fff;}</style>
NVX
<template><div class="c">NVX</div></template>
<style>.c {color: #999;background: #999;text-shadow: 1px 1px 1px #fff, -1px -1px -1px #000;}</style>
NVX
const genCode = () => {
const emojiStart = 0x1f600
const emojiEnd = 0x1f64f
const code = Math.floor(Math.random() * (emojiEnd - emojiStart)) + emojiStart
return String.fromCodePoint(dode)
}
const code = genCode() // 得到一个随机的 emoji 表情
Math.random() 函数返回一个浮点数,伪随机数在范围从0 到小于1,也就是说,从 0(包括 0)往上,但是不包括 1(排除 1),然后您可以缩放到所需的范围。实现将初始种子选择到随机数生成算法;它不能被用户选择或重置。
Math.random() * (max - min) + min // max 最大值, min最小值
// emoji 边界为 1f600 -> 1f64f
Matn.random() * (0x1f64f - 0x1f600) + 0x1f600 // 得到一个随机小数
// emoji对应的unicode编码应为整数,所以向下取整
Math.floor(Math.random() * (0x1f64f - 0x1f600)) + 0x1f600
// 绘制椭圆阴影
<div class="shadow"></div>
<style>
.shadow {
width: 100px;
height: 50px;
border-radius: 50%;
background: rgba(0, 0, 0, .5);
// 添加阴影渐变动画
animation: shadow .6s alternate infinite ease-in-out;
}
@keyframes shadow {
0% { scale: 1.2; }
40% { opacity: .7; }
100% { scale: .5; opacity: .4; }
}
</style>