大韩仪器 | 差压流量计专业制造商
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
--primary-color: #1e3c72;
--secondary-color: #2a5298;
--accent-color: #4a90e2;
--text-dark: #2c3e50;
--text-light: #7f8c8d;
--bg-light: #f8f9fa;
--bg-white: #ffffff;
--shadow-sm: 0 2px 4px rgba(0,0,0,0.08);
--shadow-md: 0 4px 6px rgba(0,0,0,0.1);
--shadow-lg: 0 10px 25px rgba(0,0,0,0.1);
--shadow-xl: 0 20px 40px rgba(0,0,0,0.15);
--transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Malgun Gothic', 'Roboto', sans-serif;
line-height: 1.6;
color: var(--text-dark);
overflow-x: hidden;
}
/* 로딩 애니메이션 */
.loader {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: white;
display: flex;
justify-content: center;
align-items: center;
z-index: 9999;
transition: opacity 0.5s, visibility 0.5s;
}
.loader.hidden {
opacity: 0;
visibility: hidden;
}
.loader-spinner {
width: 50px;
height: 50px;
border: 3px solid #f3f3f3;
border-top: 3px solid var(--primary-color);
border-radius: 50%;
animation: spin 1s linear infinite;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
/* 고정 헤더 */
.header {
position: fixed;
top: 0;
width: 100%;
background: rgba(255, 255, 255, 0.95);
backdrop-filter: blur(10px);
box-shadow: var(--shadow-sm);
z-index: 1000;
transition: var(--transition);
}
.header.scrolled {
box-shadow: var(--shadow-md);
}
.header-content {
max-width: 1400px;
margin: 0 auto;
padding: 15px 30px;
display: flex;
justify-content: space-between;
align-items: center;
}
.logo {
font-size: 1.5em;
font-weight: bold;
background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.nav-menu {
display: flex;
gap: 30px;
align-items: center;
}
.nav-menu a {
color: var(--text-dark);
text-decoration: none;
font-weight: 500;
transition: var(--transition);
position: relative;
}
.nav-menu a::after {
content: '';
position: absolute;
bottom: -5px;
left: 0;
width: 0;
height: 2px;
background: var(--accent-color);
transition: width 0.3s;
}
.nav-menu a:hover::after {
width: 100%;
}
/* 언어 선택기 */
.language-selector {
display: flex;
gap: 10px;
padding: 5px;
background: var(--bg-light);
border-radius: 25px;
}
.language-selector a {
padding: 8px 15px;
border-radius: 20px;
text-decoration: none;
color: var(--text-light);
transition: var(--transition);
font-size: 0.9em;
}
.language-selector a.active {
background: white;
color: var(--primary-color);
box-shadow: var(--shadow-sm);
}
/* 히어로 섹션 */
.hero {
margin-top: 70px;
min-height: 90vh;
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
position: relative;
display: flex;
align-items: center;
overflow: hidden;
}
.hero::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: url('data:image/svg+xml,') no-repeat bottom;
background-size: cover;
}
.hero-content {
max-width: 1400px;
margin: 0 auto;
padding: 0 30px;
position: relative;
z-index: 1;
text-align: center;
color: white;
}
.hero h1 {
font-size: clamp(2.5em, 5vw, 4em);
margin-bottom: 20px;
animation: fadeInUp 1s ease;
}
.hero-subtitle {
font-size: clamp(1.2em, 2vw, 1.6em);
margin-bottom: 20px;
opacity: 0.95;
animation: fadeInUp 1s ease 0.2s backwards;
}
.hero-badges {
display: flex;
gap: 20px;
justify-content: center;
margin-bottom: 40px;
animation: fadeInUp 1s ease 0.4s backwards;
}
.badge {
background: rgba(255, 255, 255, 0.2);
backdrop-filter: blur(10px);
padding: 10px 20px;
border-radius: 25px;
border: 1px solid rgba(255, 255, 255, 0.3);
}
.hero-buttons {
display: flex;
gap: 20px;
justify-content: center;
animation: fadeInUp 1s ease 0.6s backwards;
}
.btn {
padding: 15px 35px;
border-radius: 30px;
text-decoration: none;
font-weight: 600;
transition: var(--transition);
display: inline-flex;
align-items: center;
gap: 10px;
position: relative;
overflow: hidden;
}
.btn-primary {
background: white;
color: var(--primary-color);
box-shadow: var(--shadow-lg);
}
.btn-primary:hover {
transform: translateY(-3px);
box-shadow: var(--shadow-xl);
}
.btn-outline {
background: transparent;
color: white;
border: 2px solid white;
}
.btn-outline:hover {
background: rgba(255, 255, 255, 0.1);
transform: translateY(-3px);
}
/* 애니메이션 */
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
@keyframes slideInLeft {
from {
opacity: 0;
transform: translateX(-50px);
}
to {
opacity: 1;
transform: translateX(0);
}
}
@keyframes slideInRight {
from {
opacity: 0;
transform: translateX(50px);
}
to {
opacity: 1;
transform: translateX(0);
}
}
/* 产品 섹션 */
.products-section {
padding: 100px 30px;
background: var(--bg-white);
}
.section-header {
text-align: center;
margin-bottom: 60px;
}
.section-label {
color: var(--accent-color);
font-weight: 600;
text-transform: uppercase;
letter-spacing: 2px;
font-size: 0.9em;
margin-bottom: 10px;
}
.section-title {
font-size: clamp(2em, 4vw, 3em);
color: var(--text-dark);
margin-bottom: 20px;
}
.section-desc {
color: var(--text-light);
font-size: 1.1em;
max-width: 600px;
margin: 0 auto;
}
.products-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 30px;
max-width: 1400px;
margin: 0 auto;
}
.product-card {
background: white;
border-radius: 20px;
overflow: hidden;
box-shadow: var(--shadow-md);
transition: var(--transition);
position: relative;
}
.product-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 5px;
background: linear-gradient(90deg, var(--primary-color), var(--accent-color));
transform: scaleX(0);
transition: transform 0.3s;
}
.product-card:hover {
transform: translateY(-10px);
box-shadow: var(--shadow-xl);
}
.product-card:hover::before {
transform: scaleX(1);
}
.product-icon {
width: 80px;
height: 80px;
margin: 30px auto 20px;
background: linear-gradient(135deg, var(--primary-color), var(--accent-color));
border-radius: 20px;
display: flex;
align-items: center;
justify-content: center;
font-size: 2em;
color: white;
position: relative;
}
.product-icon::after {
content: '';
position: absolute;
width: 100%;
height: 100%;
background: inherit;
border-radius: inherit;
opacity: 0.3;
filter: blur(15px);
transform: translateY(10px);
z-index: -1;
}
.product-content {
padding: 20px 30px 30px;
text-align: center;
}
.product-title {
font-size: 1.3em;
color: var(--text-dark);
margin-bottom: 10px;
}
.product-specs {
color: var(--text-light);
font-size: 0.95em;
line-height: 1.8;
margin-bottom: 20px;
}
.product-link {
color: var(--accent-color);
text-decoration: none;
font-weight: 600;
display: inline-flex;
align-items: center;
gap: 5px;
transition: gap 0.3s;
}
.product-link:hover {
gap: 10px;
}
/* 特点 섹션 */
.features-section {
padding: 100px 30px;
background: linear-gradient(180deg, var(--bg-light) 0%, white 100%);
}
.features-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 40px;
max-width: 1400px;
margin: 0 auto;
}
.feature-card {
background: white;
padding: 40px;
border-radius: 20px;
box-shadow: var(--shadow-md);
transition: var(--transition);
position: relative;
overflow: hidden;
}
.feature-card::before {
content: '';
position: absolute;
top: -50%;
right: -50%;
width: 200%;
height: 200%;
background: radial-gradient(circle, var(--accent-color) 0%, transparent 70%);
opacity: 0.05;
transition: opacity 0.3s;
}
.feature-card:hover {
transform: translateY(-5px);
box-shadow: var(--shadow-xl);
}
.feature-card:hover::before {
opacity: 0.1;
}
.feature-icon {
width: 60px;
height: 60px;
background: linear-gradient(135deg, var(--primary-color), var(--accent-color));
border-radius: 15px;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.5em;
color: white;
margin-bottom: 20px;
}
.feature-title {
font-size: 1.2em;
color: var(--text-dark);
margin-bottom: 10px;
}
.feature-desc {
color: var(--text-light);
line-height: 1.8;
}
/* CTA 섹션 */
.cta-section {
padding: 100px 30px;
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
color: white;
text-align: center;
position: relative;
overflow: hidden;
}
.cta-section::before {
content: '';
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);
animation: rotate 30s linear infinite;
}
@keyframes rotate {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
.cta-content {
position: relative;
z-index: 1;
max-width: 800px;
margin: 0 auto;
}
.cta-title {
font-size: clamp(2em, 4vw, 3em);
margin-bottom: 20px;
}
.cta-desc {
font-size: 1.2em;
margin-bottom: 40px;
opacity: 0.95;
}
/* Footer */
.footer {
background: var(--text-dark);
color: white;
padding: 60px 30px 30px;
}
.footer-content {
max-width: 1400px;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 40px;
margin-bottom: 40px;
}
.footer-section h4 {
margin-bottom: 20px;
color: white;
}
.footer-section a {
color: rgba(255, 255, 255, 0.7);
text-decoration: none;
display: block;
margin-bottom: 10px;
transition: color 0.3s;
}
.footer-section a:hover {
color: white;
}
.footer-bottom {
text-align: center;
padding-top: 30px;
border-top: 1px solid rgba(255, 255, 255, 0.1);
color: rgba(255, 255, 255, 0.7);
}
/* 반응형 */
@media (max-width: 768px) {
.nav-menu {
display: none;
}
.hero-buttons {
flex-direction: column;
align-items: center;
}
.hero-badges {
flex-wrap: wrap;
}
.products-grid {
grid-template-columns: 1fr;
}
.features-grid {
grid-template-columns: 1fr;
}
}
/* 스크롤 애니메이션 */
.scroll-reveal {
opacity: 0;
transform: translateY(30px);
transition: opacity 0.6s, transform 0.6s;
}
.scroll-reveal.revealed {
opacity: 1;
transform: translateY(0);
}
/* 파티클 배경 */
#particles-js {
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
z-index: 0;
}
差压流量测量的新标准
35年技术积累打造的精密流量测量解决方案
// 페이지 로드 애니메이션
window.addEventListener('load', function() {
setTimeout(function() {
document.querySelector('.loader').classList.add('hidden');
}, 500);
});
// 헤더 스크롤 효과
window.addEventListener('scroll', function() {
const header = document.querySelector('.header');
if (window.scrollY > 50) {
header.classList.add('scrolled');
} else {
header.classList.remove('scrolled');
}
});
// 스크롤 애니메이션
const observerOptions = {
threshold: 0.1,
rootMargin: '0px 0px -50px 0px'
};
const observer = new IntersectionObserver(function(entries) {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('revealed');
}
});
}, observerOptions);
document.addEventListener('DOMContentLoaded', function() {
const reveals = document.querySelectorAll('.scroll-reveal');
reveals.forEach(reveal => observer.observe(reveal));
});
// 부드러운 스크롤
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
anchor.addEventListener('click', function(e) {
e.preventDefault();
const target = document.querySelector(this.getAttribute('href'));
if (target) {
target.scrollIntoView({
behavior: 'smooth',
block: 'start'
});
}
});
});
// 카운터 애니메이션
function animateCounter(element, target, duration = 2000) {
let start = 0;
const increment = target / (duration / 16);
const timer = setInterval(() => {
start += increment;
if (start >= target) {
element.textContent = target;
clearInterval(timer);
} else {
element.textContent = Math.floor(start);
}
}, 16);
}
// 产品 카드 호버 효과
document.querySelectorAll('.product-card').forEach(card => {
card.addEventListener('mouseenter', function() {
this.style.transform = 'translateY(-10px) scale(1.02)';
});
card.addEventListener('mouseleave', function() {
this.style.transform = 'translateY(0) scale(1)';
});
});