粗略梳理了目录结构布局

This commit is contained in:
孟宁
2025-11-15 07:22:48 +00:00
parent 636efd79ff
commit 1c43c1dce6
27 changed files with 3621 additions and 3339 deletions

View File

@@ -1,326 +1,326 @@
<template>
<section class="tencent-showcase">
<div class="ten_main">
<div class="ten_links">
<a
href="/devstar"
class="ten_img"
@mouseenter="hoverItem = 'about'"
@mouseleave="hoverItem = null"
>
<img
src="/public/promotional-graphic-devstar.png"
alt="devstar"
class="tencent-image"
:class="{ 'image-hover': hoverItem === 'about' }"
>
<div class="ten_img_txt" :class="{ 'text-hover': hoverItem === 'about' }">
<h2>AI+ DevOps</h2>
</div>
</a>
<a
href="/compiling"
class="ten_img"
@mouseenter="hoverItem = 'culture'"
@mouseleave="hoverItem = null"
>
<img
src="/public/promotional-graphic-cloudbuild.jpg"
alt="cloudbuild"
class="tencent-image"
:class="{ 'image-hover': hoverItem === 'culture' }"
>
<div class="ten_img_txt" :class="{ 'text-hover': hoverItem === 'culture' }">
<h2>编译加速</h2>
</div>
</a>
<a
href="/simulator"
class="ten_img"
@mouseenter="hoverItem = 'office'"
@mouseleave="hoverItem = null"
>
<img
src="/public/promotional-graphic-simulator.jpg"
alt="simulator"
class="tencent-image"
:class="{ 'image-hover': hoverItem === 'office' }"
>
<div class="ten_img_txt" :class="{ 'text-hover': hoverItem === 'office' }">
<h2>虚拟仿真</h2>
</div>
</a>
</div>
</div>
</section>
<div class="wrap-footer">
<div class="footer">
<!-- 左侧区域第一张图内容 -->
<div class="footer-left">
<div class="gitee-brand">
<div class="logo-circle">
<span class="logo-char">
<img src="/public/mnsoftware.png" alt="">
</span>
</div>
</div>
<div class="copyright">
<span class="brand-name">梦宁软件</span>
<span>梦宁软件江苏有限公司版权所有</span>
</div>
</div>
<!-- 右侧区域第二张图内容 -->
<div class="footer-right">
<div class="qr-container">
<div class="qr-code">
<div class="qr-icon">
<span class="qr-char">
<img src="/public/QR-code.jpg" alt="">
</span>
</div>
</div>
<div class="qr-label">微信公众号</div>
</div>
</div>
</div>
<div class="footer-area">
<p>
<a href="https://beian.miit.gov.cn/" target="_blank" rel="noopener noreferrer">苏ICP备2024068144号-1</a>
©
<a href="/copyright" rel="noopener noreferrer">Mengning Software</a>.
2025- All rights reserved.
</p>
</div>
</div>
</template>
<script>
export default {
name: 'Showcase',
data() {
return {
hoverItem: null
}
}
}
</script>
<style scoped>
/* 基础布局 */
.tencent-showcase {
height: 200px;
}
.ten_main {
max-width: 1200px;
margin: 0 auto;
}
.ten_links {
display: flex;
justify-content: space-between;
gap: 30px;
}
/* 卡片容器 */
.ten_img {
position: relative;
display: block;
flex: 1;
text-decoration: none;
overflow: hidden;
border-radius: 8px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
transition: transform 0.3s ease;
}
.ten_img:hover {
transform: translateY(-5px);
}
/* 图片样式 */
.tencent-image {
width: 100%;
height: 200px;
/* object-fit: contain; */
object-position: center;
background-color: #f5f7fa;
/* padding: 20px; */
box-sizing: border-box;
transition: all 0.5s ease;
}
.image-hover {
filter: brightness(0.95);
background-color: #e3f2fd;
}
/* 文字区域 */
.ten_img_txt {
position: absolute;
bottom: 0;
left: 0;
right: 0;
padding: 20px;
background: linear-gradient(to top, rgba(0,0,0,0.5), transparent);
height: 80px;
display: flex;
align-items: flex-end;
transition: all 0.3s ease;
}
.text-hover {
background: linear-gradient(to top, rgba(0,90,180,0.7), transparent);
}
.ten_img_txt h2 {
border-top: none;
color: white;
font-size: 22px;
margin: 0;
position: relative;
padding-bottom: 8px;
}
/* 悬浮时显示的下划线 */
.text-hover h2::after {
content: "";
position: absolute;
left: 0;
bottom: 0;
width: 60px;
height: 2px;
background: white;
}
.wrap-footer {
margin-top: 50px;
}
.footer {
display: flex;
justify-content: space-between;
align-items: center;
padding: 20px 20px 20px 0;
/* padding: 20px; */
/* background-color: white; */
width: 100%;
box-sizing: border-box;
}
/* 左侧品牌区域样式 */
.footer-left {
display: flex;
align-items: center;
margin-left: -40px;
}
.gitee-brand {
display: flex;
align-items: center;
}
.logo-circle {
width: 200px;
height: 100px;
border-radius: 50%;
display: flex;
justify-content: center;
align-items: center;
margin-right: -10px;
}
.brand-name {
font-size: 16px;
font-weight: 600;
color: #000;
padding-right: 10px;
}
.copyright {
color: #999;
font-size: 14px;
margin-left: -40px;
}
/* 右侧二维码区域样式 */
.footer-right {
display: flex;
}
.qr-container {
display: flex;
flex-direction: column;
align-items: center;
}
.qr-code {
width: 100px;
height: 100px;
background-color: #f5f5f5;
display: flex;
justify-content: center;
align-items: center;
margin-bottom: 8px;
position: relative;
overflow: hidden;
}
.qr-icon {
width: 100px;
height: 100px;
display: flex;
justify-content: center;
align-items: center;
}
.qr-char {
color: white;
font-weight: bold;
font-size: 20px;
}
.qr-label {
font-size: 14px;
color: #999;
}
.footer-area {
text-align: center;
padding: 10px 0;
font-size: 14px;
color: #999;
}
.footer-area a {
text-decoration: none;
color: inherit;
}
.footer-area a:hover {
text-decoration: underline;
color: #2563eb;
}
/* 响应式设计 */
@media (max-width: 768px) {
.ten_links {
flex-direction: column;
}
.ten_img {
margin-bottom: 20px;
}
.tencent-image {
height: 180px;
}
}
.dark .brand-name {
color: #DFDFD6;
}
<template>
<section class="tencent-showcase">
<div class="ten_main">
<div class="ten_links">
<a
href="/devstar/ai-devops"
class="ten_img"
@mouseenter="hoverItem = 'about'"
@mouseleave="hoverItem = null"
>
<img
src="/public/promotional-graphic-devstar.png"
alt="devstar"
class="tencent-image"
:class="{ 'image-hover': hoverItem === 'about' }"
>
<div class="ten_img_txt" :class="{ 'text-hover': hoverItem === 'about' }">
<h2>AI+ DevOps</h2>
</div>
</a>
<a
href="/compile"
class="ten_img"
@mouseenter="hoverItem = 'culture'"
@mouseleave="hoverItem = null"
>
<img
src="/public/promotional-graphic-cloudbuild.jpg"
alt="cloudbuild"
class="tencent-image"
:class="{ 'image-hover': hoverItem === 'culture' }"
>
<div class="ten_img_txt" :class="{ 'text-hover': hoverItem === 'culture' }">
<h2>编译加速</h2>
</div>
</a>
<a
href="/simulator"
class="ten_img"
@mouseenter="hoverItem = 'office'"
@mouseleave="hoverItem = null"
>
<img
src="/public/promotional-graphic-simulator.jpg"
alt="simulator"
class="tencent-image"
:class="{ 'image-hover': hoverItem === 'office' }"
>
<div class="ten_img_txt" :class="{ 'text-hover': hoverItem === 'office' }">
<h2>虚拟仿真</h2>
</div>
</a>
</div>
</div>
</section>
<div class="wrap-footer">
<div class="footer">
<!-- 左侧区域第一张图内容 -->
<div class="footer-left">
<div class="gitee-brand">
<div class="logo-circle">
<span class="logo-char">
<img src="/public/mnsoftware.png" alt="">
</span>
</div>
</div>
<div class="copyright">
<span class="brand-name">梦宁软件</span>
<span>梦宁软件江苏有限公司版权所有</span>
</div>
</div>
<!-- 右侧区域第二张图内容 -->
<div class="footer-right">
<div class="qr-container">
<div class="qr-code">
<div class="qr-icon">
<span class="qr-char">
<img src="/public/QR-code.jpg" alt="">
</span>
</div>
</div>
<div class="qr-label">微信公众号</div>
</div>
</div>
</div>
<div class="footer-area">
<p>
<a href="https://beian.miit.gov.cn/" target="_blank" rel="noopener noreferrer">苏ICP备2024068144号-1</a>
©
<a href="/copyright" rel="noopener noreferrer">Mengning Software</a>.
2025- All rights reserved.
</p>
</div>
</div>
</template>
<script>
export default {
name: 'Showcase',
data() {
return {
hoverItem: null
}
}
}
</script>
<style scoped>
/* 基础布局 */
.tencent-showcase {
height: 200px;
}
.ten_main {
max-width: 1200px;
margin: 0 auto;
}
.ten_links {
display: flex;
justify-content: space-between;
gap: 30px;
}
/* 卡片容器 */
.ten_img {
position: relative;
display: block;
flex: 1;
text-decoration: none;
overflow: hidden;
border-radius: 8px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
transition: transform 0.3s ease;
}
.ten_img:hover {
transform: translateY(-5px);
}
/* 图片样式 */
.tencent-image {
width: 100%;
height: 200px;
/* object-fit: contain; */
object-position: center;
background-color: #f5f7fa;
/* padding: 20px; */
box-sizing: border-box;
transition: all 0.5s ease;
}
.image-hover {
filter: brightness(0.95);
background-color: #e3f2fd;
}
/* 文字区域 */
.ten_img_txt {
position: absolute;
bottom: 0;
left: 0;
right: 0;
padding: 20px;
background: linear-gradient(to top, rgba(0,0,0,0.5), transparent);
height: 80px;
display: flex;
align-items: flex-end;
transition: all 0.3s ease;
}
.text-hover {
background: linear-gradient(to top, rgba(0,90,180,0.7), transparent);
}
.ten_img_txt h2 {
border-top: none;
color: white;
font-size: 22px;
margin: 0;
position: relative;
padding-bottom: 8px;
}
/* 悬浮时显示的下划线 */
.text-hover h2::after {
content: "";
position: absolute;
left: 0;
bottom: 0;
width: 60px;
height: 2px;
background: white;
}
.wrap-footer {
margin-top: 50px;
}
.footer {
display: flex;
justify-content: space-between;
align-items: center;
padding: 20px 20px 20px 0;
/* padding: 20px; */
/* background-color: white; */
width: 100%;
box-sizing: border-box;
}
/* 左侧品牌区域样式 */
.footer-left {
display: flex;
align-items: center;
margin-left: -40px;
}
.gitee-brand {
display: flex;
align-items: center;
}
.logo-circle {
width: 200px;
height: 100px;
border-radius: 50%;
display: flex;
justify-content: center;
align-items: center;
margin-right: -10px;
}
.brand-name {
font-size: 16px;
font-weight: 600;
color: #000;
padding-right: 10px;
}
.copyright {
color: #999;
font-size: 14px;
margin-left: -40px;
}
/* 右侧二维码区域样式 */
.footer-right {
display: flex;
}
.qr-container {
display: flex;
flex-direction: column;
align-items: center;
}
.qr-code {
width: 100px;
height: 100px;
background-color: #f5f5f5;
display: flex;
justify-content: center;
align-items: center;
margin-bottom: 8px;
position: relative;
overflow: hidden;
}
.qr-icon {
width: 100px;
height: 100px;
display: flex;
justify-content: center;
align-items: center;
}
.qr-char {
color: white;
font-weight: bold;
font-size: 20px;
}
.qr-label {
font-size: 14px;
color: #999;
}
.footer-area {
text-align: center;
padding: 10px 0;
font-size: 14px;
color: #999;
}
.footer-area a {
text-decoration: none;
color: inherit;
}
.footer-area a:hover {
text-decoration: underline;
color: #2563eb;
}
/* 响应式设计 */
@media (max-width: 768px) {
.ten_links {
flex-direction: column;
}
.ten_img {
margin-bottom: 20px;
}
.tencent-image {
height: 180px;
}
}
.dark .brand-name {
color: #DFDFD6;
}
</style>