3 changed files with 200 additions and 21 deletions
@ -0,0 +1,143 @@ |
|||||
|
<template> |
||||
|
<div class="main"> |
||||
|
<div class="mainContent" v-for="article in 2"> |
||||
|
<a-badge-ribbon text="Hippies" color="black"> |
||||
|
<a-card hoverable> |
||||
|
<h2>操作系统的安装</h2> |
||||
|
<div class="tag-group"> |
||||
|
<a-tag color="#E6E6FA"> |
||||
|
<template #icon> |
||||
|
<RiLiLined /> |
||||
|
</template> |
||||
|
{{ mainStatistic.mainDate }} |
||||
|
</a-tag> |
||||
|
<a-tag color="#6495ED"> |
||||
|
<template #icon> |
||||
|
<YanJingLined /> |
||||
|
</template> |
||||
|
{{ mainStatistic.mainWatchCount }} |
||||
|
</a-tag> |
||||
|
<a-tag color="#B0C4DE"> |
||||
|
<template #icon> |
||||
|
<XieZiLined /> |
||||
|
</template> |
||||
|
字数≈{{ mainStatistic.mainWordCount }}字 |
||||
|
</a-tag> |
||||
|
<a-tag color="#20B2AA"> |
||||
|
<template #icon> |
||||
|
<YueDuLined /> |
||||
|
</template> |
||||
|
阅读时长≈{{ mainStatistic.mainReadCount }}分 |
||||
|
</a-tag> |
||||
|
</div> |
||||
|
<div class="blog-content"> |
||||
|
<div> |
||||
|
<a-image :preview="false" :width="200" |
||||
|
src="https://cdn.naccl.top/blog/blogHosting/2024/02/B01/f56c5bbe-469c-4eb7-a994-9281d6eed689.png" /> |
||||
|
</div> |
||||
|
<div class="text-container"> |
||||
|
这是内容 |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="read-button"> |
||||
|
<a-button type="primary" shape="round">阅读全文</a-button> |
||||
|
</div> |
||||
|
</a-card> |
||||
|
</a-badge-ribbon> |
||||
|
</div> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script setup lang='ts'> |
||||
|
import { reactive } from 'vue'; |
||||
|
const mainStatistic = reactive<{ mainDate: string, mainWatchCount: string, mainWordCount: string, mainReadCount: string }>({ |
||||
|
mainDate: "2024-06-11", |
||||
|
mainWatchCount: "9999", |
||||
|
mainWordCount: "9999", |
||||
|
mainReadCount: "9999" |
||||
|
}) |
||||
|
|
||||
|
</script> |
||||
|
|
||||
|
<style scoped> |
||||
|
.main { |
||||
|
|
||||
|
width: 45%; |
||||
|
margin: 0 24px; |
||||
|
} |
||||
|
|
||||
|
.main .mainContent { |
||||
|
margin-bottom: 24px; |
||||
|
} |
||||
|
|
||||
|
.main h2 { |
||||
|
text-align: center; |
||||
|
} |
||||
|
|
||||
|
.main .tag-group { |
||||
|
display: flex; |
||||
|
justify-content: center; |
||||
|
} |
||||
|
|
||||
|
.main .tag-group>* { |
||||
|
color: black; |
||||
|
margin: 0 12px; |
||||
|
} |
||||
|
|
||||
|
.main .blog-content { |
||||
|
display: flex; |
||||
|
margin: 48px; |
||||
|
} |
||||
|
|
||||
|
.main .blog-content>:nth-child(2) { |
||||
|
overflow: hidden; |
||||
|
text-overflow: ellipsis; |
||||
|
white-space: pre-wrap; |
||||
|
/* 防止文本换行 */ |
||||
|
} |
||||
|
|
||||
|
.main .read-button { |
||||
|
display: flex; |
||||
|
justify-content: center; |
||||
|
|
||||
|
} |
||||
|
|
||||
|
.main .read-button button { |
||||
|
color: #fff; |
||||
|
border: none; |
||||
|
cursor: pointer; |
||||
|
background-color: #007bff; |
||||
|
/* 初始背景颜色 */ |
||||
|
animation: colorChange 3s infinite alternate; |
||||
|
/* 添加颜色变化的动画 */ |
||||
|
} |
||||
|
|
||||
|
@keyframes colorChange { |
||||
|
0% { |
||||
|
background-color: #007bff; |
||||
|
/* 初始颜色 */ |
||||
|
} |
||||
|
|
||||
|
50% { |
||||
|
background-color: #ff7e5f; |
||||
|
/* 中间颜色 */ |
||||
|
} |
||||
|
|
||||
|
100% { |
||||
|
background-color: #feb47b; |
||||
|
/* 结束颜色 */ |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.main .text-container { |
||||
|
text-overflow: ellipsis; |
||||
|
display: -webkit-box; |
||||
|
-webkit-box-orient: vertical; |
||||
|
-webkit-line-clamp: 6; |
||||
|
word-wrap: break-word; |
||||
|
overflow-wrap: break-word; |
||||
|
line-height: 2; |
||||
|
margin-left: 24px; |
||||
|
|
||||
|
} |
||||
|
</style> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue