|
@@ -1,59 +1,122 @@
|
|
<template>
|
|
<template>
|
|
- <div class="max-w-screen-xl content my-0 mx-auto text-size-base overflow-hidden"
|
|
|
|
- :class="!detail ? 'flex flex-column justify-center items-center h-full' : ''">
|
|
|
|
|
|
+ <div
|
|
|
|
+ class="max-w-screen-xl content my-0 mx-auto text-size-base overflow-hidden"
|
|
|
|
+ :class="!detail ? 'flex flex-column justify-center items-center h-full' : ''"
|
|
|
|
+ >
|
|
<div v-if="detail">
|
|
<div v-if="detail">
|
|
<div class="breadcrumb my-[30px] pb-[20px] bb-1px_#EBEBEB" role="navigation">
|
|
<div class="breadcrumb my-[30px] pb-[20px] bb-1px_#EBEBEB" role="navigation">
|
|
<n-breadcrumb separator=">" v-if="breadcrumb">
|
|
<n-breadcrumb separator=">" v-if="breadcrumb">
|
|
<n-breadcrumb-item @click="$router.push('/')">{{ $t('home') }}</n-breadcrumb-item>
|
|
<n-breadcrumb-item @click="$router.push('/')">{{ $t('home') }}</n-breadcrumb-item>
|
|
<template v-for="(bread, index) in breadcrumb" :key="index">
|
|
<template v-for="(bread, index) in breadcrumb" :key="index">
|
|
- <n-breadcrumb-item @click="handleBreadcrumb(bread)"> {{ bread.title }}</n-breadcrumb-item>
|
|
|
|
|
|
+ <n-breadcrumb-item @click="handleBreadcrumb(bread)">
|
|
|
|
+ {{ bread.title }}</n-breadcrumb-item
|
|
|
|
+ >
|
|
</template>
|
|
</template>
|
|
</n-breadcrumb>
|
|
</n-breadcrumb>
|
|
</div>
|
|
</div>
|
|
<div v-if="currentCate">
|
|
<div v-if="currentCate">
|
|
- <n-h2 class="mb-10"> {{ currentCate.title }}</n-h2>
|
|
|
|
|
|
+ <n-h2 class="doc-title mb-10"> {{ currentCate.title }}</n-h2>
|
|
</div>
|
|
</div>
|
|
- <div class="w-full flex flex-row flex-nowrap">
|
|
|
|
- <div class="flex-basis-[240px] flex-grow-0 flex-shrink-0 br-1px_#EBEBEB overflow-hidden">
|
|
|
|
-
|
|
|
|
- <n-tree class="left-tree" v-model:selected-keys="selectedKeys" v-if="mainCategories" block-line
|
|
|
|
- :data="mainCategories.children" :default-expanded-keys="defaultExpandedKeys" :node-props="nodeProps"
|
|
|
|
- key-field="id" label-field="title" children-field="children" selectable>
|
|
|
|
|
|
+ <div class="waper-content w-full flex flex-row flex-nowrap">
|
|
|
|
+ <div
|
|
|
|
+ class="waper-menu flex-basis-[240px] flex-grow-0 flex-shrink-0 br-1px_#EBEBEB overflow-hidden"
|
|
|
|
+ :class="{ open: isOpenMuen }"
|
|
|
|
+ >
|
|
|
|
+ <div class="open-btn" @click="toggleOpen">
|
|
|
|
+ <svg
|
|
|
|
+ xmlns="http://www.w3.org/2000/svg"
|
|
|
|
+ xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
|
|
+ viewBox="0 0 512 512"
|
|
|
|
+ >
|
|
|
|
+ <path
|
|
|
|
+ fill="none"
|
|
|
|
+ stroke="currentColor"
|
|
|
|
+ stroke-linecap="round"
|
|
|
|
+ stroke-linejoin="round"
|
|
|
|
+ stroke-width="32"
|
|
|
|
+ d="M96 256h320"
|
|
|
|
+ ></path>
|
|
|
|
+ <path
|
|
|
|
+ fill="none"
|
|
|
|
+ stroke="currentColor"
|
|
|
|
+ stroke-linecap="round"
|
|
|
|
+ stroke-linejoin="round"
|
|
|
|
+ stroke-width="32"
|
|
|
|
+ d="M96 176h320"
|
|
|
|
+ ></path>
|
|
|
|
+ <path
|
|
|
|
+ fill="none"
|
|
|
|
+ stroke="currentColor"
|
|
|
|
+ stroke-linecap="round"
|
|
|
|
+ stroke-linejoin="round"
|
|
|
|
+ stroke-width="32"
|
|
|
|
+ d="M96 336h320"
|
|
|
|
+ ></path>
|
|
|
|
+ </svg>
|
|
|
|
+ </div>
|
|
|
|
+ <n-tree
|
|
|
|
+ class="left-tree"
|
|
|
|
+ v-model:selected-keys="selectedKeys"
|
|
|
|
+ v-if="mainCategories"
|
|
|
|
+ block-line
|
|
|
|
+ :data="mainCategories.children"
|
|
|
|
+ :default-expanded-keys="defaultExpandedKeys"
|
|
|
|
+ :node-props="nodeProps"
|
|
|
|
+ key-field="id"
|
|
|
|
+ label-field="title"
|
|
|
|
+ children-field="children"
|
|
|
|
+ selectable
|
|
|
|
+ >
|
|
<template #empty>
|
|
<template #empty>
|
|
<n-empty :description="$t('no_data')" />
|
|
<n-empty :description="$t('no_data')" />
|
|
</template>
|
|
</template>
|
|
</n-tree>
|
|
</n-tree>
|
|
-
|
|
|
|
</div>
|
|
</div>
|
|
- <div class="flex-1 pages w-[calc(100%-80px)] px-[40px] mb-[80px] overflow-hidden">
|
|
|
|
- <div class="bb-1px_#EBEBEB color-[#999999]">
|
|
|
|
|
|
+ <div class="infos flex-1 pages w-[calc(100%-80px)] px-[40px] mb-[80px] overflow-hidden">
|
|
|
|
+ <div class="box bb-1px_#EBEBEB color-[#999999]">
|
|
<n-h1 class="font-700"> {{ detail.title }}</n-h1>
|
|
<n-h1 class="font-700"> {{ detail.title }}</n-h1>
|
|
<span class="flex flex-row gap-col-6 pb-[15px]">
|
|
<span class="flex flex-row gap-col-6 pb-[15px]">
|
|
- <p>{{ $t('publish') }} {{ dayjs(detail.createTime).format('YYYY-MM-DD') }}</p>
|
|
|
|
|
|
+ <p class="time">
|
|
|
|
+ {{ $t('publish') }} {{ dayjs(detail.createTime).format('YYYY-MM-DD') }}
|
|
|
|
+ </p>
|
|
<!-- <p>{{ $t('read') }} ( {{ detail.readCount }} )</p> -->
|
|
<!-- <p>{{ $t('read') }} ( {{ detail.readCount }} )</p> -->
|
|
</span>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="w-full content-html" v-html="detail.content"></div>
|
|
<div class="w-full content-html" v-html="detail.content"></div>
|
|
- <div class="w-full flex justify-between pt-6 bt-1px_#EBEBEB color-[#999898]">
|
|
|
|
|
|
+ <div class="top-clt w-full flex justify-between pt-6 bt-1px_#EBEBEB color-[#999898]">
|
|
<div class="prev flex flex-col">
|
|
<div class="prev flex flex-col">
|
|
- <span class="flex-1 text-align-left" :class="{ articleNear: articleNear[0] }"
|
|
|
|
- @click="handleToArticle(articleNear[0])">
|
|
|
|
- {{ $t('prev_article') }} </span>
|
|
|
|
- <span class="flex-1 articleNear" v-if="articleNear[0]" @click="handleToArticle(articleNear[0])">
|
|
|
|
|
|
+ <span
|
|
|
|
+ class="flex-1 text-align-left"
|
|
|
|
+ :class="{ articleNear: articleNear[0] }"
|
|
|
|
+ @click="handleToArticle(articleNear[0])"
|
|
|
|
+ >
|
|
|
|
+ {{ $t('prev_article') }}
|
|
|
|
+ </span>
|
|
|
|
+ <span
|
|
|
|
+ class="flex-1 articleNear"
|
|
|
|
+ v-if="articleNear[0]"
|
|
|
|
+ @click="handleToArticle(articleNear[0])"
|
|
|
|
+ >
|
|
{{ articleNear[0].title }}
|
|
{{ articleNear[0].title }}
|
|
</span>
|
|
</span>
|
|
<span v-else>
|
|
<span v-else>
|
|
{{ $t('no_data') }}
|
|
{{ $t('no_data') }}
|
|
</span>
|
|
</span>
|
|
-
|
|
|
|
</div>
|
|
</div>
|
|
- <div class="next flex flex-col ">
|
|
|
|
- <span class="flex-1 text-align-right" :class="{ articleNear: articleNear[1] }"
|
|
|
|
- @click="handleToArticle(articleNear[1])">
|
|
|
|
|
|
+ <div class="next flex flex-col">
|
|
|
|
+ <span
|
|
|
|
+ class="flex-1 text-align-right"
|
|
|
|
+ :class="{ articleNear: articleNear[1] }"
|
|
|
|
+ @click="handleToArticle(articleNear[1])"
|
|
|
|
+ >
|
|
{{ $t('next_article') }}
|
|
{{ $t('next_article') }}
|
|
</span>
|
|
</span>
|
|
- <span class="flex-1 articleNear" v-if="articleNear[1]" @click="handleToArticle(articleNear[1])">
|
|
|
|
|
|
+ <span
|
|
|
|
+ class="flex-1 articleNear"
|
|
|
|
+ v-if="articleNear[1]"
|
|
|
|
+ @click="handleToArticle(articleNear[1])"
|
|
|
|
+ >
|
|
{{ articleNear[1].title }}
|
|
{{ articleNear[1].title }}
|
|
</span>
|
|
</span>
|
|
<span v-else>
|
|
<span v-else>
|
|
@@ -64,12 +127,17 @@
|
|
<n-back-top to=".pages" :visibility-height="800" />
|
|
<n-back-top to=".pages" :visibility-height="800" />
|
|
</div>
|
|
</div>
|
|
|
|
|
|
- <div class="flex-basis-[240px] flex-grow-0 flex-shrink-0 overflow-hidden">
|
|
|
|
|
|
+ <div class="desc-list flex-basis-[240px] flex-grow-0 flex-shrink-0 overflow-hidden">
|
|
<div class="min-h-[200px] bg-[#F5F9FF] b-r-[8px] p-[20px]">
|
|
<div class="min-h-[200px] bg-[#F5F9FF] b-r-[8px] p-[20px]">
|
|
<n-h4 class="font-600 ext-size-base">{{ $t('main_content') }}</n-h4>
|
|
<n-h4 class="font-600 ext-size-base">{{ $t('main_content') }}</n-h4>
|
|
<n-anchor :show-rail="false">
|
|
<n-anchor :show-rail="false">
|
|
- <n-anchor-link class="text-size-base color-[#999999]" v-for="(item, index) in mainContents" :key="index"
|
|
|
|
- :title="item.text" :href="`#my-section-${index + 1}`">
|
|
|
|
|
|
+ <n-anchor-link
|
|
|
|
+ class="text-size-base color-[#999999]"
|
|
|
|
+ v-for="(item, index) in mainContents"
|
|
|
|
+ :key="index"
|
|
|
|
+ :title="item.text"
|
|
|
|
+ :href="`#my-section-${index + 1}`"
|
|
|
|
+ >
|
|
</n-anchor-link>
|
|
</n-anchor-link>
|
|
</n-anchor>
|
|
</n-anchor>
|
|
</div>
|
|
</div>
|
|
@@ -77,7 +145,6 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div v-else>
|
|
<div v-else>
|
|
-
|
|
|
|
<n-empty :description="$t('no_article')">
|
|
<n-empty :description="$t('no_article')">
|
|
<template #extra>
|
|
<template #extra>
|
|
{{ $t('no_data_article') }},
|
|
{{ $t('no_data_article') }},
|
|
@@ -111,13 +178,32 @@ import {
|
|
// getArticlesByCateId,
|
|
// getArticlesByCateId,
|
|
getNearArticles,
|
|
getNearArticles,
|
|
} from '@/api'
|
|
} from '@/api'
|
|
-import { htmlToTree, createAnchorNames, dayjs, findNodeById, findBreadcrumbPath, type TreeNode } from '@/utils'
|
|
|
|
-import { NH1, NH2, NH4, NBackTop, NEmpty, NButton, NBreadcrumb, NBreadcrumbItem, NTree, NAnchor, NAnchorLink } from 'naive-ui'
|
|
|
|
|
|
+import {
|
|
|
|
+ htmlToTree,
|
|
|
|
+ createAnchorNames,
|
|
|
|
+ dayjs,
|
|
|
|
+ findNodeById,
|
|
|
|
+ findBreadcrumbPath,
|
|
|
|
+ type TreeNode,
|
|
|
|
+} from '@/utils'
|
|
|
|
+import {
|
|
|
|
+ NH1,
|
|
|
|
+ NH2,
|
|
|
|
+ NH4,
|
|
|
|
+ NBackTop,
|
|
|
|
+ NEmpty,
|
|
|
|
+ NButton,
|
|
|
|
+ NBreadcrumb,
|
|
|
|
+ NBreadcrumbItem,
|
|
|
|
+ NTree,
|
|
|
|
+ NAnchor,
|
|
|
|
+ NAnchorLink,
|
|
|
|
+} from 'naive-ui'
|
|
import type { TreeOption } from 'naive-ui'
|
|
import type { TreeOption } from 'naive-ui'
|
|
|
|
|
|
const route = useRoute()
|
|
const route = useRoute()
|
|
const router = useRouter()
|
|
const router = useRouter()
|
|
-const selectedKeys = ref([]);
|
|
|
|
|
|
+const selectedKeys = ref([])
|
|
const params = route.params as {
|
|
const params = route.params as {
|
|
id?: number
|
|
id?: number
|
|
}
|
|
}
|
|
@@ -129,7 +215,10 @@ const currentCate = ref<CategoryItem | undefined>()
|
|
const mainCategories = ref<CategoryItem[]>([])
|
|
const mainCategories = ref<CategoryItem[]>([])
|
|
const defaultExpandedKeys = ref<number[]>([])
|
|
const defaultExpandedKeys = ref<number[]>([])
|
|
const articleNear = ref<ArticleDetailType[]>([])
|
|
const articleNear = ref<ArticleDetailType[]>([])
|
|
-
|
|
|
|
|
|
+const isOpenMuen = ref<Boolean>(false)
|
|
|
|
+const toggleOpen = () => {
|
|
|
|
+ isOpenMuen.value = !isOpenMuen.value
|
|
|
|
+}
|
|
const nodeProps = ({ option }: { option: TreeOption }) => {
|
|
const nodeProps = ({ option }: { option: TreeOption }) => {
|
|
return {
|
|
return {
|
|
async onClick() {
|
|
async onClick() {
|
|
@@ -165,7 +254,6 @@ watchEffect(() => {
|
|
document.title = detail.value.title
|
|
document.title = detail.value.title
|
|
mainContents.value = htmlToTree(detail.value.content)
|
|
mainContents.value = htmlToTree(detail.value.content)
|
|
if (detail.value.categoryId) {
|
|
if (detail.value.categoryId) {
|
|
-
|
|
|
|
const res = await getCategoryTree(detail.value.categoryId)
|
|
const res = await getCategoryTree(detail.value.categoryId)
|
|
if (res.data) {
|
|
if (res.data) {
|
|
mainCategories.value = res.data as CategoryItem[]
|
|
mainCategories.value = res.data as CategoryItem[]
|
|
@@ -175,16 +263,21 @@ watchEffect(() => {
|
|
detail.value.categoryId,
|
|
detail.value.categoryId,
|
|
) as unknown as CategoryItem
|
|
) as unknown as CategoryItem
|
|
defaultExpandedKeys.value = [currentCate.value.parentId]
|
|
defaultExpandedKeys.value = [currentCate.value.parentId]
|
|
- const selectID = currentCate.value.parentId ? currentCate.value.id : currentCate.value.children[0].id
|
|
|
|
- selectedKeys.value = [selectID];
|
|
|
|
- breadcrumb.value = findBreadcrumbPath([mainCategories.value] as unknown as TreeNode[], detail.value.categoryId)
|
|
|
|
|
|
+ const selectID = currentCate.value.parentId
|
|
|
|
+ ? currentCate.value.id
|
|
|
|
+ : currentCate.value.children[0].id
|
|
|
|
+ selectedKeys.value = [selectID]
|
|
|
|
+ breadcrumb.value = findBreadcrumbPath(
|
|
|
|
+ [mainCategories.value] as unknown as TreeNode[],
|
|
|
|
+ detail.value.categoryId,
|
|
|
|
+ )
|
|
console.log('breadcrumb', [mainCategories.value], breadcrumb.value)
|
|
console.log('breadcrumb', [mainCategories.value], breadcrumb.value)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
})
|
|
})
|
|
- getNearArticles(+params.id).then(res => {
|
|
|
|
|
|
+ getNearArticles(+params.id).then((res) => {
|
|
if (res.data) {
|
|
if (res.data) {
|
|
articleNear.value = res.data
|
|
articleNear.value = res.data
|
|
}
|
|
}
|
|
@@ -206,7 +299,6 @@ const handleBreadcrumb = (bread: TreeNode) => {
|
|
location.reload()
|
|
location.reload()
|
|
}, 50)
|
|
}, 50)
|
|
}
|
|
}
|
|
-
|
|
|
|
</script>
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
<style lang="scss" scoped>
|
|
@@ -221,8 +313,8 @@ const handleBreadcrumb = (bread: TreeNode) => {
|
|
}
|
|
}
|
|
|
|
|
|
:deep(.n-back-top) {
|
|
:deep(.n-back-top) {
|
|
- position: absolute;
|
|
|
|
- bottom: 0;
|
|
|
|
|
|
+ // position: absolute;
|
|
|
|
+ // bottom: 0;
|
|
}
|
|
}
|
|
|
|
|
|
:deep(.left-tree) {
|
|
:deep(.left-tree) {
|
|
@@ -242,4 +334,232 @@ const handleBreadcrumb = (bread: TreeNode) => {
|
|
color: #5a5a5a;
|
|
color: #5a5a5a;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+.open-btn {
|
|
|
|
+ display: none;
|
|
|
|
+ svg {
|
|
|
|
+ width: 100%;
|
|
|
|
+ height: 100%;
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+[is-mobile] {
|
|
|
|
+ .breadcrumb {
|
|
|
|
+ height: 0.88rem;
|
|
|
|
+ padding: 0;
|
|
|
|
+ margin: 0;
|
|
|
|
+ display: flex;
|
|
|
|
+ align-items: center;
|
|
|
|
+ justify-content: flex-start;
|
|
|
|
+ padding: 0 0.5333rem;
|
|
|
|
+ overflow-x: auto;
|
|
|
|
+ :deep(.n-breadcrumb) {
|
|
|
|
+ ul {
|
|
|
|
+ display: flex;
|
|
|
|
+ align-items: center;
|
|
|
|
+ justify-content: flex-start;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ .doc-title {
|
|
|
|
+ font-weight: bold;
|
|
|
|
+ font-size: 0.3733rem;
|
|
|
|
+ color: #000000;
|
|
|
|
+ line-height: 0.44rem;
|
|
|
|
+ padding: 0.5333rem;
|
|
|
|
+ box-sizing: border-box;
|
|
|
|
+ margin: 0;
|
|
|
|
+ }
|
|
|
|
+ .content {
|
|
|
|
+ min-height: auto;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .waper-content {
|
|
|
|
+ display: block;
|
|
|
|
+ position: relative;
|
|
|
|
+ flex-direction: column;
|
|
|
|
+ :deep(.n-back-top) {
|
|
|
|
+ right: 0.1333rem !important;
|
|
|
|
+ width: 0.8rem !important;
|
|
|
|
+ height: 0.8rem !important;
|
|
|
|
+ padding: 0 !important;
|
|
|
|
+ min-width: auto !important;
|
|
|
|
+ .n-base-icon {
|
|
|
|
+ font-size: 0.5333rem !important;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ .waper-menu {
|
|
|
|
+ position: fixed;
|
|
|
|
+ left: 0;
|
|
|
|
+ top: 5.0667rem;
|
|
|
|
+ z-index: 1;
|
|
|
|
+ background: #fff;
|
|
|
|
+ width: 6.4rem;
|
|
|
|
+ height: 30%;
|
|
|
|
+ border-right: 1px #ebebeb solid;
|
|
|
|
+ border-top: 1px #ebebeb solid;
|
|
|
|
+ border-bottom: 1px #ebebeb solid;
|
|
|
|
+ overflow: visible;
|
|
|
|
+ transition: all 0.3s;
|
|
|
|
+ transform: translateX(-100%);
|
|
|
|
+ &.open {
|
|
|
|
+ transform: translateX(0);
|
|
|
|
+ }
|
|
|
|
+ :deep(.left-tree) {
|
|
|
|
+ // --n-node-content-height: 40px !important;
|
|
|
|
+ // //--n-node-color-hover: rgba(6,97,201,0.06) !important;
|
|
|
|
+ // //border-right: 1px solid #e5e7eb;
|
|
|
|
+
|
|
|
|
+ width: 100%;
|
|
|
|
+ height: 100%;
|
|
|
|
+ overflow-y: auto;
|
|
|
|
+ .n-tree-node-wrapper {
|
|
|
|
+ width: 100%;
|
|
|
|
+ padding: 0;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ .open-btn {
|
|
|
|
+ position: absolute;
|
|
|
|
+ right: calc(-0.8rem - 1px);
|
|
|
|
+ top: -1px;
|
|
|
|
+ width: 0.8rem;
|
|
|
|
+ height: 0.8533rem;
|
|
|
|
+ border-radius: 0px 0.1067rem 0.1067rem 0px;
|
|
|
|
+ border: 1px solid #ebebeb;
|
|
|
|
+ display: block;
|
|
|
|
+ background: #fff;
|
|
|
|
+ z-index: 2;
|
|
|
|
+ display: flex;
|
|
|
|
+ align-items: center;
|
|
|
|
+ justify-content: center;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ .infos {
|
|
|
|
+ width: 100%;
|
|
|
|
+ padding: 0 0.8rem;
|
|
|
|
+ box-sizing: border-box;
|
|
|
|
+ margin-bottom: 1.6rem;
|
|
|
|
+ .box {
|
|
|
|
+ font-weight: 500;
|
|
|
|
+ font-size: 0.5333rem;
|
|
|
|
+ color: #000000;
|
|
|
|
+ line-height: 0.8rem;
|
|
|
|
+ .time {
|
|
|
|
+ font-size: 0.2667rem;
|
|
|
|
+ color: #999999;
|
|
|
|
+ line-height: 0.3067rem;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ :deep(.content-html) {
|
|
|
|
+ padding: 0.8rem 0;
|
|
|
|
+ h1 {
|
|
|
|
+ font-weight: bold;
|
|
|
|
+ font-size: 0.4rem;
|
|
|
|
+ color: #000000;
|
|
|
|
+ line-height: 0.48rem;
|
|
|
|
+ margin: 0.2667rem 0;
|
|
|
|
+ }
|
|
|
|
+ h2 {
|
|
|
|
+ font-weight: bold;
|
|
|
|
+ font-size: 0.36rem;
|
|
|
|
+ color: #000000;
|
|
|
|
+ line-height: 0.48rem;
|
|
|
|
+ margin: 0.2667rem 0;
|
|
|
|
+ }
|
|
|
|
+ h3,
|
|
|
|
+ h4,
|
|
|
|
+ h5,
|
|
|
|
+ h6 {
|
|
|
|
+ margin: 0.2667rem 0;
|
|
|
|
+ font-weight: bold;
|
|
|
|
+ font-size: 0.32rem;
|
|
|
|
+ color: #000000;
|
|
|
|
+ line-height: 0.48rem;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ p {
|
|
|
|
+ font-weight: 400;
|
|
|
|
+ font-size: 0.32rem;
|
|
|
|
+ color: #000000;
|
|
|
|
+ line-height: 0.48rem;
|
|
|
|
+ }
|
|
|
|
+ video{
|
|
|
|
+ width: 100%;
|
|
|
|
+ height: auto;
|
|
|
|
+ }
|
|
|
|
+ img {
|
|
|
|
+ // width: auto;
|
|
|
|
+ // height: auto;
|
|
|
|
+ max-height: 100%;
|
|
|
|
+ max-width: 100%;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ .top-clt {
|
|
|
|
+ flex-direction: row;
|
|
|
|
+ justify-content: space-between;
|
|
|
|
+ padding-top: 0.8rem;
|
|
|
|
+ .prev {
|
|
|
|
+ font-size: 0.2667rem;
|
|
|
|
+ display: flex;
|
|
|
|
+ width: 45%;
|
|
|
|
+ justify-content: flex-start;
|
|
|
|
+ .articleNear {
|
|
|
|
+ width: 100%;
|
|
|
|
+ font-size: 0.32rem;
|
|
|
|
+ color: #999898;
|
|
|
|
+ line-height: 0.3733rem;
|
|
|
|
+ overflow: hidden;
|
|
|
|
+ white-space: nowrap;
|
|
|
|
+ text-overflow: ellipsis;
|
|
|
|
+ }
|
|
|
|
+ span {
|
|
|
|
+ font-size: 0.32rem;
|
|
|
|
+ color: #999898;
|
|
|
|
+ // line-height: 0.3733rem;
|
|
|
|
+ text-align: left;
|
|
|
|
+ width: 100%;
|
|
|
|
+ overflow: hidden;
|
|
|
|
+ white-space: nowrap;
|
|
|
|
+ text-overflow: ellipsis;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ .next {
|
|
|
|
+ font-size: 0.2667rem;
|
|
|
|
+ display: flex;
|
|
|
|
+ width: 45%;
|
|
|
|
+ justify-content: flex-end;
|
|
|
|
+ span {
|
|
|
|
+ font-size: 0.32rem;
|
|
|
|
+ color: #999898;
|
|
|
|
+ // line-height: 0.3733rem;
|
|
|
|
+ text-align: right;
|
|
|
|
+ width: 100%;
|
|
|
|
+ overflow: hidden;
|
|
|
|
+ white-space: nowrap;
|
|
|
|
+ text-overflow: ellipsis;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ .desc-list {
|
|
|
|
+ padding: 0 0.8rem 1.6rem;
|
|
|
|
+ > div {
|
|
|
|
+ padding: 0.8rem 0.4267rem;
|
|
|
|
+ min-height: auto;
|
|
|
|
+ .ext-size-base {
|
|
|
|
+ font-weight: bold;
|
|
|
|
+ font-size: 0.3733rem;
|
|
|
|
+ color: #000000;
|
|
|
|
+ line-height: 0.44rem;
|
|
|
|
+ }
|
|
|
|
+ .n-anchor {
|
|
|
|
+ font-weight: 400;
|
|
|
|
+ font-size: 0.32rem;
|
|
|
|
+ color: #333333;
|
|
|
|
+ line-height: 0.3733rem;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+}
|
|
</style>
|
|
</style>
|