프론트엔드 개발/온누리학교 웹 개발 프로젝트
[Vue.js/개발일지] 3. Footer 만들기 및 라우팅 트랜지션
Jongung
2022. 2. 2. 20:55
푸터를 직접 만들까 생각하다가, 부트스트랩 example을 활용하여 개발했다. 전부 라우터 링크로 묶어주어 라우팅 될 수 있도록 노가다 해주었다.
<template>
<!-- Footer -->
<footer class="bg-dark text-center text-white">
<!-- Grid container -->
<div class="container p-4">
<!-- Section: Text -->
<section class="mb-4">
<p>
(50595) 경상남도 양산시 물금읍 황산로 733-21 | TEL: 055-387-2941
</p>
</section>
<!-- Section: Text -->
<!-- Section: Links -->
<section class="">
<!--Grid row-->
<div class="row">
<!--Grid column-->
<div class="col-lg-3 col-md-6 mb-4 mb-md-0">
<h5 class="text-uppercase">
학교 소개
</h5>
<ul class="list-unstyled mb-0">
<li>
<RouterLink
:to="'/SchoolIntroduction/PastorGreeting'"
class="text-white nav-link">
이사장 인사말
</RouterLink>
</li>
<li>
<RouterLink
:to="'/SchoolIntroduction/SchoolHistory'"
class="text-white nav-link">
학교 연혁
</RouterLink>
</li>
<li>
<RouterLink
:to="'/SchoolIntroduction/PhilosophyEducation'"
class="text-white nav-link">
교육 철학
</RouterLink>
</li>
<li>
<RouterLink
:to="'/SchoolIntroduction/SchoolFacilities'"
class="text-white nav-link">
학교 시설
</RouterLink>
</li>
<li>
<RouterLink
:to="'/SchoolIntroduction/SchoolHistory'"
class="text-white nav-link">
학교 연혁
</RouterLink>
</li>
</ul>
</div>
<!--Grid column-->
<!--Grid column-->
<div class="col-lg-3 col-md-6 mb-4 mb-md-0">
<h5 class="text-uppercase">
교육 정보
</h5>
<ul class="list-unstyled mb-0">
<li>
<RouterLink
:to="'/EducationInfo/AcademicCalendar'"
class="text-white nav-link">
학사 일정
</RouterLink>
</li>
<li>
<RouterLink
:to="'/EducationInfo/Curriculum'"
class="text-white nav-link">
커리큘럼
</RouterLink>
</li>
<li>
<RouterLink
:to="'/AdmissionGuide/RecruitmentGuide'"
class="text-white nav-link">
입학 FAQ
</RouterLink>
</li>
</ul>
</div>
<!--Grid column-->
<!--Grid column-->
<div class="col-lg-3 col-md-6 mb-4 mb-md-0">
<h5 class="text-uppercase">
입학 안내
</h5>
<ul class="list-unstyled mb-0">
<li>
<RouterLink
:to="'/AdmissionGuide/RecruitmentGuide'"
class="text-white nav-link">
모집 요강
</RouterLink>
</li>
<li>
<RouterLink
:to="'/AdmissionGuide/EducationExpenses'"
class="text-white nav-link">
교육비 안내
</RouterLink>
</li>
<li>
<RouterLink
:to="'/AdmissionGuide/ConsultationInquiry'"
class="text-white nav-link">
상담 문의
</RouterLink>
</li>
</ul>
</div>
<!--Grid column-->
<!--Grid column-->
<div class="col-lg-3 col-md-6 mb-4 mb-md-0">
<h5 class="text-uppercase">
국크 이야기
</h5>
<ul class="list-unstyled mb-0">
<li>
<RouterLink
:to="'/SchoolStory/SchoolNews'"
class="text-white nav-link">
학교 소식
</RouterLink>
</li>
<li>
<RouterLink
:to="'/SchoolStory/SchoolActivities'"
class="text-white nav-link">
학교 활동
</RouterLink>
</li>
<li>
<RouterLink
:to="'/SchoolStory/NoticeBoard'"
class="text-white nav-link">
학생 마당
</RouterLink>
</li>
</ul>
</div>
</div>
</section>
</div>
<div
class="text-center p-3"
style="background-color: rgba(0, 0, 0, 0.2);">
© 2021 Copyright Onnuri International Christian School. ALL RIGHT RESERVED
</div>
</footer>
</template>
<style scoped lang="scss">
li{
margin-bottom: 5px;
&:first-child{
margin-top: 20px;
}
}
h5 {
font-weight: bold;
}
@media (max-width: 1000px) {
li{
margin-bottom: 0px;
}
}
</style>
모바일 웹 대응도 가능한 부트스트랩으로 만든 푸터이다.
다음은 트랜지션인데, 다른 화면으로 넘어갈때의 트랜지션을 지정해주었다. 내 사랑 fade로 넣어주었다.
이 또한 공식 문서를 참고했다.
https://router.vuejs.org/kr/guide/advanced/transitions.html
트랜지션 | Vue Router
트랜지션 는 본질적으로 동적인 컴포넌트이기 때문에 컴포넌트를 사용하는 것과 같은 방식으로 트랜지션 효과를 적용할 수 있습니다. 에 대한 모든 것 (opens new window) 을 확인하십시오. 라우트
router.vuejs.org
모든 화면을 넘어 갈때 트랜지션 되도록 작업 해 주었다.
<router-view v-slot="{ Component }" class="router">
<transition name="fade" mode="out-in">
<component :is="Component" />
</transition>
</router-view>
컴포넌트로 만들어 준 뒤 공식 문서에 나와있는 대로 css를 추가해주면 된다.
.router{
padding-bottom: 100px;
}
.fade-enter-active,
.fade-leave-active {
transition: opacity 0.5s ease;
}
.fade-enter-from,
.fade-leave-to {
opacity: 0;
}