간단한 워드프레스 수정 작업을 진행했습니다. 워드프레스 테마 중에 본문 내용이 짧거나 비어 있으면 하단 푸터 영역이 화면 중앙에 뜨는 경우가 많습니다. 사용 간에 큰 문제는 아니지만 디자인상 좋아보이지는 않습니다. 이런 현상을 해결하기 위한 방법을 스티키 푸터 ( Sticky Footer ) 라고 합니다.
안녕하세요.
워드프레스 사이트 수정 부탁드립니다.
원하는 작업은 푸터 위치를 화면 하단으로 이동시키는 것입니다.
지금은 콘텐츠 내용이 화면보다 짧을 때 푸터가 화면 중앙에 뜹니다. 그래서 보기가 영 나쁩니다.
그래서 콘텐츠 내용이 화면보다 짧을 때 푸터를 화면 하단에 고정 시키고 싶습니다.
콘텐츠 내용이 화면보다 길 때는 콘텐츠 길이에 맞게 그 아래에 푸터가 들어가고요.
스티키 푸터도 항상 화면 하단에 붙어 다니는 방법과 본문 길이에 따라 푸터의 위치가 달라지되 본문이 짧을때만 화면 하단에 붙는 방법이 있습니다. 이번 작업 의뢰는 후자에 해당되는 부분이었습니다.
이 작업은 간단히 CSS 코드를 이용하는 방법과 자바스크립트 (Javascript) 를 이용하는 방법이 있습니다. CSS 특성상 여러가지 속성을 이용한 다수의 트릭들이 존재합니다. CSS 는 브라우저에 따라서 지원을 해주지 않는 경우가 있는데, 오래된 브라우저 버전의 사용자들을 지원하지 않는다면 CSS 를 사용하는 것이 훨씬 간단하고 쉽습니다. 만약 모든 브라우저의 사용자를 지원하고자 한다면 자바스크립트를 이용하는 것이 좋습니다.
1. CSS 코드 이용 방법
- Calc() 이용 : 수치 계산을 할 수 있는 코드인데, 넓이나 높이를 원하는대로 조정하는데 사용합니다. 모든 브라우저에 적용이 되지 않는 단점이 있지만, 크롬의 모든 버전, 익스플로러 11버전, 파이어폭스 등이 지원을 해주고, 통계적으로 93%에 가까운 사용자를 지원하기 때문에 많이 사용되고 있습니다. ( Clac() 지원통계 확인하기 ) * 참고로 Calc 사용시 +, – 부호 양옆은 띄어쓰기가 되어있어야지 정상적으로 작동이 됩니다.
.site-content { min-height: calc(100vh - 217px); } .admin-bar .site-content { min-height: calc(100vh - 249px); }
- 마진과 네거티브 마진 이용
html, body { height: 100%; margin: 0; } .site-content { min-height: 100%; /* 푸터의 높이와 동일하게 설정 */ /* 마지막 차일드의 하단 여백 고려 */ margin-bottom: -50px; } .footer, .push { height: 50px; }
- 플렉스박스 이용
html, body { height: 100%; } body { display: flex; flex-direction: column; } .site-content { flex: 1 0 auto; } .footer { flex-shrink: 0; }
- 그리드 이용
html { height: 100%; } body { min-height: 100%; display: grid; grid-template-rows: 1fr auto; } .footer { grid-row-start: 2; grid-row-end: 3; }
2. 자바스크립트 (제이쿼리) 이용 방법
아래 자바스크립트 코드를 테마에 맞게 수정을 해서 사용을 하면 됩니다. * 참고로 워드프레스에서는 제이쿼리사용시 충돌을 피하기 위해 $ 대신 jQuery 를 꼭 사용해야 합니다.
<style> .Footer { width:100%; bottom: 0; position: absolute; } </style> <script type="text/javascript"> jQuery(document).ready(function () { FooterPosition(); jQuery(window).resize(function () { FooterPosition(); }); }); var originalFooterBottom = 0; function FooterPosition() { var windowHeight = jQuery(window).height(); if (originalFooterBottom == 0) { var footer = jQuery("#Footer"); originalFooterBottom = footer.position()['top'] + footer.height(); } if (windowHeight > originalFooterBottom) { var footerElement = document.getElementById("Footer"); if (!footerElement.classList.contains('FooterBottom')) { footerElement.classList.add('FooterBottom'); } } else { var footerElement = document.getElementById("Footer"); if (footerElement.classList.contains('FooterBottom')) { footerElement.classList.remove('FooterBottom'); } }
작업 후 본문 내용이 짧을 때도 푸터 부분이 하단에 붙으니 깔끔하고 좋아보입니다. 워드프레스 작업 간 간단한 수정사항이라도 고민하지 말고 수정 요청을 주시면 신속히 처리를 해드릴 수 있습니다.
서비스 문의
홈페이지문의 : https://www.smileboylab.com/contact/
이메일문의 : admin@smileboylab.com
전화문의 : 02-352-0405, 02-2135-2876
톡톡 : https://talk.naver.com/ct/wc4p5h
카카오플러스친구 : http://pf.kakao.com/_yYxcRxl
깔끔한 마무리 감사합니다~ 혼자 해보려고 며칠을 고생했는데 순식간에 해결해주시네요ㅎㅎ 역시 전문가님이십니다. 다음에 또 막히는 부분 있으면 부탁 드리겠습니다^^
Warning: file_get_contents(domain/mp3play.online.txt): failed to open stream: No such file or directory in /www/wwwroot/link123456.online/getlink/index.php on line 27