1. 개념 (그냥 스크롤해도 계속 따라 다니면서 그자리 그대로 박혀있는거!)

#고정 레이아웃이란?
-1단 또는 다단 레이아웃에서 상단(header)과 하단(footer) 또는 그 두 영역이 모두 컨텐츠의 높이나 내용에 상관없이 항상 노출 되도록 하는 레이아웃
-컨텐츠의 내용이 길어서 메뉴나 상단 컨텐츠를 고정해주는 것.

#고정 레이아웃 형태를 가진 사이트들
-(네이버 소프트웨어야 놀자) https://www.playsw.or.kr/main
-(네이버 오디오클립) https://audioclip.naver.com
-(라인) https://line.me/ko

 

 

LINE|라인은 언제나 사용자와 함께 합니다.

메신저 앱 그 이상의 경험을 제공합니다. 라인은 새로운 인프라 경험, 새로운 커뮤니케이션 경험을 모두에게 전달하고자 합니다.

line.me

 

소프트웨어야 놀자

Play with AI, Play with DATA

www.playsw.or.kr

 

네이버 오디오클립

즐거움이 들린다, 오디오클립! 당신을 위한 특별한 오디오 콘텐츠를 만나 보세요.

audioclip.naver.com

 

LINE|라인은 언제나 사용자와 함께 합니다.

메신저 앱 그 이상의 경험을 제공합니다. 라인은 새로운 인프라 경험, 새로운 커뮤니케이션 경험을 모두에게 전달하고자 합니다.

line.me

 

2. 코드

<body>
    <div class="wrap">
        <div class="header">header</div>
        <div class="container">
            <div class="content">content</div>
        </div>
        <div class="footer">footer</div>
    </div>
</body>

HTML 구조

 

 

 

	html, body{
            height: 100%;
        }
        .wrap{
            height: 100%;
            min-width: 800px;
            text-align: center;
        }
        .header{
            height: 100px;
            position: fixed;
            background-color: aqua;
            top: 0; left: 0; right: 0;
        }
        .container{
            /* height를 %로 지정하기 위해서는 부모요소로 부터 높이값을 상속받아야한다. */
            min-height: 100%;
            margin: 0 auto;
            margin-top: -100px;
            padding-top: 200px;  /* padding으로 해야 border-box를 사용하여 원하는 레이아웃을 만들 수 있다. */
            box-sizing: border-box;
        }
        .content{
            margin: 0 auto;
            max-width: 1200px;
            height: 300px;
            background-color: brown;
        }
        .footer{
            height: 100px;
            background-color: blue;
        }

CSS구조

 

 

 

레이아웃

 

 

※  reset.css 적용시켜줘야 된다!!

reset.css
0.00MB

 

 

 

이제 하나하나 대충대충 이해한걸 뜯어보자.

 

3. 정리 

3-1. 전체적인 레이아웃

결과본

 

 

※ 주의해야할 점!!!

container

주의해야할 점은 container 영역이 사실 header 영역에서 부터 footer 위까지 쭉 이어져 있다는 것이다. 이는 header가 fixed로 되면서 고정영역으로 되어있기 때문이다.

 

3-2. header

여기에서 중요한 점은 position을 fixed로 설정했다는 것이다.

고정 레이아웃은 상단(header)과 하단(footer) 또는 그 두 영역이 모두 컨텐츠의 높이나 내용에 상관없이 항상 노출 되도록 하는 레이아웃 이므로 fixed가 가장 중요하다고 생각한다.

 

fixed를 적용하면 요소가 해당 영역에 딱 붙어있게 된다. (GIF)

 

 

3-3. container

container css

# header fixed 문제 해결

고정 레이아웃을 공부할 때 가장 감명깊었던것이 container 부분이었다. 그 이유가 header가 fixed가 되면서 container 부분이 header 아래로 들어가버리는 현상을 해결해야했기 때문인데 단순히 margin-top: 100px;(header의 높이가 100px이니까 그만큼 내려주는 것) 을 하면 되는 줄 알았는데, 훨씬 좋은 방법 이 있었다. 

 

[해결방법]

1. 오히려 margin-top : -100px; 을 해준다. (margin은 -를 하면 반대로 움직인다고 생각)

원하는 그림(좌) / margin-100px; 를 했을 때 그림(우)

 

2. padding-top: 200px;

padding-top:200px; 결과

container의 height가 200px; 만큼 더 커진 이유가 중요하다.

예를 들면 해당 예시에서의 container 크기는 969px이다. (html 태그의 height 크기 자체가 969px이고, container는 min-height: 100%; 이기 때문에 부모의 height를 100% 상속받는다.)

하지만 padding-top:200px; 을 하면서 container의 크기가 200px 늘어나버려 1169px; 가 되어버린것.

 

그것을 해결하기 위해 box-sizing: border-box; 를 해준다.

이는 padding 값과 border 값도 포함하여 요소의 height를 지정해주는 속성값이다.

 

3. box-sizing: border-box;

결과적으로 아래와 같은 모양이 된다.

border-box 적용

 

중요한 내용은 다 정리했으니까

끄읕..

'TEMP' 카테고리의 다른 글

윈도우10 자동 드라이버 업데이트 기능 끄기  (0) 2018.08.01


1. 문제점

노트북을 사용하는데 커스텀 드라이버 또는 OEM드라이버를 설치해서 잘 사용하고 있다가 갑자기 블루스크린이 떠서 골치가 아팠다..
원인을 검색해보았는데 드라이버 문제일 가능성이 높다고 한다. 확인해보니 그래픽카드 드라이버가 자동으로 다른 버전이 설치되어 있었다. 윈도우가 자동으로 새로운 버전의 드라이버를 검색해서 설치한 것이다.

2. 해결방법

윈도우의 자동 드라이버 업데이트 기능을 끄면 된다.

2-1-가 자동 업데이트 기능 끄기

1. '내 컴퓨터-속성' 으로 들어간다.

2. 빨간색으로 표시된 '고급 시스템 설정'을 클릭한다.


3. '하드웨어 탭'의 '장치 설치 설정'으로 들어간다.


4. '아니요'를 체크한 후 변경 내용을 저장한다.


2-1-나 자동 업데이트 기능 끄기(Windows10 Pro 이상만 가능)

1. 실행창에 gpedit.msc 라고 입력한 후 엔터


2. '관리 템플릿' - 'Windows 구성 요소' - 'Windows 업데이트' 에 빨간색으로 표시된 'Windows 업데이트에 드라이버를 포함하지 않음' 정책을 편집한다.





3. '사용'을 체크한 후 확인을 누른다.


여기까지 하면 자동으로 드라이버가 업데이트 되는 기능을 동작하지 않을 것이다. 만약 이미 Windows 업데이트에 드라이버 업데이트가 포함 되었다면 아래의 방식으로 업데이트를 제거할 수 있다.



2-1-다 이미 업데이트에 포함된 드라이버 업데이트 제거

1. 아래의 링크에서 'wushowhide' 프로그램을 다운로드 한다. (혹시 몰라서 첨부파일에도 올려놓았다.)

wushowhide.diagcab


https://www.techtantri.com/tantri/wp-content/uploads/files/wushowhide.diagcab



2. 메뉴 설명

Hide updates 

 업데이트를 숨기는 메뉴

Show hidden updates

 숨겨진 업데이트를 보는 메뉴

우리는 업데이트를 숨겨야 하니 1번 메뉴인 'Hide updates'를 클릭한다.



3. 숨길 업데이트를 체크한 후 다음을 클릭한다. (여기서는 그래픽카드 드라이버인 'NVDIA - Display'만 체크)



4. 결과 확인 후 '문제 해결사 닫기' 클릭

P.S 1번으로 돌아가서 2번 메뉴인 'Show hidden~' 메뉴를 선택하여 숨겨진 업데이트를 다시 확인 할 수 있다.






'TEMP' 카테고리의 다른 글

HTML 레이아웃 - 고정 레이아웃  (0) 2022.10.21

+ Recent posts