완성된 웹페이지의 모습
오전에 video 태그에 대해 공부하였고, 해당 태그로 동적이고 아름다운 웹페이지를 만들면 재미있겠다는 생각이 들었다.
현재 계절이 겨울이다보니 주제를 겨울로 정하고 만들어보다가 한 페이지 안에 4계절을 모두 표현하면
아름다울것 같아서 봄, 여름, 가을, 겨울 리스트를 만들어보았다.
리스트는 hover하면 계절에 맞게 색깔이 바뀌는 링크인데,
봄은 빨간색/여름은 초록색/가을은 노란색/겨울은 파란색으로 변경된다.
하지만 생각보다 자연스럽지 않고 디자인적인 부분이 뭔가 아쉬웠다.
웹페이지는
header / main / footer로 상,중,하를 나누었다.
header에는 동그란 썸네일이 들어가도록 했고,
아래에 간단한 문구와 리스트가 나온다.
main에는 column-count를 3을 줘서
아홉가지의 영상이미지가 3행 3열로 나열되도록 하였다.
footer는 뭔가를 작성할수도 있을것 같아서 일단 남겨두었다.
header
video 태그
<header class="header">
<div id="thumbnail">
<video muted autoplay loop>
<source src="winter-main.mp4" type="video/mp4">
</video>
header의 첫번째에 위치하는 video태그이다.
autoplay로 자동재생되게 만들었고, loop로 해당 영상이 끝나도 처음으로 돌아가 반복된다.
영상은 모두 저작권이 없는 pixabay의 이미지를 가져왔다.
비디오는 css를 사용하여 동그랗게 만들었다.
border-radius를 100%로 주고
width와 height 값을 둘다 500px로 하여 가로와 세로의 길이가 똑같은 동그란 모양을 만들었고,
video를 포함하고 있는 겉부분인 thumbnail의 테두리 부분도 동그랗게 만들고 10px의 굵기를 주었다.
여기서 display를 inline-block으로 해야 video를 감싸는 형태가 된다.
.header #thumbnail {
border: 10px solid rgba(255, 255, 255, 0.8);
border-radius: 100%;
display: inline-block;
}
.header #thumbnail video {
background-color: black;
width: 500px;
height: 500px;
border-radius: 100%;
}
텍스트와 리스트
썸네일의 아래에 위치하는 텍스트를 만들어보았다.
h1태그는 font-weight로 굵기를 얇게 만들었으며, font-size는 3rem으로 크기를 키웠다.
각 계절에 해당하는 텍스트는 strong으로 지정하여 해당 텍스트에 마우스를 hover하면 크기가 4rem이 되도록 하였고
border-bottom으로 밑줄을 dotted 형식으로 그어 디자인적인 요소를 추가하였다.
글꼴은 구글 폰트의 font-family: 'Island Moments', cursive; 를 사용하였다.
.header h1 {
color: rgba(255, 255, 255, 0.8);
font-weight: 200;
font-size: 3rem;
}
.header h1 strong {
color: rgba(255, 255, 255, 0.8);
font-weight: 200;
border-bottom: 1px dotted rgba(255, 255, 255, 0.8);
}
.header h1 strong:hover {
color: white;
font-size: 4rem;
}
헤더의 마지막에는 리스트가 온다.
봄,여름,가을,겨울을 나타내는 페이지를 리스트로 만들어 ul 태그로 묶고,
리스트 안에는 a태그를 포함하여 페이지를 클릭하면 연결되도록 링크로 구성하였다.
리스트는 display를 inline-block으로 하여 가로로 나열되게 만들고
width와 height를 100px씩 줘서 리스트간 간격을 띄우도록 했다.
a태그는 border-radius를 100%로 주고 width와 height를 20px로 설정하여 작은 동그라미로 만들었으며,
마우스를 hover하면 각 계절에 맞는 색으로 변경되도록 하였다.
/* list */
.header ul {
padding-top: 30px;
/* display: inline-block; */
}
.header li {
display: inline-block;
width: 100px;
height: 100px;
}
.header a {
display: block;
width: 20px;
height: 20px;
text-decoration: none;
border-radius: 100%;
background-color: rgba(255, 255, 255, 0.8);
}
.header #spring:hover {
background-color: rgba(255, 0, 0, 0.5);
}
.header #summer:hover {
background-color: rgba(0, 255, 0, 0.5);
}
.header #fall:hover {
background-color: rgba(255, 255, 0, 0.5);
}
.header #winter:hover {
background-color: rgba(0, 0, 255, 0.5);
}
이렇게 헤더부분을 완성하였다.
main
main 부분에는 video 태그를 사용한 3가지 영상을 3행 3열 총 9개로 표현하였다.
column-count를 3으로 줘서 3행으로 영상들이 위치하게 만들고
video 태그에는 width를 100%로 하여 영상이 잘리는 부분 없이 웹페이지에 드러날 수 있도록 하였다.
완전 직사각형의 간격이 없는 모양도 잘 정돈된 느낌이라 예쁘지만
border-radius를 20px주고 column-gap을 10px 줘서 약간 떨어진 각이 없는 모양으로 만들었다.
.main #columns{
column-count: 3;
column-gap: 10px;
}
.main #columns video {
border-radius: 20px;
width: 100%;
}
개발을 하면서 디자인적인 요소에 대해 많은 생각을 해보게 되었다.
열심히 만들고 싶어 잡다한 기능들을 추가하면 오히려 페이지의 아름다움이 훼손되었고
깔끔하고 단순하게 만든 것이 더 아름답게 느껴졌다.
그래서 디자인이라는 것은 추가하는 것이 아닌 조화가 중요하다는 것을 깨달았다.
'프로젝트' 카테고리의 다른 글
web) 이미지가 있는 버튼 만들기 (2) | 2021.12.23 |
---|---|
mysql) TodayILearn (0) | 2021.12.22 |
HTML 미니 프로젝트 : BEAUTEFUL POEM (0) | 2021.12.17 |