前端小练--社区主页

文章目录

  • 前言
  • 首页
    • 结构
    • 固定导航栏
      • 左侧导航item
      • item标志
    • 头部推荐
    • 文章展示ITEM实现
      • ToolTip
      • 完整实现
  • 首页完整实现

前言

废话不多说,直接看到效果:
请添加图片描述
是的也许你已经发现了这个页面和某个网站长得贼像。没错是这样的,这个布局我确实看起来很舒服。当然这个只是我作为毕业设计的一部分。中文编程语言+对应社区平台才是我完整的毕设。

那么同样的,废话不多说,直接发车了。

首页

结构

首先的话,还是老规矩,先看到结构:

<template><div class="body"><div class="left-affix"><div class="affix-item ribbon">Hlang解析<span>付费</span></div><div class="affix-item">Hlang文档</div><div class="affix-item bottom_line">Hlang下载</div><div class="affix-item">关注</div><div class="affix-item">综合</div><div class="affix-item">前端</div><div class="affix-item">后端</div><div class="affix-item">嵌入式</div><div class="affix-item">人工智能</div></div><div class="main"><!-- 推荐榜单文章、专栏,作者 --><div class="top-recommend"><div class="top-reco-div"><div class="top-reco-title"><img class="top-reco-title-img" src="~@/assets/image/top-article.png"><span class="top-reco-title-text">推荐文章TOP3</span></div><div class="top-reco-cent-item" v-for="(item, index) in top_articles" :key="item"><div class="top-reco-cent-item-le" v-bind:style="top_colors[index]">{{ index+1 }}</div><el-tooltip:content=itemplacement="bottom"effect="light"><top-reco-cent-item class="top-reco-cent-item-rg overtext">{{ item }}</top-reco-cent-item></el-tooltip></div></div><div class="top-reco-div"><div class="top-reco-title"><img class="top-reco-title-img" src="~@/assets/image/top-clounm.png"><span class="top-reco-title-text">推荐专栏TOP3</span></div><div class="top-reco-cent-item" v-for="(item, index) in top_columns" :key="item"><div class="top-reco-cent-item-le" v-bind:style="top_colors[index]">{{ index+1 }}</div><el-tooltip:content=itemplacement="bottom"effect="light"><top-reco-cent-item class="top-reco-cent-item-rg overtext">{{ item }}</top-reco-cent-item></el-tooltip></div></div><div class="top-reco-div"><div class="top-reco-title"><img class="top-reco-title-img" src="~@/assets/image/top-people.png"><span class="top-reco-title-text">推荐作者TOP3</span></div><div class="top-reco-cent-item" v-for="(item, index) in top_writers" :key="index"><div class="top-reco-cent-item-le" v-bind:style="top_colors[index]">{{ index+1 }}</div><el-tooltip:content=item.nameplacement="bottom"effect="light"><top-reco-cent-item class="top-reco-cent-item-rg overtext"><img class="top-reco-title-img" :src="item.avatar">&nbsp;{{ item.name }}</top-reco-cent-item></el-tooltip></div></div></div><!-- 推荐内容(文章,专栏,专栏分两类,系统专栏,用户自己创建的专栏) --><div class="reco-body-content"><div class="body-content-nav"><el-breadcrumb separator="/"><el-breadcrumb-item :to="{ path: '/' }">推荐</el-breadcrumb-item><el-breadcrumb-item :to="{ path: '/' }">最新</el-breadcrumb-item><el-breadcrumb-item>Hlang社区</el-breadcrumb-item></el-breadcrumb></div><div class="reco-body-content-items"><BlogItem></BlogItem><BlogItem></BlogItem><BlogItem></BlogItem><BlogItem></BlogItem><BlogItem></BlogItem><br></div></div></div><!-- 右边的侧边栏 --><div class="right-affix"><div class="r-affix-it day"><div class="day-left"><div class="day-left-top"><span class="s-p-top">累计点亮</span>&nbsp;<span class="s-p-top-day">127天</span></div><span class="s-p-but">点亮在社区的每一天</span></div><div class="day-right"><el-button type="primary" :icon="Check" circle /></div></div><!-- 广告走马灯 --><div class="r-affix-it carousel"><el-carousel :interval="5000" arrow="always"><el-carousel-item v-for="item in affix_imgs" :key="item"><!-- <h3 text="2xl" justify="center">{{ item }}</h3> --><div><img class="img-affix-r" :src="item"></div></el-carousel-item></el-carousel></div></div></div>
</template>

这次的话,结构看起来稍微复杂了一点,但是实际上的话,主体结构是很简单的;
在这里插入图片描述
只不过,里面各个小组件之间有不同的布局而已。

当然在这里,还封装了一个组件,也就是文章item的一个展示。

固定导航栏

ok,我们这里的话,主要看到的是左边的固定的导航栏,因为右边那个是一样的。左边这个还多了东西。

左侧导航item

首先我们先看到主体结构:

        <div class="left-affix"><div class="affix-item ribbon">Hlang解析<span>付费</span></div><div class="affix-item">Hlang文档</div><div class="affix-item bottom_line">Hlang下载</div><div class="affix-item">关注</div><div class="affix-item">综合</div><div class="affix-item">前端</div><div class="affix-item">后端</div><div class="affix-item">嵌入式</div><div class="affix-item">人工智能</div></div>

先看到这个对应的css


.left-affix{cursor: pointer;padding-top: 30px;position: fixed;top: 13.5%;left: 14.5%;border-radius: 10px;width: 120px;height: 500px;background-color: white;display: flex;flex-direction: column;align-items: center;justify-items: center;gap: 10px;
}.affix-item{/* font-family: Georgia; */font-weight: 600;display: flex;justify-items: center;align-items: center;width: 80%;height: 45px;text-align: center;font-size: 18px;color: rgb(75, 73, 73);border-radius: 10px;padding-left: 15px;/* border-bottom: thick double #32a1ce; */}
.affix-item:hover{background-color: rgb(229, 232, 232);color: rgb(43, 115, 230);
}

这个的话就是flex竖直的主轴,然后居中,这个没啥。

item标志

然后的话,主要在这里要说明的是这个:
在这里插入图片描述
的一个实现。

没错,这个就是这个项目盈利的地方。软件都是开源的,但是解析是收费的。啥意思,其实就像有些开源项目一样,大体文档是免费的,但是详细文档,如何实现,设计是收费的,你可以选择看这个文档,也可以直接选择自己啃源码。当然这部分其实我是开源直接做gitpage上面,搞这个的,但是想着干脆做一套算了。重点是,文档会流出,防君子不防小人,但是这个在线的话,虽然也会,但是我让那些小人尽可能提高获取成本,难度。

这里的话主要是这个:

.ribbon span {font-size: 10px;font-weight: bold;color: #FFF;text-transform: uppercase;text-align: center;line-height: 20px;transform: rotate(30deg);-webkit-transform: rotate(30deg);width: 100px;display: block;background: #79A70A;background: linear-gradient(#F7E652 0%, #F7C94A 100%);box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 1);position: absolute;top: 15px; right: -13px;
}
.ribbon span::before {content: "";position: absolute; left: 0px; top: 100%;z-index: -1;border-left: 3px solid #F7C94A;border-right: 3px solid transparent;border-bottom: 3px solid transparent;border-top: 3px solid #F7C94A;
}
.ribbon span::after {content: "";position: absolute; right: 0px; top: 100%;z-index: -1;border-left: 3px solid transparent;border-right: 3px solid #F7C94A;border-bottom: 3px solid transparent;border-top: 3px solid #F7C94A;
}

来实现,这个效果。不过注意的是,这个是放在第一个栏的!

头部推荐

之后是头部的推荐实现,就是这个:
在这里插入图片描述
这个的话,比较简单,主要是调整比较麻烦:

<div class="top-recommend"><div class="top-reco-div"><div class="top-reco-title"><img class="top-reco-title-img" src="~@/assets/image/top-article.png"><span class="top-reco-title-text">推荐文章TOP3</span></div><div class="top-reco-cent-item" v-for="(item, index) in top_articles" :key="item"><div class="top-reco-cent-item-le" v-bind:style="top_colors[index]">{{ index+1 }}</div><el-tooltip:content=itemplacement="bottom"effect="light"><top-reco-cent-item class="top-reco-cent-item-rg overtext">{{ item }}</top-reco-cent-item></el-tooltip></div></div><div class="top-reco-div"><div class="top-reco-title"><img class="top-reco-title-img" src="~@/assets/image/top-clounm.png"><span class="top-reco-title-text">推荐专栏TOP3</span></div><div class="top-reco-cent-item" v-for="(item, index) in top_columns" :key="item"><div class="top-reco-cent-item-le" v-bind:style="top_colors[index]">{{ index+1 }}</div><el-tooltip:content=itemplacement="bottom"effect="light"><top-reco-cent-item class="top-reco-cent-item-rg overtext">{{ item }}</top-reco-cent-item></el-tooltip></div></div><div class="top-reco-div"><div class="top-reco-title"><img class="top-reco-title-img" src="~@/assets/image/top-people.png"><span class="top-reco-title-text">推荐作者TOP3</span></div><div class="top-reco-cent-item" v-for="(item, index) in top_writers" :key="index"><div class="top-reco-cent-item-le" v-bind:style="top_colors[index]">{{ index+1 }}</div><el-tooltip:content=item.nameplacement="bottom"effect="light"><top-reco-cent-item class="top-reco-cent-item-rg overtext"><img class="top-reco-title-img" :src="item.avatar">&nbsp;{{ item.name }}</top-reco-cent-item></el-tooltip></div></div></div>

主体就是一个flex布局,就可以了:

.top-recommend{display: flex;align-items: center;justify-items: center;gap: 10px;width: 100%;height: 200px;border-radius: 10px;background-color: white;
}.top-reco-title{padding-top: 3px;display: flex;justify-items: center;align-items: center;width: 100%;height: 35px;border-bottom: thick double #32a1ce;
}.top-reco-title-text{text-align: center;padding-left: 10px;
}.top-reco-title-img{padding-left: 5px;width: 30px;height: 30px;border-radius: 30px;background-color: white;
}

文章展示ITEM实现

之后的话,就是,这个组件。
在这里插入图片描述

ToolTip

然后,这个组件的话有个点,就是这个:
在这里插入图片描述

这个东西的话,是基于element-plus的那个tooltip实现的。

                <el-tooltip placement="top" effect="light"><template #content><div class="writer-info-show"><div class="w-i-s-top"><!-- 作者信息 --><div class="w-i-s-top-info"><!-- 头像 --><img src="~@/assets/image/card1.png" class="w-i-s-t-info-avator"><div class="w-i-s-top-info-text"><div class="w-i-s-top-info-text-title overtext">Huterox</div><div class="w-i-s-top-info-text-motto overtext">除非我不想赢,否则没人能让我输</div></div></div><!-- 关注 --><div class="w-i-s-top-add"><el-button type="primary" round>关注</el-button></div></div><div class="w-i-s-bottom"><div class="w-i-s-bottom-item overtext">粉丝:60</div><div class="w-i-s-bottom-item overtext">博文:350</div></div></div></template><div class="m-l-t-item back_bule overtext">Huterox</div></el-tooltip>

这个功能的话,用的应该是比较多的。不过在我这里的话,也就是这种item会用到,所以没有封装成新的组件,用的频率虽然高,但是和博文ITEM一起用。

完整实现

ok,说完了这些细节,我们来看到完整代码:

<template><div class="main-item"><!-- 左边 --><div class="main-left"><div class="main-left-top"><!-- 作者 --><el-tooltip placement="top" effect="light"><template #content><div class="writer-info-show"><div class="w-i-s-top"><!-- 作者信息 --><div class="w-i-s-top-info"><!-- 头像 --><img src="~@/assets/image/card1.png" class="w-i-s-t-info-avator"><div class="w-i-s-top-info-text"><div class="w-i-s-top-info-text-title overtext">Huterox</div><div class="w-i-s-top-info-text-motto overtext">除非我不想赢,否则没人能让我输</div></div></div><!-- 关注 --><div class="w-i-s-top-add"><el-button type="primary" round>关注</el-button></div></div><div class="w-i-s-bottom"><div class="w-i-s-bottom-item overtext">粉丝:60</div><div class="w-i-s-bottom-item overtext">博文:350</div></div></div></template><div class="m-l-t-item back_bule overtext">Huterox</div></el-tooltip><!-- 日期 --><div class="m-l-t-item gary overtext">2023-8-4</div><!-- 专栏 --><div class="m-l-t-item back_bule gary overtext">深度学习</div></div><div class="main-left-title overtext">手写目标检测框架</div><div class="main-left-centent overtext gary">对yolo算法进行复现</div><div class="main-left-bootom"><!-- 浏览量 --><div class="m-l-b-item-i"><img src="~@/assets/image/read.png" class="m-l-b-item-img"><div class="m-l-b-text">123</div></div><!-- 点赞量 --><div class="m-l-b-item-i"><img src="~@/assets/image/good.png" class="m-l-b-item-img"><div class="m-l-b-text">666</div></div><!-- 评论数 --><div class="m-l-b-item-i"><img src="~@/assets/image/comment.png" class="m-l-b-item-img"><div class="m-l-b-text">123</div></div></div></div><!-- 右边图片 --><div class="main-right"><img src="~@/assets/image/card1.png" class="main-right-img"></div></div>
</template><script lang="ts" setup>
</script><style scoped>.w-i-s-bottom{display: flex;align-items: center;justify-items: center;font-size: 15px;
}.w-i-s-bottom-item{margin-left: 10px;display: flex;align-items: center;justify-items: center;width: 110px;height: 50px;
}.w-i-s-top-add{width: 80px;margin: 5px auto;
}.w-i-s-top-info-text-title{font-weight: 600;width: 170px;}
.w-i-s-top-info-text-motto{color: #5f6061;width: 170px;
}
.w-i-s-top-info-text{margin-left: 5px;height: 100%;margin-top: 5px;
}
.w-i-s-t-info-avator{width: 50px;height: 50px;border-radius: 100%;
}
.w-i-s-top-info{display: flex;width: 100px;
}
.w-i-s-bottom{width: 100%;height: 50px;
}
.w-i-s-top{width: 100%;height: 100px;border-bottom: thick double #32a1ce;
}.writer-info-show{width: 250px;height: 150px;display: flex;flex-direction: column;background-color: white;
}.m-l-b-text{display: flex;justify-items: center;align-items: center;font-size: 8px;color: #87898a;
}
.m-l-b-item-i{display: flex;width: 40px;}
.m-l-b-item-img{height: 100%;width: 20px;
}.main-right-img{height: 100px;width: 100%;
}.main-right{display: flex;height: 100px;width: 20%;
}.m-l-b-item{height: 100%;width: 60px;
}
.main-left-bootom{display: flex;justify-items: center;width: 100%;height: 15px;gap: 10px;
}.main-left-centent{display: flex;justify-items: center;align-items: center;height: 30px;width: 100%;display: flex;justify-items: center;}.main-left-title{height: 25px;width: 100%;font-size: 20px;font-weight: bolder;display: flex;justify-items: center;
}.m-l-t-item{display: flex;align-items: center;justify-items: center;padding-left: 3px;font-size: 8px;width: 60px;border-right: solid rgb(145, 142, 142);
}.gary{color: rgb(135, 133, 133);
}.back_bule:hover{color: rgb(17, 128, 239);
}.main-left-top{cursor: pointer;width: 100%;display: flex;justify-items: center;height: 15px;gap: 5px;
}.main-left{gap: 2px;display: flex;flex-direction: column;justify-items: center;width: 80%;
}
.overtext{overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
.main-item{padding: 3px;width: 100%;display: flex;flex-direction: row;justify-items: center;height: 100px;border-bottom: thick double #32a1ce;}
</style>

有一说一,这段时间学习数学,让我的耐心变得好了很多。因为有时候步骤就是这样繁琐,繁琐但是好歹有思路,能做。

首页完整实现

ok,那么接下来就是我们对应首页的全部实现了:

<template><div class="body"><div class="left-affix"><div class="affix-item ribbon">Hlang解析<span>付费</span></div><div class="affix-item">Hlang文档</div><div class="affix-item bottom_line">Hlang下载</div><div class="affix-item">关注</div><div class="affix-item">综合</div><div class="affix-item">前端</div><div class="affix-item">后端</div><div class="affix-item">嵌入式</div><div class="affix-item">人工智能</div></div><div class="main"><!-- 推荐榜单文章、专栏,作者 --><div class="top-recommend"><div class="top-reco-div"><div class="top-reco-title"><img class="top-reco-title-img" src="~@/assets/image/top-article.png"><span class="top-reco-title-text">推荐文章TOP3</span></div><div class="top-reco-cent-item" v-for="(item, index) in top_articles" :key="item"><div class="top-reco-cent-item-le" v-bind:style="top_colors[index]">{{ index+1 }}</div><el-tooltip:content=itemplacement="bottom"effect="light"><top-reco-cent-item class="top-reco-cent-item-rg overtext">{{ item }}</top-reco-cent-item></el-tooltip></div></div><div class="top-reco-div"><div class="top-reco-title"><img class="top-reco-title-img" src="~@/assets/image/top-clounm.png"><span class="top-reco-title-text">推荐专栏TOP3</span></div><div class="top-reco-cent-item" v-for="(item, index) in top_columns" :key="item"><div class="top-reco-cent-item-le" v-bind:style="top_colors[index]">{{ index+1 }}</div><el-tooltip:content=itemplacement="bottom"effect="light"><top-reco-cent-item class="top-reco-cent-item-rg overtext">{{ item }}</top-reco-cent-item></el-tooltip></div></div><div class="top-reco-div"><div class="top-reco-title"><img class="top-reco-title-img" src="~@/assets/image/top-people.png"><span class="top-reco-title-text">推荐作者TOP3</span></div><div class="top-reco-cent-item" v-for="(item, index) in top_writers" :key="index"><div class="top-reco-cent-item-le" v-bind:style="top_colors[index]">{{ index+1 }}</div><el-tooltip:content=item.nameplacement="bottom"effect="light"><top-reco-cent-item class="top-reco-cent-item-rg overtext"><img class="top-reco-title-img" :src="item.avatar">&nbsp;{{ item.name }}</top-reco-cent-item></el-tooltip></div></div></div><!-- 推荐内容(文章,专栏,专栏分两类,系统专栏,用户自己创建的专栏) --><div class="reco-body-content"><div class="body-content-nav"><el-breadcrumb separator="/"><el-breadcrumb-item :to="{ path: '/' }">推荐</el-breadcrumb-item><el-breadcrumb-item :to="{ path: '/' }">最新</el-breadcrumb-item><el-breadcrumb-item>Hlang社区</el-breadcrumb-item></el-breadcrumb></div><div class="reco-body-content-items"><BlogItem></BlogItem><BlogItem></BlogItem><BlogItem></BlogItem><BlogItem></BlogItem><BlogItem></BlogItem><br></div></div></div><!-- 右边的侧边栏 --><div class="right-affix"><div class="r-affix-it day"><div class="day-left"><div class="day-left-top"><span class="s-p-top">累计点亮</span>&nbsp;<span class="s-p-top-day">127天</span></div><span class="s-p-but">点亮在社区的每一天</span></div><div class="day-right"><el-button type="primary" :icon="Check" circle /></div></div><!-- 广告走马灯 --><div class="r-affix-it carousel"><el-carousel :interval="5000" arrow="always"><el-carousel-item v-for="item in affix_imgs" :key="item"><!-- <h3 text="2xl" justify="center">{{ item }}</h3> --><div><img class="img-affix-r" :src="item"></div></el-carousel-item></el-carousel></div></div></div>
</template><script lang="ts" setup>
import {Check,
} from '@element-plus/icons-vue'import BlogItem from '../components/BlogItem.vue'const affix_imgs = ['../../src/assets/image/affix1.png','../../src/assets/image/affix2.png','../../src/assets/image/affix3.png',];const top_colors = ["color: rgb(228, 98, 98);","color: rgb(255, 111, 0);","color: rgb(255, 111, 0);"
]const top_articles = ["TypeChat 入门指南","慎重选择~~第四家公司刚刚开我,加入重新找工作大队!!!","禁止别人调试自己的前端页面代码"
]const top_columns = ["【Spring技术体系】技术研究院","JS每日一算法","人工智能周刊"
]const top_writers = [{"avatar":"https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg","name":"Huterox1"},{"avatar":"https://shadow.elemecdn.com/app/element/hamburger.9cf7b091-55e9-11e9-a976-7f4d0b07eef6.png","name":"Huterox2"},{"avatar":"https://fuss10.elemecdn.com/2/11/6535bcfb26e4c79b48ddde44f4b6fjpeg.jpeg","name":"Huterox3"},
]</script><style scoped>.reco-body-content-items{margin: 0 auto;display: flex;flex-direction: column;width: 90%;gap: 10px;display: flex;}.bottom_line{border-bottom: thick double #32a1ce;
}
.ribbon span {font-size: 10px;font-weight: bold;color: #FFF;text-transform: uppercase;text-align: center;line-height: 20px;transform: rotate(30deg);-webkit-transform: rotate(30deg);width: 100px;display: block;background: #79A70A;background: linear-gradient(#F7E652 0%, #F7C94A 100%);box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 1);position: absolute;top: 15px; right: -13px;
}
.ribbon span::before {content: "";position: absolute; left: 0px; top: 100%;z-index: -1;border-left: 3px solid #F7C94A;border-right: 3px solid transparent;border-bottom: 3px solid transparent;border-top: 3px solid #F7C94A;
}
.ribbon span::after {content: "";position: absolute; right: 0px; top: 100%;z-index: -1;border-left: 3px solid transparent;border-right: 3px solid #F7C94A;border-bottom: 3px solid transparent;border-top: 3px solid #F7C94A;
}.body-content-nav{padding-top: 20px;padding-left: 20px;font-size: 30px;height: 50px;}.overtext{overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}.top-reco-cent-item-rg{cursor: pointer;display: flex;justify-items: center;align-items: center;height: 100%;width: 80%;color: rgb(114, 111, 111);
}
.top-reco-cent-item-rg:hover{color: #32a1ce;
}
.top-reco-cent-item-le{display: flex;justify-items: center;align-items: center;height: 100%;width: 15px;font-size: 15px;font-weight: 600;}
.top-reco-cent-item{margin-top: 5px;display: flex;gap: 3px;height: 40px;width: 100%;}.top-reco-title-text{text-align: center;padding-left: 10px;
}.top-reco-title-img{padding-left: 5px;width: 30px;height: 30px;border-radius: 30px;background-color: white;
}.top-reco-title{padding-top: 3px;display: flex;justify-items: center;align-items: center;width: 100%;height: 35px;border-bottom: thick double #32a1ce;
}.top-reco-div{margin-left: 10px;display: flex;flex-direction: column;justify-items: center;align-items: center;border-radius: 10px;width: 30%;height: 96%;border-right: thick double #32a1ce;}.day-right{margin-left: 20px;
}.carousel{border-radius: 10px;width: 100%;margin: 0 auto;
}.img-affix-r{background-size: cover;height: 300px;width: 100%;
}.day-left-top{padding-left: 20px;width: 150px;
}.s-p-but{padding-left: 20px;margin-top: 10px;font-size: 12px;color: rgb(120, 122, 123);
}
.s-p-top-day{font-weight: bolder;font-size: 20px;color: rgba(4, 88, 244, 0.849);
}
.s-p-top{font-weight: bold;font-size: 15px;
}
.day{border-radius: 10px;display: flex;gap: 20px;height: 100px;align-items: center;justify-items: center;
}.day:hover{margin-top: 2px;-webkit-box-shadow: 0px 0px 24px 6px rgb(64, 177, 252);-moz-box-shadow: 0px 0px 24px 6px rgb(47, 161, 237);box-shadow: 0px 0px 24px 6px rgb(53, 163, 235);
}.r-affix-it{cursor: default;width: 100%;background-color: white;
}.top-recommend{display: flex;align-items: center;justify-items: center;gap: 10px;width: 100%;height: 200px;border-radius: 10px;background-color: white;
}.reco-body-content{margin-top: 20px;display: flex;flex-direction: column;/* align-items: center; */justify-items: center;gap: 10px;width: 100%;/* height: 1300px; */border-radius: 10px;background-color: white;
}.main{border-radius: 10px;width: 52%;margin: 0 auto;display: flex;flex-direction: column;align-items: center;justify-items: center;
}.right-affix{gap: 30px;padding-top: 20px;position: fixed;top: 11.5%;right: 2.3%;border-radius: 10px;width: 320px;height: 500px;/* background-color: white; */display: flex;flex-direction: column;align-items: center;justify-items: center;
}.affix-item{/* font-family: Georgia; */font-weight: 600;display: flex;justify-items: center;align-items: center;width: 80%;height: 45px;text-align: center;font-size: 18px;color: rgb(75, 73, 73);border-radius: 10px;padding-left: 15px;/* border-bottom: thick double #32a1ce; */}
.affix-item:hover{background-color: rgb(229, 232, 232);color: rgb(43, 115, 230);
}.left-affix{cursor: pointer;padding-top: 30px;position: fixed;top: 13.5%;left: 14.5%;border-radius: 10px;width: 120px;height: 500px;background-color: white;display: flex;flex-direction: column;align-items: center;justify-items: center;gap: 10px;
}
.body{margin-top: 20px;width: 100%;
}
</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/61106.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【flink】Checkpoint expired before completing.

使用flink同步数据出现错误Checkpoint expired before completing. 11:32:34,455 WARN org.apache.flink.runtime.checkpoint.CheckpointFailureManager [Checkpoint Timer] - Failed to trigger or complete checkpoint 4 for job 1b1d41031ea45d15bdb3324004c2d749. (2 con…

springboot项目打包 以及打包碰到各种问题

PS:以上资料都来自于网络 1.IDEA 将springboot项目打包 IDEA如何打包springboot成jar包&#xff0c;并运行、停止、重启&#xff0c;本地依赖不能打包怎么办_真是6的不行的博客-CSDN博客 2.[WARNING] Error injecting: org.springframework.boot.maven.RepackageMojo 1.注释…

Maven安装与配置,Eclipse配置Maven【图文并茂的保姆级教程】

&#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 接下来看看由辉辉所写的关于Maven的相关操作吧 目录 &#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 一.Maven是什么&#xff1f; 二.Maven的下…

Ctfshow web入门 XXE 模板注入篇 web373-web378 详细题解 全

CTFshow XXE web373 学习资料&#xff1a; &#xff08;梭哈~&#xff09; https://www.cnblogs.com/20175211lyz/p/11413335.html https://www.cnblogs.com/zhaijiahui/p/9147595.html https://www.cnblogs.com/r00tuser/p/7255939.html https://mp.weixin.qq.com/s?__bizMz…

统计列表加小计

提供个思路&#xff0c;欢迎其他大佬指正 注意使用 排序&#xff08;seq&#xff09;&#xff0c;group by&#xff0c;union all SELECTf.* FROM(SELECTcus_id,max( cusname ) cusname,NULL dodate,sum( money ) sumMoney,NULL payed,NULL unpayed,1 seq FROMtb_outbase GRO…

【高频面试题】多线程篇

文章目录 一、线程的基础知识1.线程与进程的区别2.并行和并发有什么区别&#xff1f;3.创建线程的方式有哪些&#xff1f;3.1.Runnable 和 Callable 有什么区别&#xff1f;3.2.run()和 start()有什么区别&#xff1f; 4.线程包括哪些状态&#xff0c;状态之间是如何变化的4.1.…

BGP基础实验建邻+宣告实验

实验题目如下&#xff1a; 实验拓扑如下&#xff1a; 实验要求如下&#xff1a; 【1】除R5的5.5.5.0环回外&#xff0c;其他所有的环回均可互相访问 实验思路如下&#xff1a; &#xff08;1&#xff09;合理的IP配置 &#xff08;2&#xff09;合理的BGP配置 &#xff08;…

Technical debt (技术负债 / 技术债)

Technical debt (技术负债 / 技术债) In software development, or any other IT field (e.g., Infrastructure, Networking, etc.) technical debt (also known as design debt or code debt) is the implied cost of future reworking required when choosing an easy but li…

Linux Linux系统文件类型与文件权限

一、文件类型 &#xff08;1&#xff09;在windows系统中文件类型以文件的后缀名来区分&#xff0c;在Linux系统中文件类型不以后缀名来区分。注意编写c代码时必须写后缀名.c&#xff0c;不然C编译器不会编译该文件。 &#xff08;2&#xff09;在Linux系统中以文件的标志来区…

远程桌面配置指南:保留TCP地址、配置隧道和使用固定TCP地址

远程桌面配置指南&#xff1a;保留TCP地址、配置隧道和使用固定TCP地址 文章目录 远程桌面配置指南&#xff1a;保留TCP地址、配置隧道和使用固定TCP地址第一步&#xff1a;保留TCP地址第二步&#xff1a;为远程桌面隧道配置固定的TCP地址第三步&#xff1a;使用固定TCP地址远程…

nginx文件共享、服务状态和location模块的配置介绍

一.文件共享功能 1.清空html目录下文件并新建你要共享的文件 2.修改nginx.conf文件&#xff0c;开启autoindex功能 3.测试 二.状态模块 1.修改nginx.conf文件 2.测试 &#xff08;1&#xff09;使用刚才定义的IP/nginx_status进行访问 &#xff08;2&#xff09;status参…

学习网络基础No.2【深入理解TCP/IP】

引言&#xff1a; 北京时间&#xff1a;2023/8/9/13:04&#xff0c;昨天在摆烂中把网络基础相关知识的博客更新&#xff0c;依然还是上不了C站热榜&#xff0c;我估计是因为我账号热度不够没有上榜资格&#xff0c;也可能是因为前段时间没有积极更新&#xff0c;导致周榜被甩出…