aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/site/src/components/WelcomeItem.vue
diff options
context:
space:
mode:
author白咕咕 <67865300+baimianxiao@users.noreply.github.com>2023-11-07 01:28:02 +0800
committerGitHub <noreply@github.com>2023-11-07 01:28:02 +0800
commit477ea421a6ecd12645dd25b4d14fd1d67085f08f (patch)
treea81b072e65a0b7484b67c159f425b0c4c9834dfb /site/src/components/WelcomeItem.vue
parentf3bea281fbe19f5c8b4fae94b8832eee3ccfcf70 (diff)
downloadHydroRoll-477ea421a6ecd12645dd25b4d14fd1d67085f08f.tar.gz
HydroRoll-477ea421a6ecd12645dd25b4d14fd1d67085f08f.zip
倒计时组件 (#72)
* 部署官网框架 * 部署官网框架 * 部署官网框架 * 修改标题 * 初步完成左侧倒计时组件 * favicon --------- Co-authored-by: 白咕咕 <baiguguos@gmail.com>
Diffstat (limited to 'site/src/components/WelcomeItem.vue')
-rw-r--r--site/src/components/WelcomeItem.vue87
1 files changed, 87 insertions, 0 deletions
diff --git a/site/src/components/WelcomeItem.vue b/site/src/components/WelcomeItem.vue
new file mode 100644
index 0000000..6d7086a
--- /dev/null
+++ b/site/src/components/WelcomeItem.vue
@@ -0,0 +1,87 @@
+<template>
+ <div class="item">
+ <i>
+ <slot name="icon"></slot>
+ </i>
+ <div class="details">
+ <h3>
+ <slot name="heading"></slot>
+ </h3>
+ <slot></slot>
+ </div>
+ </div>
+</template>
+
+<style scoped>
+.item {
+ margin-top: 2rem;
+ display: flex;
+ position: relative;
+}
+
+.details {
+ flex: 1;
+ margin-left: 1rem;
+}
+
+i {
+ display: flex;
+ place-items: center;
+ place-content: center;
+ width: 32px;
+ height: 32px;
+
+ color: var(--color-text);
+}
+
+h3 {
+ font-size: 1.2rem;
+ font-weight: 500;
+ margin-bottom: 0.4rem;
+ color: var(--color-heading);
+}
+
+@media (min-width: 1024px) {
+ .item {
+ margin-top: 0;
+ padding: 0.4rem 0 1rem calc(var(--section-gap) / 2);
+ }
+
+ i {
+ top: calc(50% - 25px);
+ left: -26px;
+ position: absolute;
+ border: 1px solid var(--color-border);
+ background: var(--color-background);
+ border-radius: 8px;
+ width: 50px;
+ height: 50px;
+ }
+
+ .item:before {
+ content: ' ';
+ border-left: 1px solid var(--color-border);
+ position: absolute;
+ left: 0;
+ bottom: calc(50% + 25px);
+ height: calc(50% - 25px);
+ }
+
+ .item:after {
+ content: ' ';
+ border-left: 1px solid var(--color-border);
+ position: absolute;
+ left: 0;
+ top: calc(50% + 25px);
+ height: calc(50% - 25px);
+ }
+
+ .item:first-of-type:before {
+ display: none;
+ }
+
+ .item:last-of-type:after {
+ display: none;
+ }
+}
+</style>