brunch

#3-1. 기본 레이아웃 설정, 헤더&푸터 만들기

IMPREZA 테마로 미디어 사이트 따라 만들기

by oksambari

먼저, 완전 기본적인 레이아웃 소개 탬플릿이 있는지 찾아보다가 아무래도 이번에도 완성된 사이트를 참고로 완료까지 해 보는 게 낫겠다는 생각이 들었습니다. 그래서 이번에 고른 게 '신세계그룹뉴스룸' 사이트입니다.


다음과 같은 메인 디자인이 전달이 되었을 때를 가정해서 시작을 해 보겠습니다. (콘텐츠는 모두 post로 작성, 카테고리 및 태그 분류)



콘텐츠를 어떻게 운영할지 기획이 있고, 디자인이 나온 상황에서 이걸 워드프레스 사이트로 만들기 위해서 우선은 전체적인 기본 뼈대를 만들면 이후 작업이 쉬워집니다. 그래서 저같은 경우는 늘 기본 레이아웃 설정을 먼저하게 되는데요, 이 과정을 거치면 이후에는 기본 규칙을 토대로 페이지나 목록을 만드는 데에만 집중을 하면 되기 때문입니다.


Screenshot_2021-05-16 신세계그룹 뉴스룸 (1).png
이미지_2021-05-16_230531.png



웹 화면을 디자인대로 표시를 하려면 우선 동작을 배제하면 html과 css의 조합으로 표시가 됩니다. 브런치 사이트를 개발자도구로 확인해 보면 html 태그들에 대해서 여러 css 스타일 정의들이 있는 것을 볼 수 있습니다.

화면 캡처 2021-05-17 102658.png

폰트, 폰트 사이즈, 색 등 '선택자 { ~~~ }' 형태로 정의가 돼 있는 게 css 기본 문법입니다. 그런데 이걸 다 알아야 사이트를 만들 수 있는건가? 그렇진 않고 알맞은 테마를 사용함으로써 얻을 수 있는 이점 중에는 이런 기본 css 설정의 경우는 이미 테마 개발 시 정의가 돼 있어서 그걸 이용하는 나는 몇가지 규칙만 설정을 하면 사이트를 만드는 데 큰 어려움이 없게 된다는 것도 있습니다.



앞서 메인 페이지 디자인을 보고 확인을 한 결과 얻은 규칙들로는 주요색 조합, 헤더의 최대 넓이&높이, 본문 페이지 콘텐츠의 최대 넓이, 컬럼(한 줄을 칸으로 나누기)이 있는데 반응형으로 1컬럼으로 전환이 되는 지점, 폰트 종류와 사이즈, 섹션간 사이 공간 등이 있습니다. (※ 좀 더 정확히 하기 위해 디자이너에게 확인 요청을 하기도 합니다.)


※ 반응형 웹 퍼블리싱에서 가로 사이즈는 고정해서 지정을 잘 하지 않습니다. 대신 화면 요소들을 감싸는 묶음에 최대 넓이를 주거나 컬럼의 경우 %로 넓이를 지정하는데요 그래야 화면이 줄면 알아서 요소들의 가로폭이 변형이 될 수 있습니다.
최대 넓이 아래 안에 들어갈 화면 요소들(이미지, 텍스트 등)은 이제 공간 개념만 잘 적용을 하면 되는 것이죠. https://www.w3schools.com/css/css_boxmodel.asp
화면 캡처 2021-05-17 105601.png



이제 기본 레이아웃을 설정해 보겠습니다.



1. 규칙을 테마 옵션에 설정

확인된 규칙들을 테마에 설정하는 방법은 간단합니다. 어드민 메뉴에서 Impreza > Theme Options에서

Site Layout, Colors, Typography 설정들에서 적용을 하면 됩니다.

이미지 1.png
2021-05-17 11 39 02.png
2021-05-17 11 39 44.png

대개는 본문폭과 헤더의 폭이 같거나, 헤더는 전체 넓이로 펼쳐지거나 하는데 참고사이트 디자인상 헤더의 폭이 조금 더 크게 돼있네요. (1100, 1450) 이럴 때에는 따로 옵션이 없으니 헤더의 최대 넓이만 다시 정의를 해 주면 됩니다.

테마 옵션 중에 'Custom Code' 라는 메뉴가 있는데, 여기에서 내 마음대로 css나 html, script를 추가할 수 있습니다.

2021-05-17 12 22 19.png




2. 헤더 만들기

헤더에는 로고와 주 메뉴, 버튼, 그리고 검색버튼이 들어가야 합니다. 화면을 내려도 계속 위쪽에 붙어 있도록 sticky 처리가 되어야 합니다. (참고사이트의 경우 980 이하부터 모바일 화면을 고려한 스타일 정의가 된 것으로 보이는데 이 부분은 조금 조정을 했습니다.)

헤더는 Impreza 메뉴 아래 Header에서 만들 수 있습니다. 처음부터 구성을 해도 되고 조금 더 편하게 하려면 탬플릿 중 하나를 선택해서 만들기를 할 수 있습니다.

2021-05-17 12 37 59.png

헤더를 구성 시에는 반응형 화면을 고려해서 대개 3단계로 화면 사이즈에 맞게 요소를 배치하고, 스타일을 수정하여서 요소가 겹치거나 화면이 깨지는 것을 방지합니다.

2021-05-17 12 41 29.png
2021-05-17 12 42 41.png
2021-05-17 12 43 43.png

1200px 이하 화면에서는 메뉴를 숨기고, 좌측에 햄버거 메뉴를 둬서 메뉴 구조가 좌측에서 슬라이드 되어 나올 수 있도록 하는 버튼을 배치했습니다. (슬라이딩 구조는 차후 제작)


각 요소에 마우스를 올려보면 상세 내용을 편집할 수 있는 연필 모양의 버튼이 있는데 클릭하면 세부 디자인을 설정할 수 있는 팝업이 나오게 됩니다. 예로 메뉴 편집을 들어가면 어떤 메뉴 구조를 표시할지, 메뉴 간격은 얼마인지, 메뉴 폰트 사이즈는 얼마인지 등을 설정 가능합니다.

2021-05-17 12 50 19.png
2021-05-17 12 51 14.png


구성 후 사이트를 열어보면 헤더가 표시되는 걸 볼 수 있습니다.

2021-05-17 12 55 13.png

단, 여기서 헤더 아래 라인과, 서브 메뉴 위쪽의 붉은색 바는 옵션에는 없으므로 이런 건 css를 따로 추가를 해 줘야 합니다. 반응형 화면을 고려해서 메뉴 패딩 등도 조정을 하면 헤더와 관련된 추가 css는 현재까지 이렇게 정의가 되었습니다.

2021-05-17 12 57 10.png




3. 푸터 만들기

푸터에는 SNS 링크들, 푸터용 메뉴, 카피라이트, 그리고 패밀리 사이트가 구성이 돼 있습니다. 화면의 일부 조각의 개념은 Impreza 테마에서는 Page Block 으로 만들고 이용을 할 수 있게 돼있습니다. (Impreza > Page Blocks)

'Footer'라는 페이지 블럭 하나를 만들고 화면 빌더를 이용해서 1/3 + 2/3 두 컬럼으로 나뉜 화면을 구성합니다.

2021-05-17 13 07 41.png

푸터와 관련된 추가 css 정의는 오른쪽 위부분 톱니 모양을 클릭하면 나오는 팝업에서 적을 수 있습니다.

2021-05-17 13 13 14.png

패밀리사이트는 참고사이트와 다르게 클릭하면 옵션이 나오는 것으로 변경을 위해 nice select라는 jQuery 플러그인을 사용했고, 이와 관련된 스타일 수정 및 푸터 메뉴간 간격 및 오른쪽 구분선 추가를 위한 css 코드를 이곳에 적었습니다.



여기까지 적용을 하고 사이트를 열어보면 기본적인 사이트의 뼈대가 갖춰진 것을 확인할 수 있습니다.

Opera 스냅샷_2021-05-17_131700_oks-dev.tk.png
Screenshot_2021-05-17 WordPress site – 워드프레스 사이트 만들기.png




위 과정이 완료가 되면 이제 본문은 1100px 화면 내에서 콘텐츠들이 열에 맞게 배치가 될 것입니다. 이어서 디자인대로 이미지와 텍스트 등이 배치가 될 페이지를 만드는 작업 및 글 리스트들이 카테고리별로, 태그별로 표시가 될 탬플릿을 제작하는 주요 작업이 이어지게 됩니다.



※ 임시 테스트 개발용 사이트 : https://oks-dev.tk/media/

keyword
매거진의 이전글#3-0. 워드프레스 웹사이트 만들기 개요