-
Vue 프로젝트 영화 상세 페이지 정리프로젝트/영화 검색 (Vue) 2021. 8. 9. 14:09
Vue 프로젝트 영화 상세 페이지 정리
1. /src/routes/Movie.vue 수정
<template> <div class="container"> <template v-if="loading"> <div class="skeletons"> <div class="skeleton poster"></div> <div class="specs"> <div class="skeleton title"></div> <div class="skeleton spec"></div> <div class="skeleton plot"></div> <div class="skeleton etc"></div> <div class="skeleton etc"></div> <div class="skeleton etc"></div> </div> </div> <Loader :size="3" :z-index="9" fixed /> </template> <div v-else class="movie-details"> <div :style="{ backgroundImage: `url(${theMovie.Poster})` }" class="poster"></div> <div class="specs"> <div class="title"> {{ theMovie.Title }} </div> <div class="lables"> <span>{{ theMovie.Released }}</span> <span>{{ theMovie.Runtime }}</span> <span>{{ theMovie.Country }}</span> </div> <div class="plot"> {{ theMovie.Plot }} </div> <div class="ratings"> <h3>Ratings</h3> </div> <div> <h3>Actors</h3> {{ theMovie.Actors }} </div> <div> <h3>Director</h3> {{ theMovie.Director }} </div> <div> <h3>Production</h3> {{ theMovie.Production }} </div> <div> <h3>Genre</h3> {{ theMovie.Genre }} </div> </div> </div> </div> </template>
<script> import Loader from '~/components/Loader' export default { components: { Loader }, computed: { theMovie() { return this.$store.state.movie.theMovie }, loading() { return this.$store.state.movie.loading } }, created() { ... } } </script>
<style lang="scss" scoped> @import "~/src/scss/main"; .container { padding-top: 40px; } .skeletons { display: flex; .poster { flex-shrink: 0; width: 500px; height: 500px * 3 / 2; margin-right: 70px; } .specs { flex-grow: 1; } .skeleton { border-radius: 10px; background-color: $gray-200; &.title { width: 80%; height: 70px; } &.spec { width: 60%; height: 30px; margin-top: 20px; } &.plot { width: 100%; height: 250px; margin-top: 20px; } &.etc { width: 50%; height: 50px; margin-top: 20px; } } } .movie-details { display: flex; color: $gray-600; .poster { flex-shrink: 0; width: 500px; height: 500px * 3 / 2; margin-right: 70px; border-radius: 10px; background-color: $gray-200; background-size: cover; background-position: center; } .specs { flex-grow: 1; .title { color: $black; font-family: 'Oswald', sans-serif; font-size: 70px; line-height: 1; margin-bottom: 30px; } .labels { color: $primary; span { &::after { content: "\00b7"; margin: 0 6px; } &:last-child::after { display: none; } } } .plot { margin-top: 20px; } .ratings { } h3 { margin: 24px 0 6px; color: $black; font-family: "Oswald", sans-serif; font-size: 20px; } } } </style>
결과
참고
http://www.evotech.net/blog/2007/04/named-html-entities-in-numeric-order/
Javascript, CSS, and (X)HTML entities in numeric order
p.entities {font-weight:bold;} .entities_num td {padding:4px; border:1px solid #000000;} code {font-size:1.1em;} Named HTML entities in numeric order Below are the entities listed in numeric order …
www.evotech.net
'프로젝트 > 영화 검색 (Vue)' 카테고리의 다른 글
Vue 프로젝트 더 높은 해상도의 영화 포스터 가져오기 (0) 2021.08.16 Vue 프로젝트 Ratings 데이터 출력 (0) 2021.08.16 Vue 프로젝트 Loader (0) 2021.08.09 Vue 프로젝트 스켈레톤(Skeleton) UI (0) 2021.08.08 Vue 프로젝트 단일 영화 상세 정보 가져오기 (0) 2021.08.08