<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>민들레효과 - 블로그</title>
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700;900&display=swap" rel="stylesheet">
<style>
:root {
--primary: #e0c677;
--dark: #333;
--light: #f5f5f5;
--accent: #7387c5;
--semi-dark: #222;
--dark-light: #1a1a1a;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Noto Sans KR', sans-serif;
background-color: var(--dark);
color: var(--light);
overflow-x: hidden;
}
.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
}
/* 블로그 헤더 */
.blog-header {
min-height: 50vh;
background: linear-gradient(135deg, #333 0%, #111 100%);
position: relative;
overflow: hidden;
display: flex;
align-items: center;
padding: 2rem 0;
}
.blog-header-content {
position: relative;
z-index: 2;
max-width: 800px;
animation: fadeInUp 1s ease forwards;
}
.blog-header-content h2 {
font-size: 1.5rem;
font-weight: 500;
margin-bottom: 1.5rem;
color: var(--primary);
}
.blog-header-content h1 {
font-size: 3rem;
font-weight: 900;
margin-bottom: 1rem;
line-height: 1.2;
color: var(--light);
}
.blog-header-content p {
font-size: 1.2rem;
margin-bottom: 2rem;
line-height: 1.6;
color: var(--light);
opacity: 0.8;
}
/* 민들레 씨앗 효과 */
.dandelion-container {
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
pointer-events: none;
z-index: 1;
}
.dandelion-seed {
position: absolute;
width: 10px;
height: 10px;
background-color: rgba(224, 198, 119, 0.3);
border-radius: 50%;
filter: blur(1px);
box-shadow: 0 0 5px rgba(224, 198, 119, 0.5);
opacity: 0;
animation-name: floatSeed;
animation-timing-function: linear;
animation-iteration-count: infinite;
}
.dandelion-seed::before {
content: '';
position: absolute;
top: -8px;
left: 4px;
width: 2px;
height: 8px;
background-color: rgba(224, 198, 119, 0.3);
transform: rotate(45deg);
}
.dandelion-seed::after {
content: '';
position: absolute;
top: -5px;
left: 1px;
width: 8px;
height: 2px;
background-color: rgba(224, 198, 119, 0.3);
transform: rotate(45deg);
}
@keyframes floatSeed {
0% {
transform: translate(0, 0) rotate(0deg);
opacity: 0;
}
10% {
opacity: 1;
}
90% {
opacity: 1;
}
100% {
transform: translate(var(--moveX), var(--moveY)) rotate(var(--rotate));
opacity: 0;
}
}
/* 블로그 콘텐츠 */
.blog-content {
padding: 5rem 0;
background-color: var(--dark-light);
}
/* 카테고리 필터 */
.blog-categories {
display: flex;
flex-wrap: wrap;
gap: 0.8rem;
margin-bottom: 4rem;
justify-content: center;
}
.blog-category {
display: inline-block;
padding: 0.5rem 1.2rem;
background-color: rgba(255, 255, 255, 0.08);
border-radius: 30px;
color: var(--light);
text-decoration: none;
transition: all 0.3s ease;
}
.blog-category:hover, .blog-category.active {
background-color: var(--primary);
color: var(--dark);
}
/* 추천 포스트 */
.blog-featured {
margin-bottom: 4rem;
border-radius: 15px;
overflow: hidden;
background: linear-gradient(135deg, #2d2d2d 0%, #1d1d1d 100%);
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
transition: all 0.5s ease;
}
.blog-featured:hover {
transform: translateY(-10px);
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}
.blog-featured-image {
height: 300px;
background: linear-gradient(135deg, #7387c5 0%, #e0c677 100%);
position: relative;
overflow: hidden;
}
.blog-featured-content {
padding: 2rem;
}
.blog-featured-tag {
display: inline-block;
background-color: var(--primary);
color: var(--dark);
padding: 0.4rem 1rem;
border-radius: 30px;
font-size: 0.8rem;
font-weight: 700;
margin-bottom: 1rem;
text-decoration: none;
}
.blog-featured-content h2 {
font-size: 1.8rem;
margin-bottom: 1rem;
line-height: 1.3;
color: var(--light);
}
.blog-featured-content p {
margin-bottom: 1.5rem;
line-height: 1.6;
color: var(--light);
opacity: 0.8;
}
.blog-featured-meta {
display: flex;
align-items: center;
opacity: 0.7;
font-size: 0.9rem;
margin-bottom: 1.5rem;
}
.blog-featured-meta span {
margin-right: 1.5rem;
}
.featured-button {
display: inline-block;
background-color: var(--primary);
color: var(--dark);
padding: 0.8rem 1.5rem;
border-radius: 30px;
text-decoration: none;
font-weight: 700;
transition: all 0.3s ease;
}
.featured-button:hover {
transform: translateY(-3px);
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}
/* 블로그 그리드 */
.blog-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
gap: 2rem;
}
.blog-card {
background: linear-gradient(135deg, #2d2d2d 0%, #1d1d1d 100%);
border-radius: 15px;
overflow: hidden;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
transition: all 0.5s ease;
opacity: 0;
transform: translateY(20px);
}
.blog-card.active {
opacity: 1;
transform: translateY(0);
}
.blog-card:hover {
transform: translateY(-10px);
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}
.blog-card-image {
height: 180px;
position: relative;
overflow: hidden;
}
.card-image-1 { background: linear-gradient(45deg, #e0c677 0%, #d4b964 100%); }
.card-image-2 { background: linear-gradient(45deg, #7387c5 0%, #6276b4 100%); }
.card-image-3 { background: linear-gradient(45deg, #e0c677 0%, #7387c5 100%); }
.card-image-4 { background: linear-gradient(45deg, #6276b4 0%, #e0c677 100%); }
.card-image-5 { background: linear-gradient(45deg, #d4b964 0%, #6276b4 100%); }
.card-image-6 { background: linear-gradient(45deg, #7387c5 0%, #d4b964 100%); }
.blog-card-tag {
position: absolute;
top: 1rem;
right: 1rem;
background-color: var(--primary);
color: var(--dark);
padding: 0.4rem 0.8rem;
border-radius: 30px;
font-size: 0.7rem;
font-weight: 700;
}
.blog-card-content {
padding: 1.5rem;
}
.blog-card-content h3 {
font-size: 1.4rem;
margin-bottom: 1rem;
line-height: 1.3;
color: var(--light);
}
.blog-card-content p {
margin-bottom: 1.5rem;
line-height: 1.6;
color: var(--light);
opacity: 0.8;
}
.blog-card-meta {
display: flex;
align-items: center;
opacity: 0.7;
font-size: 0.8rem;
margin-bottom: 1.5rem;
}
.blog-card-meta span {
margin-right: 1rem;
}
.card-button {
display: inline-block;
background-color: var(--primary);
color: var(--dark);
padding: 0.5rem 1.2rem;
border-radius: 30px;
text-decoration: none;
font-weight: 700;
font-size: 0.9rem;
transition: all 0.3s ease;
}
.card-button:hover {
transform: translateY(-3px);
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}
/* 페이지네이션 */
.blog-pagination {
display: flex;
justify-content: center;
margin-top: 4rem;
}
.page-link, .page-current {
display: flex;
align-items: center;
justify-content: center;
width: 40px;
height: 40px;
margin: 0 0.5rem;
border-radius: 50%;
text-decoration: none;
transition: all 0.3s ease;
}
.page-link {
background-color: rgba(255, 255, 255, 0.08);
color: var(--light);
}
.page-current {
background-color: var(--primary);
color: var(--dark);
font-weight: bold;
}
.page-link:hover {
background-color: var(--primary);
color: var(--dark);
}
/* 푸터 */
.footer {
background-color: #111;
padding: 2rem 0;
text-align: center;
}
.copyright {
font-size: 1.2rem;
color: var(--primary);
font-weight: 500;
}
/* 애니메이션 효과 */
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
/* 모바일 반응형 */
@media (max-width: 992px) {
.blog-header-content h1 {
font-size: 2.5rem;
}
.blog-grid {
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}
}
@media (max-width: 768px) {
.blog-header-content h1 {
font-size: 2.2rem;
}
.blog-header-content p {
font-size: 1rem;
}
.blog-grid {
grid-template-columns: 1fr;
}
}
@media (max-width: 480px) {
.blog-header-content h1 {
font-size: 1.8rem;
}
.blog-header {
min-height: auto;
padding: 4rem 0;
}
.blog-featured-meta, .blog-card-meta {
flex-direction: column;
align-items: flex-start;
gap: 0.5rem;
}
}
</style>
</head>
<body>
<!-- 블로그 헤더 -->
<header class="blog-header">
<div class="dandelion-container" id="dandelion-container">
<!-- 민들레 씨앗들이 JavaScript로 여기에 추가됩니다 -->
</div>
<div class="container">
<div class="blog-header-content">
<h2>민들레효과 블로그</h2>
<h1>작은 바람으로<br>마케팅의 새로운 인사이트</h1>
<p>성공 사례, 실용적인 마케팅 노하우, 그리고 최신 디지털 마케팅 트렌드까지 유익한 정보를 제공합니다.</p>
</div>
</div>
</header>
<!-- 블로그 콘텐츠 -->
<section class="blog-content">
<div class="container">
<!-- 카테고리 필터 -->
<div class="blog-categories">
<a href="#" class="blog-category active">전체보기</a>
<a href="#" class="blog-category">마케팅 전략</a>
<a href="#" class="blog-category">성공사례</a>
<a href="#" class="blog-category">SNS 마케팅</a>
<a href="#" class="blog-category">자영업 성장</a>
<a href="#" class="blog-category">브랜딩</a>
</div>
<!-- 추천 포스트 -->
<div class="blog-featured">
<div class="blog-featured-image"></div>
<div class="blog-featured-content">
<a href="#" class="blog-featured-tag">마케팅 전략</a>
<h2>작은 가게도 성장할 수 있다: 2025 소상공인 디지털 마케팅 가이드</h2>
<p>제한된 예산으로도 효과적인 디지털 마케팅을 실행하는 방법. 실제 성공 사례와 실행 가능한 전략을 통해 자영업의 성장 기회를 확보하세요.</p>
<div class="blog-featured-meta">
<span>📅 2025.05.01</span>
<span>👁️ 1,234 조회</span>
<span>💬 23 댓글</span>
</div>
<a href="#" class="featured-button">자세히 보기</a>
</div>
</div>
<!-- 블로그 그리드 -->
<div class="blog-grid">
<!-- 블로그 카드 1 -->
<div class="blog-card" data-delay="0">
<div class="blog-card-image card-image-1">
<span class="blog-card-tag">성공사례</span>
</div>
<div class="blog-card-content">
<h3>서울 종로 카페의 SNS 마케팅 성공 스토리</h3>
<p>인스타그램을 활용해 3개월 만에 매출 200% 증가, 그들의 전략은?</p>
<div class="blog-card-meta">
<span>📅 2025.04.25</span>
<span>👁️ 687 조회</span>
</div>
<a href="#" class="card-button">읽어보기</a>
</div>
</div>
<!-- 블로그 카드 2 -->
<div class="blog-card" data-delay="200">
<div class="blog-card-image card-image-2">
<span class="blog-card-tag">SNS 마케팅</span>
</div>
<div class="blog-card-content">
<h3>숏폼 콘텐츠로 고객과 소통하기: 틱톡, 릴스 활용법</h3>
<p>짧은 영상으로 매력적인 브랜드 스토리를 전달하는 방법과 팁</p>
<div class="blog-card-meta">
<span>📅 2025.04.18</span>
<span>👁️ 542 조회</span>
</div>
<a href="#" class="card-button">읽어보기</a>
</div>
</div>
<!-- 블로그 카드 3 -->
<div class="blog-card" data-delay="400">
<div class="blog-card-image card-image-3">
<span class="blog-card-tag">자영업 성장</span>
</div>
<div class="blog-card-content">
<h3>자영업자를 위한 로컬 마케팅: 동네에서 알아주는 가게 되기</h3>
<p>지역 기반 마케팅으로 충성고객을 확보하는 실질적인 방법들</p>
<div class="blog-card-meta">
<span>📅 2025.04.10</span>
<span>👁️ 823 조회</span>
</div>
<a href="#" class="card-button">읽어보기</a>
</div>
</div>
<!-- 블로그 카드 4 -->
<div class="blog-card" data-delay="600">
<div class="blog-card-image card-image-4">
<span class="blog-card-tag">브랜딩</span>
</div>
<div class="blog-card-content">
<h3>작은 브랜드의 차별화 전략: 경쟁에서 살아남는 방법</h3>
<p>거대 기업과 경쟁에서 살아남는 작은 브랜드만의 강점 찾기</p>
<div class="blog-card-meta">
<span>📅 2025.04.03</span>
<span>👁️ 756 조회</span>
</div>
<a href="#" class="card-button">읽어보기</a>
</div>
</div>
<!-- 블로그 카드 5 -->
<div class="blog-card" data-delay="800">
<div class="blog-card-image card-image-5">
<span class="blog-card-tag">마케팅 전략</span>
</div>
<div class="blog-card-content">
<h3>적은 예산으로 최대 효과 내는 소상공인 마케팅 기법</h3>
<p>가성비 높은 마케팅 채널과 운영 팁으로 효율적인 홍보 전략 세우기</p>
<div class="blog-card-meta">
<span>📅 2025.03.27</span>
<span>👁️ 612 조회</span>
</div>
<a href="#" class="card-button">읽어보기</a>
</div>
</div>
<!-- 블로그 카드 6 -->
<div class="blog-card" data-delay="1000">
<div class="blog-card-image card-image-6">
<span class="blog-card-tag">성공사례</span>
</div>
<div class="blog-card-content">
<h3>부산 골목 빵집의 입소문 마케팅 성공 사례</h3>
<p>지역 커뮤니티와 SNS를 활용해 대기줄을 만든 작은 빵집 이야기</p>
<div class="blog-card-meta">
<span>📅 2025.03.20</span>
<span>👁️ 578 조회</span>
</div>
<a href="#" class="card-button">읽어보기</a>
</div>
</div>
</div>
<!-- 페이지네이션 -->
<div class="blog-pagination">
<a href="#" class="page-link"><</a>
<span class="page-current">1</span>
<a href="#" class="page-link">2</a>
<a href="#" class="page-link">3</a>
<a href="#" class="page-link">></a>
</div>
</div>
</section>
<!-- 푸터 -->
<footer class="footer">
<div class="container">
<p class="copyright">© 2025 민들레효과 - 마케팅의 새로운 바람</p>
</div>
</footer>
<!-- JavaScript -->
<script>
document.addEventListener('DOMContentLoaded', function() {
// 민들레 씨앗 효과 생성
createDandelionSeeds();
// 블로그 카드 애니메이션
const blogCards = document.querySelectorAll('.blog-card');
blogCards.forEach((card, index) => {
const delay = card.getAttribute('data-delay') || 0;
setTimeout(() => {
card.classList.add('active');
}, parseInt(delay) + 200);
});
// 카테고리 필터 클릭 이벤트
const categories = document.querySelectorAll('.blog-category');
categories.forEach(category => {
category.addEventListener('click', function(e) {
e.preventDefault();
// 모든 카테고리에서 active 클래스 제거
categories.forEach(c => c.classList.remove('active'));
// 클릭된 카테고리에 active 클래스 추가
this.classList.add('active');
// 실제 필터링 로직은 여기에 추가
// 현재는 시각적 효과만 구현
});
});
});
// 민들레 씨앗 효과 생성 함수
function createDandelionSeeds() {
const container = document.getElementById('dandelion-container');
const numSeeds = 20;
for (let i = 0; i < numSeeds; i++) {
const seed = document.createElement('div');
seed.className = 'dandelion-seed';
// 랜덤 위치 설정
const startX = Math.random() * window.innerWidth;
const startY = Math.random() * window.innerHeight * 0.4;
// 움직임 설정
const moveX = (Math.random() - 0.5) * window.innerWidth * 0.5;
const moveY = (Math.random() - 0.5) * window.innerHeight * 0.3;
const rotate = Math.random() * 360;
const animDuration = 5 + Math.random() * 10;
const animDelay = Math.random() * 10;
// 스타일 설정
seed.style.left = `${startX}px`;
seed.style.top = `${startY}px`;
seed.style.setProperty('--moveX', `${moveX}px`);
seed.style.setProperty('--moveY', `${moveY}px`);
seed.style.setProperty('--rotate', `${rotate}deg`);
seed.style.animationDuration = `${animDuration}s`;
seed.style.animationDelay = `${animDelay}s`;
container.appendChild(seed);
}
}
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>민들레효과 - 블로그</title>
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700;900&display=swap" rel="stylesheet">
<style>
:root {
--primary: #e0c677;
--dark: #333;
--light: #f5f5f5;
--accent: #7387c5;
--semi-dark: #222;
--dark-light: #1a1a1a;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Noto Sans KR', sans-serif;
background-color: var(--dark);
color: var(--light);
overflow-x: hidden;
}
.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
}
/* 블로그 헤더 */
.blog-header {
min-height: 50vh;
background: linear-gradient(135deg, #333 0%, #111 100%);
position: relative;
overflow: hidden;
display: flex;
align-items: center;
padding: 2rem 0;
}
.blog-header-content {
position: relative;
z-index: 2;
max-width: 800px;
animation: fadeInUp 1s ease forwards;
}
.blog-header-content h2 {
font-size: 1.5rem;
font-weight: 500;
margin-bottom: 1.5rem;
color: var(--primary);
}
.blog-header-content h1 {
font-size: 3rem;
font-weight: 900;
margin-bottom: 1rem;
line-height: 1.2;
color: var(--light);
}
.blog-header-content p {
font-size: 1.2rem;
margin-bottom: 2rem;
line-height: 1.6;
color: var(--light);
opacity: 0.8;
}
/* 민들레 씨앗 효과 */
.dandelion-container {
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
pointer-events: none;
z-index: 1;
}
.dandelion-seed {
position: absolute;
width: 10px;
height: 10px;
background-color: rgba(224, 198, 119, 0.3);
border-radius: 50%;
filter: blur(1px);
box-shadow: 0 0 5px rgba(224, 198, 119, 0.5);
opacity: 0;
animation-name: floatSeed;
animation-timing-function: linear;
animation-iteration-count: infinite;
}
.dandelion-seed::before {
content: '';
position: absolute;
top: -8px;
left: 4px;
width: 2px;
height: 8px;
background-color: rgba(224, 198, 119, 0.3);
transform: rotate(45deg);
}
.dandelion-seed::after {
content: '';
position: absolute;
top: -5px;
left: 1px;
width: 8px;
height: 2px;
background-color: rgba(224, 198, 119, 0.3);
transform: rotate(45deg);
}
@keyframes floatSeed {
0% {
transform: translate(0, 0) rotate(0deg);
opacity: 0;
}
10% {
opacity: 1;
}
90% {
opacity: 1;
}
100% {
transform: translate(var(--moveX), var(--moveY)) rotate(var(--rotate));
opacity: 0;
}
}
/* 블로그 콘텐츠 */
.blog-content {
padding: 5rem 0;
background-color: var(--dark-light);
}
/* 카테고리 필터 */
.blog-categories {
display: flex;
flex-wrap: wrap;
gap: 0.8rem;
margin-bottom: 4rem;
justify-content: center;
}
.blog-category {
display: inline-block;
padding: 0.5rem 1.2rem;
background-color: rgba(255, 255, 255, 0.08);
border-radius: 30px;
color: var(--light);
text-decoration: none;
transition: all 0.3s ease;
}
.blog-category:hover, .blog-category.active {
background-color: var(--primary);
color: var(--dark);
}
/* 추천 포스트 */
.blog-featured {
margin-bottom: 4rem;
border-radius: 15px;
overflow: hidden;
background: linear-gradient(135deg, #2d2d2d 0%, #1d1d1d 100%);
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
transition: all 0.5s ease;
}
.blog-featured:hover {
transform: translateY(-10px);
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}
.blog-featured-image {
height: 300px;
background: linear-gradient(135deg, #7387c5 0%, #e0c677 100%);
position: relative;
overflow: hidden;
}
.blog-featured-content {
padding: 2rem;
}
.blog-featured-tag {
display: inline-block;
background-color: var(--primary);
color: var(--dark);
padding: 0.4rem 1rem;
border-radius: 30px;
font-size: 0.8rem;
font-weight: 700;
margin-bottom: 1rem;
text-decoration: none;
}
.blog-featured-content h2 {
font-size: 1.8rem;
margin-bottom: 1rem;
line-height: 1.3;
color: var(--light);
}
.blog-featured-content p {
margin-bottom: 1.5rem;
line-height: 1.6;
color: var(--light);
opacity: 0.8;
}
.blog-featured-meta {
display: flex;
align-items: center;
opacity: 0.7;
font-size: 0.9rem;
margin-bottom: 1.5rem;
}
.blog-featured-meta span {
margin-right: 1.5rem;
}
.featured-button {
display: inline-block;
background-color: var(--primary);
color: var(--dark);
padding: 0.8rem 1.5rem;
border-radius: 30px;
text-decoration: none;
font-weight: 700;
transition: all 0.3s ease;
}
.featured-button:hover {
transform: translateY(-3px);
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}
/* 블로그 그리드 */
.blog-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
gap: 2rem;
}
.blog-card {
background: linear-gradient(135deg, #2d2d2d 0%, #1d1d1d 100%);
border-radius: 15px;
overflow: hidden;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
transition: all 0.5s ease;
opacity: 0;
transform: translateY(20px);
}
.blog-card.active {
opacity: 1;
transform: translateY(0);
}
.blog-card:hover {
transform: translateY(-10px);
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}
.blog-card-image {
height: 180px;
position: relative;
overflow: hidden;
}
.card-image-1 { background: linear-gradient(45deg, #e0c677 0%, #d4b964 100%); }
.card-image-2 { background: linear-gradient(45deg, #7387c5 0%, #6276b4 100%); }
.card-image-3 { background: linear-gradient(45deg, #e0c677 0%, #7387c5 100%); }
.card-image-4 { background: linear-gradient(45deg, #6276b4 0%, #e0c677 100%); }
.card-image-5 { background: linear-gradient(45deg, #d4b964 0%, #6276b4 100%); }
.card-image-6 { background: linear-gradient(45deg, #7387c5 0%, #d4b964 100%); }
.blog-card-tag {
position: absolute;
top: 1rem;
right: 1rem;
background-color: var(--primary);
color: var(--dark);
padding: 0.4rem 0.8rem;
border-radius: 30px;
font-size: 0.7rem;
font-weight: 700;
}
.blog-card-content {
padding: 1.5rem;
}
.blog-card-content h3 {
font-size: 1.4rem;
margin-bottom: 1rem;
line-height: 1.3;
color: var(--light);
}
.blog-card-content p {
margin-bottom: 1.5rem;
line-height: 1.6;
color: var(--light);
opacity: 0.8;
}
.blog-card-meta {
display: flex;
align-items: center;
opacity: 0.7;
font-size: 0.8rem;
margin-bottom: 1.5rem;
}
.blog-card-meta span {
margin-right: 1rem;
}
.card-button {
display: inline-block;
background-color: var(--primary);
color: var(--dark);
padding: 0.5rem 1.2rem;
border-radius: 30px;
text-decoration: none;
font-weight: 700;
font-size: 0.9rem;
transition: all 0.3s ease;
}
.card-button:hover {
transform: translateY(-3px);
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}
/* 페이지네이션 */
.blog-pagination {
display: flex;
justify-content: center;
margin-top: 4rem;
}
.page-link, .page-current {
display: flex;
align-items: center;
justify-content: center;
width: 40px;
height: 40px;
margin: 0 0.5rem;
border-radius: 50%;
text-decoration: none;
transition: all 0.3s ease;
}
.page-link {
background-color: rgba(255, 255, 255, 0.08);
color: var(--light);
}
.page-current {
background-color: var(--primary);
color: var(--dark);
font-weight: bold;
}
.page-link:hover {
background-color: var(--primary);
color: var(--dark);
}
/* 푸터 */
.footer {
background-color: #111;
padding: 2rem 0;
text-align: center;
}
.copyright {
font-size: 1.2rem;
color: var(--primary);
font-weight: 500;
}
/* 애니메이션 효과 */
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
/* 모바일 반응형 */
@media (max-width: 992px) {
.blog-header-content h1 {
font-size: 2.5rem;
}
.blog-grid {
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}
}
@media (max-width: 768px) {
.blog-header-content h1 {
font-size: 2.2rem;
}
.blog-header-content p {
font-size: 1rem;
}
.blog-grid {
grid-template-columns: 1fr;
}
}
@media (max-width: 480px) {
.blog-header-content h1 {
font-size: 1.8rem;
}
.blog-header {
min-height: auto;
padding: 4rem 0;
}
.blog-featured-meta, .blog-card-meta {
flex-direction: column;
align-items: flex-start;
gap: 0.5rem;
}
}
</style>
</head>
<body>
<!-- 블로그 헤더 -->
<header class="blog-header">
<div class="dandelion-container" id="dandelion-container">
<!-- 민들레 씨앗들이 JavaScript로 여기에 추가됩니다 -->
</div>
<div class="container">
<div class="blog-header-content">
<h2>민들레효과 블로그</h2>
<h1>작은 바람으로<br>마케팅의 새로운 인사이트</h1>
<p>성공 사례, 실용적인 마케팅 노하우, 그리고 최신 디지털 마케팅 트렌드까지 유익한 정보를 제공합니다.</p>
</div>
</div>
</header>
<!-- 블로그 콘텐츠 -->
<section class="blog-content">
<div class="container">
<!-- 카테고리 필터 -->
<div class="blog-categories">
<a href="#" class="blog-category active">전체보기</a>
<a href="#" class="blog-category">마케팅 전략</a>
<a href="#" class="blog-category">성공사례</a>
<a href="#" class="blog-category">SNS 마케팅</a>
<a href="#" class="blog-category">자영업 성장</a>
<a href="#" class="blog-category">브랜딩</a>
</div>
<!-- 추천 포스트 -->
<div class="blog-featured">
<div class="blog-featured-image"></div>
<div class="blog-featured-content">
<a href="#" class="blog-featured-tag">마케팅 전략</a>
<h2>작은 가게도 성장할 수 있다: 2025 소상공인 디지털 마케팅 가이드</h2>
<p>제한된 예산으로도 효과적인 디지털 마케팅을 실행하는 방법. 실제 성공 사례와 실행 가능한 전략을 통해 자영업의 성장 기회를 확보하세요.</p>
<div class="blog-featured-meta">
<span>📅 2025.05.01</span>
<span>👁️ 1,234 조회</span>
<span>💬 23 댓글</span>
</div>
<a href="#" class="featured-button">자세히 보기</a>
</div>
</div>
<!-- 블로그 그리드 -->
<div class="blog-grid">
<!-- 블로그 카드 1 -->
<div class="blog-card" data-delay="0">
<div class="blog-card-image card-image-1">
<span class="blog-card-tag">성공사례</span>
</div>
<div class="blog-card-content">
<h3>서울 종로 카페의 SNS 마케팅 성공 스토리</h3>
<p>인스타그램을 활용해 3개월 만에 매출 200% 증가, 그들의 전략은?</p>
<div class="blog-card-meta">
<span>📅 2025.04.25</span>
<span>👁️ 687 조회</span>
</div>
<a href="#" class="card-button">읽어보기</a>
</div>
</div>
<!-- 블로그 카드 2 -->
<div class="blog-card" data-delay="200">
<div class="blog-card-image card-image-2">
<span class="blog-card-tag">SNS 마케팅</span>
</div>
<div class="blog-card-content">
<h3>숏폼 콘텐츠로 고객과 소통하기: 틱톡, 릴스 활용법</h3>
<p>짧은 영상으로 매력적인 브랜드 스토리를 전달하는 방법과 팁</p>
<div class="blog-card-meta">
<span>📅 2025.04.18</span>
<span>👁️ 542 조회</span>
</div>
<a href="#" class="card-button">읽어보기</a>
</div>
</div>
<!-- 블로그 카드 3 -->
<div class="blog-card" data-delay="400">
<div class="blog-card-image card-image-3">
<span class="blog-card-tag">자영업 성장</span>
</div>
<div class="blog-card-content">
<h3>자영업자를 위한 로컬 마케팅: 동네에서 알아주는 가게 되기</h3>
<p>지역 기반 마케팅으로 충성고객을 확보하는 실질적인 방법들</p>
<div class="blog-card-meta">
<span>📅 2025.04.10</span>
<span>👁️ 823 조회</span>
</div>
<a href="#" class="card-button">읽어보기</a>
</div>
</div>
<!-- 블로그 카드 4 -->
<div class="blog-card" data-delay="600">
<div class="blog-card-image card-image-4">
<span class="blog-card-tag">브랜딩</span>
</div>
<div class="blog-card-content">
<h3>작은 브랜드의 차별화 전략: 경쟁에서 살아남는 방법</h3>
<p>거대 기업과 경쟁에서 살아남는 작은 브랜드만의 강점 찾기</p>
<div class="blog-card-meta">
<span>📅 2025.04.03</span>
<span>👁️ 756 조회</span>
</div>
<a href="#" class="card-button">읽어보기</a>
</div>
</div>
<!-- 블로그 카드 5 -->
<div class="blog-card" data-delay="800">
<div class="blog-card-image card-image-5">
<span class="blog-card-tag">마케팅 전략</span>
</div>
<div class="blog-card-content">
<h3>적은 예산으로 최대 효과 내는 소상공인 마케팅 기법</h3>
<p>가성비 높은 마케팅 채널과 운영 팁으로 효율적인 홍보 전략 세우기</p>
<div class="blog-card-meta">
<span>📅 2025.03.27</span>
<span>👁️ 612 조회</span>
</div>
<a href="#" class="card-button">읽어보기</a>
</div>
</div>
<!-- 블로그 카드 6 -->
<div class="blog-card" data-delay="1000">
<div class="blog-card-image card-image-6">
<span class="blog-card-tag">성공사례</span>
</div>
<div class="blog-card-content">
<h3>부산 골목 빵집의 입소문 마케팅 성공 사례</h3>
<p>지역 커뮤니티와 SNS를 활용해 대기줄을 만든 작은 빵집 이야기</p>
<div class="blog-card-meta">
<span>📅 2025.03.20</span>
<span>👁️ 578 조회</span>
</div>
<a href="#" class="card-button">읽어보기</a>
</div>
</div>
</div>
<!-- 페이지네이션 -->
<div class="blog-pagination">
<a href="#" class="page-link"><</a>
<span class="page-current">1</span>
<a href="#" class="page-link">2</a>
<a href="#" class="page-link">3</a>
<a href="#" class="page-link">></a>
</div>
</div>
</section>
<!-- 푸터 -->
<footer class="footer">
<div class="container">
<p class="copyright">© 2025 민들레효과 - 마케팅의 새로운 바람</p>
</div>
</footer>
<!-- JavaScript -->
<script>
document.addEventListener('DOMContentLoaded', function() {
// 민들레 씨앗 효과 생성
createDandelionSeeds();
// 블로그 카드 애니메이션
const blogCards = document.querySelectorAll('.blog-card');
blogCards.forEach((card, index) => {
const delay = card.getAttribute('data-delay') || 0;
setTimeout(() => {
card.classList.add('active');
}, parseInt(delay) + 200);
});
// 카테고리 필터 클릭 이벤트
const categories = document.querySelectorAll('.blog-category');
categories.forEach(category => {
category.addEventListener('click', function(e) {
e.preventDefault();
// 모든 카테고리에서 active 클래스 제거
categories.forEach(c => c.classList.remove('active'));
// 클릭된 카테고리에 active 클래스 추가
this.classList.add('active');
// 실제 필터링 로직은 여기에 추가
// 현재는 시각적 효과만 구현
});
});
});
// 민들레 씨앗 효과 생성 함수
function createDandelionSeeds() {
const container = document.getElementById('dandelion-container');
const numSeeds = 20;
for (let i = 0; i < numSeeds; i++) {
const seed = document.createElement('div');
seed.className = 'dandelion-seed';
// 랜덤 위치 설정
const startX = Math.random() * window.innerWidth;
const startY = Math.random() * window.innerHeight * 0.4;
// 움직임 설정
const moveX = (Math.random() - 0.5) * window.innerWidth * 0.5;
const moveY = (Math.random() - 0.5) * window.innerHeight * 0.3;
const rotate = Math.random() * 360;
const animDuration = 5 + Math.random() * 10;
const animDelay = Math.random() * 10;
// 스타일 설정
seed.style.left = `${startX}px`;
seed.style.top = `${startY}px`;
seed.style.setProperty('--moveX', `${moveX}px`);
seed.style.setProperty('--moveY', `${moveY}px`);
seed.style.setProperty('--rotate', `${rotate}deg`);
seed.style.animationDuration = `${animDuration}s`;
seed.style.animationDelay = `${animDelay}s`;
container.appendChild(seed);
}
}
</script>
</body>
</html>