提交 3b5ef9ab authored 作者: 王鹏飞's avatar 王鹏飞

chore: update

上级 8f7f036a
<script setup lang="ts">
import { useStore } from '@/composables/useStore'
const { visibleAppDownloadPopup } = useStore()
const closePopup = () => {
const store = useStore()
visibleAppDownloadPopup.value = false
}
</script>
<template>
<div class="app-download-popup" v-show="visibleAppDownloadPopup">
<div class="app-download-dialog">
<div class="app-download-close" @click="closePopup"><IconsIconClose /></div>
<div class="app-download-pic">
<img src="https://webapp-pub.ezijing.com/www/pc/next/app_screen.png" />
</div>
<div class="app-download-content">
<h2>探索数智世界<br /><span>数智学堂</span>开始!</h2>
<dl>
<dt><img src="https://webapp-pub.ezijing.com/www/pc/next/qrcode_app.png" alt="二维码" /></dt>
<dd>
<h3>扫码下载APP</h3>
<p>目前仅支持安卓系统安装,其他版本敬请期待</p>
</dd>
</dl>
</div>
</div>
</div>
</template>
<style scoped lang="scss">
.app-download-popup {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
display: flex;
justify-content: center;
align-items: center;
z-index: 1000;
.app-download-dialog {
position: relative;
width: 1000px;
height: 500px;
background: #ffffff;
box-shadow: 0px 0px 18px 1px rgba(0, 0, 0, 0.12);
border-radius: 12px 12px 12px 12px;
display: flex;
justify-content: center;
align-items: center;
background: #fff url(https://webapp-pub.ezijing.com/www/pc/next/app_download_bg.png) no-repeat;
background-size: 100% 100%;
}
.app-download-close {
position: absolute;
top: 30px;
right: 30px;
cursor: pointer;
}
.app-download-pic {
width: 340px;
img {
width: 100%;
}
}
.app-download-content {
margin-left: 76px;
h2 {
font-size: 36px;
font-weight: 600;
color: #333333;
span {
color: var(--main-color);
}
}
dl {
margin-top: 40px;
display: flex;
justify-content: center;
align-items: center;
dt {
width: 114px;
height: 114px;
img {
width: 100%;
height: 100%;
}
}
dd {
h3 {
font-size: 16px;
font-weight: 400;
color: #333333;
}
p {
margin-top: 10px;
font-size: 12px;
color: #6c6c6c;
}
}
}
}
}
</style>
...@@ -4,6 +4,7 @@ const { locale } = useI18n() ...@@ -4,6 +4,7 @@ const { locale } = useI18n()
const items = [ const items = [
{ {
name: '院校客户', name: '院校客户',
href: '/#school',
items: [ items: [
{ {
name: 'AI教学基础层', name: 'AI教学基础层',
...@@ -29,6 +30,7 @@ const items = [ ...@@ -29,6 +30,7 @@ const items = [
}, },
{ {
name: '个人客户', name: '个人客户',
href: '/#personal',
items: [ items: [
{ {
name: '国际留学', name: '国际留学',
...@@ -51,6 +53,7 @@ const items = [ ...@@ -51,6 +53,7 @@ const items = [
{ {
name: '政企客户', name: '政企客户',
href: '/#enterprise',
items: [ items: [
{ {
name: '教育部', name: '教育部',
......
<script setup> <script setup>
import { Search } from '@element-plus/icons-vue' import { Search } from '@element-plus/icons-vue'
import IconPhone from './icons/IconPhone.vue' import IconPhone from './icons/IconPhone.vue'
import { useStore } from '@/composables/useStore'
const { visibleAppDownloadPopup } = useStore()
const { locale, setLocale } = useI18n() const { locale, setLocale } = useI18n()
const runtimeConfig = useRuntimeConfig() const runtimeConfig = useRuntimeConfig()
const showDownloadPopup = () => {
visibleAppDownloadPopup.value = true
}
const navList = [ const navList = [
{ {
name: '院校客户', name: '院校客户',
...@@ -49,7 +55,7 @@ const navList = [ ...@@ -49,7 +55,7 @@ const navList = [
{ name: 'AI+专业改造', href: '/solution/ai' }, { name: 'AI+专业改造', href: '/solution/ai' },
{ name: '新双高建设', href: '/solution/new-double-high' }, { name: '新双高建设', href: '/solution/new-double-high' },
{ name: '应用型本科', href: '/solution/applied-undergraduate' }, { name: '应用型本科', href: '/solution/applied-undergraduate' },
{ name: '产教融合实训基地', href: '/digital/base' }, { name: '产教融合实训基地', href: '/solution/base' },
{ name: '国赛/省赛/行业赛', href: '/competition' }, { name: '国赛/省赛/行业赛', href: '/competition' },
{ name: '国际合作', href: '/solution/international' }, { name: '国际合作', href: '/solution/international' },
], ],
...@@ -229,7 +235,7 @@ const navList = [ ...@@ -229,7 +235,7 @@ const navList = [
{ name: '联系我们', href: '/about/contact' }, { name: '联系我们', href: '/about/contact' },
], ],
}, },
{ name: '下载APP' }, { name: '下载APP', onClick: showDownloadPopup },
] ]
const searchKeyword = ref('') const searchKeyword = ref('')
...@@ -285,7 +291,8 @@ const handleSearch = () => { ...@@ -285,7 +291,8 @@ const handleSearch = () => {
v-for="item in navList" v-for="item in navList"
:key="item.name" :key="item.name"
:class="{ 'nav-item': true, 'is-position-relative': !item.isFull }"> :class="{ 'nav-item': true, 'is-position-relative': !item.isFull }">
<NuxtLink :to="item.path" class="nav-link">{{ item.name }}</NuxtLink> <NuxtLink :to="item.path" class="nav-link" v-if="!item.onClick">{{ item.name }}</NuxtLink>
<a href="javascript:;" class="nav-link" @click="item.onClick" v-else>{{ item.name }}</a>
<template v-if="item.items"> <template v-if="item.items">
<div class="nav-item-full-box" v-if="item.isFull"> <div class="nav-item-full-box" v-if="item.isFull">
<div class="nav-item-full-box-inner"> <div class="nav-item-full-box-inner">
...@@ -447,6 +454,7 @@ const handleSearch = () => { ...@@ -447,6 +454,7 @@ const handleSearch = () => {
} }
.register-btn:hover { .register-btn:hover {
color: #fff;
background: rgba(255, 255, 255, 0.1); background: rgba(255, 255, 255, 0.1);
} }
......
...@@ -63,11 +63,8 @@ ...@@ -63,11 +63,8 @@
width="150px" /> width="150px" />
</div> </div>
</li> </li>
<li> <li @click="showDownloadPopup">
<div class="text">APP</div> <div class="text">APP</div>
<div class="hover">
<img src="https://webapp-pub.ezijing.com/www/pc/next/qrcode_app.png" width="150px" />
</div>
</li> </li>
<li> <li>
<div class="text">小程序</div> <div class="text">小程序</div>
...@@ -92,7 +89,12 @@ ...@@ -92,7 +89,12 @@
<script setup> <script setup>
import { sendCode, checkCode, postNes } from '@/api/index' import { sendCode, checkCode, postNes } from '@/api/index'
import { useStore } from '@/composables/useStore'
const { visibleAppDownloadPopup } = useStore()
const showDownloadPopup = () => {
visibleAppDownloadPopup.value = true
}
const MOBILE_REG = /^1(3[0-9]|4[01456879]|5[0-35-9]|6[2567]|7[0-8]|8[0-9]|9[0-35-9])\d{8}$/ const MOBILE_REG = /^1(3[0-9]|4[01456879]|5[0-35-9]|6[2567]|7[0-8]|8[0-9]|9[0-35-9])\d{8}$/
const { t } = useI18n() const { t } = useI18n()
...@@ -175,7 +177,7 @@ watch( ...@@ -175,7 +177,7 @@ watch(
formInfo.projectId = '1012' formInfo.projectId = '1012'
} }
}, },
{ immediate: true } { immediate: true },
) )
const submitEnroll = async () => { const submitEnroll = async () => {
......
...@@ -23,7 +23,7 @@ const menuGroups = [ ...@@ -23,7 +23,7 @@ const menuGroups = [
{ {
name: '数智经济<br/>产教融合基地', name: '数智经济<br/>产教融合基地',
iconName: 'economy', iconName: 'economy',
path: '/digital/base', path: '/solution/base',
}, },
{ {
name: '数字教材', name: '数字教材',
......
...@@ -55,7 +55,7 @@ const rows = [ ...@@ -55,7 +55,7 @@ const rows = [
}, },
{ {
icon: 6, icon: 6,
items: [{ name: '产教融合实训基地', href: '/digital/base' }], items: [{ name: '产教融合实训基地', href: '/solution/base' }],
}, },
{ {
icon: 7, icon: 7,
......
<script setup lang="ts">
const props = defineProps({
size: { type: [Number, String], default: 32 },
color: { type: String, default: '#707070' },
bg: { type: String, default: '#ededed' },
strokeWidth: { type: [Number, String], default: 2 },
})
</script>
<template>
<svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 32 32" role="img">
<circle :fill="bg" cx="16" cy="16" r="16" />
<line :stroke="color" stroke-linecap="round" :stroke-width="strokeWidth" x1="10" y1="10" x2="22" y2="22" />
<line :stroke="color" stroke-linecap="round" :stroke-width="strokeWidth" x1="22" y1="10" x2="10" y2="22" />
</svg>
</template>
const store = reactive({
visibleAppDownloadPopup: false,
});
export const useStore = () => {
return toRefs(store);
}
\ No newline at end of file
...@@ -4,5 +4,6 @@ ...@@ -4,5 +4,6 @@
<slot /> <slot />
<AppFooter /> <AppFooter />
<AppRightAside /> <AppRightAside />
<AppDownloadPopup />
</div> </div>
</template> </template>
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
</div> </div>
<div class="card-bd"> <div class="card-bd">
<div class="news-content"> <div class="news-content">
<img src="https://webapp-pub.ezijing.com/hr/images/news.png?v=2" alt="" style="width: 600px" /> <img src="https://webapp-pub.ezijing.com/hr/images/news.png?v=2" style="width: 600px" />
<div class="right-content"> <div class="right-content">
<ul> <ul>
<span class="AppLink" @click="showQrDialog = true" <span class="AppLink" @click="showQrDialog = true"
......
...@@ -227,7 +227,7 @@ const tabList = [ ...@@ -227,7 +227,7 @@ const tabList = [
</dl> </dl>
</template> </template>
<template v-if="tabIndex === 1"> <template v-if="tabIndex === 1">
<img src="https://webapp-pub.ezijing.com/www/pc/next/ai/jxzy_2.png" alt="" /> <img src="https://webapp-pub.ezijing.com/www/pc/next/ai/jxzy_2.png" />
</template> </template>
</div> </div>
</div> </div>
...@@ -249,8 +249,8 @@ const tabList = [ ...@@ -249,8 +249,8 @@ const tabList = [
产品自研,技术实力雄厚:清控紫荆教育坚持产品自研,技术实力十分雄厚。公司拥有一支30余人的技术研发团队,经过近10年持续自主研发沉淀,技术愈发精湛。团队成员由30余位来自哈佛、哥伦比亚、清华、北大等国际一流大学的人才组成,是国际化的专业团队,且40%以上员工具有研究生及研究生以上学历,高学历人才占比高,为技术研发提供了坚实的人才支撑。此外,公司还持有多项由中华人民共和国国家版权局颁发的计算机软件著作权登记证书,彰显出强大的自主创新与技术成果转化能力。 产品自研,技术实力雄厚:清控紫荆教育坚持产品自研,技术实力十分雄厚。公司拥有一支30余人的技术研发团队,经过近10年持续自主研发沉淀,技术愈发精湛。团队成员由30余位来自哈佛、哥伦比亚、清华、北大等国际一流大学的人才组成,是国际化的专业团队,且40%以上员工具有研究生及研究生以上学历,高学历人才占比高,为技术研发提供了坚实的人才支撑。此外,公司还持有多项由中华人民共和国国家版权局颁发的计算机软件著作权登记证书,彰显出强大的自主创新与技术成果转化能力。
</p> </p>
<div class="bz-pics"> <div class="bz-pics">
<img src="https://webapp-pub.ezijing.com/www/pc/next/ai/fwbz_1.png" alt="" width="278" /> <img src="https://webapp-pub.ezijing.com/www/pc/next/ai/fwbz_1.png" width="278" />
<img src="https://webapp-pub.ezijing.com/www/pc/next/ai/fwbz_2.png" alt="" width="962" /> <img src="https://webapp-pub.ezijing.com/www/pc/next/ai/fwbz_2.png" width="962" />
</div> </div>
</div> </div>
</section> </section>
...@@ -301,7 +301,9 @@ const tabList = [ ...@@ -301,7 +301,9 @@ const tabList = [
line-height: 1; line-height: 1;
} }
h2 { h2 {
font-family: Source Han Sans CN, Source Han Sans CN; font-family:
Source Han Sans CN,
Source Han Sans CN;
font-weight: 500; font-weight: 500;
font-size: 24px; font-size: 24px;
color: #ffffff; color: #ffffff;
...@@ -373,7 +375,9 @@ const tabList = [ ...@@ -373,7 +375,9 @@ const tabList = [
} }
} }
.jx-desc { .jx-desc {
font-family: Source Han Sans CN, Source Han Sans CN; font-family:
Source Han Sans CN,
Source Han Sans CN;
font-weight: 400; font-weight: 400;
font-size: 16px; font-size: 16px;
line-height: 24px; line-height: 24px;
...@@ -389,14 +393,18 @@ const tabList = [ ...@@ -389,14 +393,18 @@ const tabList = [
border-radius: 12px; border-radius: 12px;
h2 { h2 {
padding: 50px 0 20px; padding: 50px 0 20px;
font-family: Source Han Sans CN, Source Han Sans CN; font-family:
Source Han Sans CN,
Source Han Sans CN;
font-weight: bold; font-weight: bold;
font-size: 22px; font-size: 22px;
text-align: center; text-align: center;
} }
h3 { h3 {
padding-bottom: 20px; padding-bottom: 20px;
font-family: Source Han Sans CN, Source Han Sans CN; font-family:
Source Han Sans CN,
Source Han Sans CN;
font-weight: 400; font-weight: 400;
font-size: 18px; font-size: 18px;
text-align: center; text-align: center;
...@@ -411,7 +419,9 @@ const tabList = [ ...@@ -411,7 +419,9 @@ const tabList = [
gap: 14px; gap: 14px;
} }
dt { dt {
font-family: Source Han Sans CN, Source Han Sans CN; font-family:
Source Han Sans CN,
Source Han Sans CN;
font-weight: bold; font-weight: bold;
font-size: 30px; font-size: 30px;
color: #e3a7b8; color: #e3a7b8;
...@@ -419,7 +429,9 @@ const tabList = [ ...@@ -419,7 +429,9 @@ const tabList = [
} }
dd { dd {
h4 { h4 {
font-family: Source Han Sans CN, Source Han Sans CN; font-family:
Source Han Sans CN,
Source Han Sans CN;
font-weight: 500; font-weight: 500;
font-size: 18px; font-size: 18px;
line-height: 1; line-height: 1;
...@@ -466,7 +478,9 @@ const tabList = [ ...@@ -466,7 +478,9 @@ const tabList = [
} }
} }
.bz-desc { .bz-desc {
font-family: Source Han Sans CN, Source Han Sans CN; font-family:
Source Han Sans CN,
Source Han Sans CN;
font-weight: 400; font-weight: 400;
font-size: 16px; font-size: 16px;
color: #333333; color: #333333;
...@@ -488,13 +502,17 @@ const tabList = [ ...@@ -488,13 +502,17 @@ const tabList = [
} }
} }
h3 { h3 {
font-family: Source Han Sans CN, Source Han Sans CN; font-family:
Source Han Sans CN,
Source Han Sans CN;
font-weight: bold; font-weight: bold;
font-size: 22px; font-size: 22px;
margin-bottom: 22px; margin-bottom: 22px;
} }
p { p {
font-family: Source Han Sans CN, Source Han Sans CN; font-family:
Source Han Sans CN,
Source Han Sans CN;
font-weight: 400; font-weight: 400;
font-size: 16px; font-size: 16px;
color: #333333; color: #333333;
...@@ -544,14 +562,18 @@ const tabList = [ ...@@ -544,14 +562,18 @@ const tabList = [
&-content { &-content {
h3 { h3 {
padding: 45px 0 30px; padding: 45px 0 30px;
font-family: Source Han Sans CN, Source Han Sans CN; font-family:
Source Han Sans CN,
Source Han Sans CN;
font-weight: 500; font-weight: 500;
font-size: 20px; font-size: 20px;
color: #ffffff; color: #ffffff;
line-height: 1; line-height: 1;
} }
p { p {
font-family: Source Han Sans CN, Source Han Sans CN; font-family:
Source Han Sans CN,
Source Han Sans CN;
font-weight: 400; font-weight: 400;
font-size: 16px; font-size: 16px;
color: #ffffff; color: #ffffff;
......
...@@ -88,7 +88,7 @@ const tabList = [ ...@@ -88,7 +88,7 @@ const tabList = [
</dl> </dl>
</template> </template>
<template v-if="tabIndex === 1"> <template v-if="tabIndex === 1">
<img src="https://webapp-pub.ezijing.com/www/pc/next/ai/jxzy_2.png" alt="" /> <img src="https://webapp-pub.ezijing.com/www/pc/next/ai/jxzy_2.png" />
</template> </template>
</div> </div>
</div> </div>
...@@ -147,7 +147,9 @@ const tabList = [ ...@@ -147,7 +147,9 @@ const tabList = [
line-height: 1; line-height: 1;
} }
h2 { h2 {
font-family: Source Han Sans CN, Source Han Sans CN; font-family:
Source Han Sans CN,
Source Han Sans CN;
font-weight: 500; font-weight: 500;
font-size: 24px; font-size: 24px;
color: #ffffff; color: #ffffff;
...@@ -167,7 +169,9 @@ const tabList = [ ...@@ -167,7 +169,9 @@ const tabList = [
} }
.jx-desc { .jx-desc {
font-family: Source Han Sans CN, Source Han Sans CN; font-family:
Source Han Sans CN,
Source Han Sans CN;
font-weight: 400; font-weight: 400;
font-size: 16px; font-size: 16px;
line-height: 24px; line-height: 24px;
...@@ -208,7 +212,9 @@ const tabList = [ ...@@ -208,7 +212,9 @@ const tabList = [
} }
} }
.bz-desc { .bz-desc {
font-family: Source Han Sans CN, Source Han Sans CN; font-family:
Source Han Sans CN,
Source Han Sans CN;
font-weight: 400; font-weight: 400;
font-size: 16px; font-size: 16px;
color: #333333; color: #333333;
...@@ -250,14 +256,18 @@ const tabList = [ ...@@ -250,14 +256,18 @@ const tabList = [
&-content { &-content {
h3 { h3 {
padding: 45px 0 30px; padding: 45px 0 30px;
font-family: Source Han Sans CN, Source Han Sans CN; font-family:
Source Han Sans CN,
Source Han Sans CN;
font-weight: 500; font-weight: 500;
font-size: 20px; font-size: 20px;
color: #ffffff; color: #ffffff;
line-height: 1; line-height: 1;
} }
p { p {
font-family: Source Han Sans CN, Source Han Sans CN; font-family:
Source Han Sans CN,
Source Han Sans CN;
font-weight: 400; font-weight: 400;
font-size: 16px; font-size: 16px;
color: #ffffff; color: #ffffff;
......
差异被折叠。
差异被折叠。
...@@ -96,6 +96,7 @@ const tabList = ref([ ...@@ -96,6 +96,7 @@ const tabList = ref([
'自动生成“痛点+信任+利益点+逼单”的标准化带货脚本;', '自动生成“痛点+信任+利益点+逼单”的标准化带货脚本;',
'支持根据商品属性(美妆/食品/数码)自动调整语言风格。', '支持根据商品属性(美妆/食品/数码)自动调整语言风格。',
], ],
img: 'https://webapp-pub.ezijing.com/www/pc/next/platform/new-business-studies/6/tab1.png',
}, },
{ {
title: '数字人配置(Avatar)', title: '数字人配置(Avatar)',
...@@ -106,6 +107,7 @@ const tabList = ref([ ...@@ -106,6 +107,7 @@ const tabList = ref([
'支持“文本驱动”与“音频驱动”两种模式,口型匹配精准;', '支持“文本驱动”与“音频驱动”两种模式,口型匹配精准;',
'内置 50+ 种情绪动作(点赞、比心、挥手),提升直播间互动感。', '内置 50+ 种情绪动作(点赞、比心、挥手),提升直播间互动感。',
], ],
img: 'https://webapp-pub.ezijing.com/www/pc/next/platform/new-business-studies/6/tab2.png',
}, },
{ {
title: '直播推流(OBS)', title: '直播推流(OBS)',
...@@ -116,6 +118,7 @@ const tabList = ref([ ...@@ -116,6 +118,7 @@ const tabList = ref([
'支持虚拟摄像头技术,将 AI 数字人画面无缝推流至各大平台;', '支持虚拟摄像头技术,将 AI 数字人画面无缝推流至各大平台;',
'模拟真实网络波动环境,训练学生处理卡顿、断流等突发状况。', '模拟真实网络波动环境,训练学生处理卡顿、断流等突发状况。',
], ],
img: 'https://webapp-pub.ezijing.com/www/pc/next/platform/new-business-studies/6/tab3.png',
}, },
{ {
title: '数据复盘(Data)', title: '数据复盘(Data)',
...@@ -126,6 +129,7 @@ const tabList = ref([ ...@@ -126,6 +129,7 @@ const tabList = ref([
'通过流量漏斗模型,分析“曝光-进入-停留-互动-转化”各环节流失率;', '通过流量漏斗模型,分析“曝光-进入-停留-互动-转化”各环节流失率;',
'自动生成复盘报告,提供优化建议(如:调整开播时间、优化商品顺序)。', '自动生成复盘报告,提供优化建议(如:调整开播时间、优化商品顺序)。',
], ],
img: 'https://webapp-pub.ezijing.com/www/pc/next/platform/new-business-studies/6/tab4.png',
}, },
]) ])
...@@ -241,7 +245,6 @@ const jfalList = ref([ ...@@ -241,7 +245,6 @@ const jfalList = ref([
</li> </li>
</ul> </ul>
</div> </div>
<h3 class="section-subtitle">案例资源示例</h3>
<div class="tab"> <div class="tab">
<ul class="tab-header"> <ul class="tab-header">
<li <li
...@@ -252,9 +255,18 @@ const jfalList = ref([ ...@@ -252,9 +255,18 @@ const jfalList = ref([
{{ item.title }} {{ item.title }}
</li> </li>
</ul> </ul>
<ul class="tab-body" v-for="(item, index) in tabList" :key="index" v-show="index === tabActive"> <div class="tab-body" v-for="(item, index) in tabList" :key="index" v-show="index === tabActive">
<li v-for="item in item.children" :key="item"><img :src="item" /></li> <div class="tab-body-pic">
</ul> <img :src="item.img" :alt="item.title" />
</div>
<div class="tab-body-content">
<span>{{ item.tag }}</span>
<h4>{{ item.title }}</h4>
<ul>
<li v-for="subItem in item.items" :key="subItem">{{ subItem }}</li>
</ul>
</div>
</div>
</div> </div>
<h2 class="section-title">实验室配套服务</h2> <h2 class="section-title">实验室配套服务</h2>
<h3 class="section-subtitle">标准服务</h3> <h3 class="section-subtitle">标准服务</h3>
...@@ -631,7 +643,7 @@ const jfalList = ref([ ...@@ -631,7 +643,7 @@ const jfalList = ref([
} }
.tab { .tab {
display: flex; display: flex;
margin-bottom: 70px; margin: 60px 0 90px;
} }
.tab-header { .tab-header {
margin-right: 38px; margin-right: 38px;
...@@ -664,6 +676,69 @@ const jfalList = ref([ ...@@ -664,6 +676,69 @@ const jfalList = ref([
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-evenly; justify-content: space-evenly;
background-color: var(--main-color); background-color: #fff;
box-shadow: 0px 0px 8px 1px rgba(0, 0, 0, 0.1);
&-pic {
position: relative;
margin: 0 90px;
width: 130px;
height: 240px;
img {
position: relative;
max-width: 100%;
height: auto;
z-index: 10;
}
&::before {
z-index: 1;
content: '';
position: absolute;
left: 10px;
top: 10px;
width: 130px;
height: 240px;
background: #ededed;
border-radius: 12px;
}
}
&-content {
flex: 1;
display: flex;
flex-direction: column;
span {
width: 70px;
height: 30px;
font-size: 12px;
line-height: 30px;
text-align: center;
color: var(--main-color);
background: #f8e9ed;
border-radius: 8px 8px 8px 8px;
}
h4 {
margin: 20px 0 40px;
font-weight: bold;
font-size: 22px;
}
li {
position: relative;
font-size: 16px;
color: #333333;
line-height: 36px;
padding-left: 20px;
&::after {
content: '';
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
width: 8px;
height: 8px;
background-color: var(--main-color);
border-radius: 50%;
}
}
}
} }
</style> </style>
差异被折叠。
差异被折叠。
差异被折叠。
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论