173 lines
3.4 KiB
Vue
173 lines
3.4 KiB
Vue
<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>Devstar Studio</h2>
|
|
</div>
|
|
</a>
|
|
|
|
<a
|
|
href="/cloudbuild"
|
|
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>Cloudbuild</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>Simulator</h2>
|
|
</div>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
name: 'Showcase',
|
|
data() {
|
|
return {
|
|
hoverItem: null
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style scoped>
|
|
/* 基础布局 */
|
|
.tencent-showcase {
|
|
background: white;
|
|
}
|
|
|
|
.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;
|
|
}
|
|
|
|
/* 响应式设计 */
|
|
@media (max-width: 768px) {
|
|
.ten_links {
|
|
flex-direction: column;
|
|
}
|
|
|
|
.ten_img {
|
|
margin-bottom: 20px;
|
|
}
|
|
|
|
.tencent-image {
|
|
height: 180px;
|
|
}
|
|
}
|
|
</style> |