ct/app/components/yuxi/SoftwareDevelopment.vue
2025-10-08 14:37:58 +08:00

186 lines
3.5 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div class="container text-center mainitems">
<div class="headtit">软件应用开发</div>
<div class="row applicatBody">
<div
v-for="(software, index) in softwareItems"
:key="index"
class="col-xs-12 col-lg-3"
>
<div class="appbody-info">
<img :src="software.image" :alt="software.title">
<h2>{{ software.title }}</h2>
<p>{{ software.description }}</p>
</div>
</div>
</div>
</div>
</template>
<script setup lang="ts">
// 软件开发数据
const softwareItems = [
{
title: 'iOS开发',
image: '/www.yuxiit.com/img/yuxiupdata/banner4-1.png',
description: '专注于高端型IOS系统开发提供优质的IOS APP开发设计方案服务'
},
{
title: 'Android开发',
image: '/www.yuxiit.com/img/yuxiupdata/banner4-2.png',
description: '针对主流的android系统提供一站式APP咨询策划开发服务'
},
{
title: '微信开发',
image: '/www.yuxiit.com/img/yuxiupdata/banner4-3.png',
description: '针对企业需求提供专业微信公众平台开发服务...'
},
{
title: '小程序开发',
image: '/www.yuxiit.com/img/yuxiupdata/banner4-4.png',
description: '无需安装APP就可以带来更流畅快速的体验'
}
]
</script>
<style scoped>
.mainitems {
padding: 60px 0;
background-color: #fff;
}
.headtit {
font-size: 2.5em;
color: #333;
margin-bottom: 50px;
font-weight: bold;
}
.applicatBody {
display: flex;
justify-content: center;
flex-wrap: wrap;
gap: 30px;
}
.appbody-info {
background: #fff;
border-radius: 12px;
padding: 40px 30px;
box-shadow: 0 4px 12px rgba(0,0,0,0.1);
transition: all 0.3s ease;
cursor: pointer;
height: 280px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
text-align: center;
position: relative;
overflow: hidden;
}
.appbody-info::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
opacity: 0;
transition: all 0.3s ease;
z-index: 1;
}
.appbody-info:hover::before {
opacity: 0.1;
}
.appbody-info:hover {
transform: translateY(-8px);
box-shadow: 0 12px 24px rgba(0,0,0,0.15);
}
.appbody-info img {
width: 80px;
height: 80px;
margin-bottom: 25px;
object-fit: contain;
position: relative;
z-index: 2;
transition: all 0.3s ease;
}
.appbody-info:hover img {
transform: scale(1.1);
}
.appbody-info h2 {
font-size: 1.5em;
color: #333;
margin-bottom: 20px;
font-weight: bold;
position: relative;
z-index: 2;
}
.appbody-info p {
color: #666;
font-size: 0.95em;
line-height: 1.6;
position: relative;
z-index: 2;
}
/* 不同软件开发类型的特殊样式 */
.appbody-info:nth-child(1) {
border-top: 4px solid #007AFF;
}
.appbody-info:nth-child(2) {
border-top: 4px solid #3DDC84;
}
.appbody-info:nth-child(3) {
border-top: 4px solid #07C160;
}
.appbody-info:nth-child(4) {
border-top: 4px solid #FF6B35;
}
@media (max-width: 1200px) {
.applicatBody {
justify-content: space-around;
}
.col-lg-3 {
flex: 0 0 45%;
max-width: 45%;
}
}
@media (max-width: 768px) {
.headtit {
font-size: 2em;
}
.col-lg-3 {
flex: 0 0 100%;
max-width: 100%;
margin-bottom: 20px;
}
.appbody-info {
height: 250px;
padding: 30px 20px;
}
.appbody-info img {
width: 60px;
height: 60px;
}
}
</style>