티스토리 뷰

전체를 감싸는 div 추가하기

-유동형 레이아웃은 처음부터 유동형으로 작성하는 것이 좋지만, 이미 픽셀 값을 사용하여 만들어진 고정형 레이아웃도 유동형 레이아웃으로 만들 수 있다.

전체 스타일 시트를 살펴보고 전체 레이아웃을 감싸는 div가 없다면 가장 바깥에 새로운 div를 추가한 후 그곳에 id=“wrapper”또는 원하는 이름을 지정한다.

why???

div를 만드는 것은 각 요소들의 너비를%(백분율)로 바꿀 때 기준이 되는 너비가 필요하기 때문이다.

또한 전체를 감싸는 wrapper요소가 있으면 웹 문서 내용 전체의 크기나 배경 색 등을 한꺼번에 조절할 수 있고, 브라우저 화면 크기에 상관없이 웹 문서의 내용을 중앙에 배치할 수 있다.

ex) <body>태그 및 부분에 <div id=“wrapper”> 같이 전체 레이아웃을 감싸는 <div>태그 지정해준다. 그 후, <style>태그와 </style>태그 사이에 방금 위에서 추가한 wrapper라는 새로운 id의 스타일을 정의한다.

#wrapper {

width:960px;

margin:0 auto /상하여백 0 좌우 여백 자동   (내용을 화면 가운데 배치)

background-color:white;  / 콘텐츠 배경을 흰색

}

->이 경우에는 너비 값이 픽셀 단위이고 크기가 고정되어 있어, PC나 테블릿 , 스마트폰에서 그 크기가 똑같이 표시되고 일부 내용은 가려지기 때문에 화면을 스크롤해야 보는 단점이 있다 

해결 : 기존 고정형 레이아웃을 유동형 레이아웃으로 바꿔준다.


요소의 너비를 백분율(%)로 바꾸기

앞의 예를 이어서 , 가장 바깥의 #wrapper의 너비 값을 백분율로 변환한다. 여기에서는 화면 양 옆에 여백을 두기 위해 너비를 96%로 지정했습니다. 디자인이 모니터 화면에 가득차게 표시하고 싶다면 100%로 지정하면 됩니다.
ex) #wrapper {
width:96 %
margin:0 auto;
background-color:white

}

 

요소들 너비 값 계산하기

-나머지 요소들은 #wrapper안에 포함되는 것이므로 #wrapper크기를 기준으로 백분율 값을 계산합니다. 너비를 100이라는 기준으로 했을 때 각 요소들의 너비 값을 계하산하는 것입니다.

ex) article의 너비는 600px 인데, 960px를 기준으로 하면 600px / 960px = 0.625가 된다.

이 값을 백분율로 바꾸면 소수점을 오른쪽으로 두칸 이동시켜 62.5%가 된다 즉 article의 너비는 62.5%가 됩니다.

article {

float:left;

width:62.5%

padding:20px;

}

 

공식

->px너비 값을 %너비로 바꾸려면 요소너비 / 부모요소 너비 값을 구한 후, 소수좀을 오른쪽으로 두칸 이동하여 원하는 백분율 값을 얻을 수 있다.

(요소 중 브라우저 너비에 따라 높이 값이 달라지는 요소가 있다면 높이 값도 %로 바꿔줍니다.)

 

% 요소의 너비 값을 %로 지정할 때 소수점 이하 숫자가 많다면 간단하게 소수점 이하 한두 자리로 표시하는 것이 좋다. 그후 오차를 고려해 실제 계산 값 보다 약간 작게 지정해주는 것이 좋다

 

 

패딩과 마진을 %로 바꾸기

-요소들의 너비가 조절됨에 따라 패딩과 마진 여백도 조절되는 것이 자연스럽습니다.

이또한 %값으로 조절해야 하는데 각 요소에 사용한 패딩과 마진 값도 #wrapper너비를 기준으로 계산합니다.

663p 참조

 

글자 크기를 em 단위로 변환하기

-웹 페이지를 작성할 때 글자 크기를 px단위를 사용합니다. px는 모니터의 해상도를 기준으로 하기 때문에 N-screen시대에는 적합하지 않다. 모니터의 해상도에 따라 픽셀 크기가 달라지기 때문이다.

em단위는 대문자 M의 너비를 1em으로 표현한 것으로, 16px1em에 해당합니다. 따라서 이미 px로 표시한 글자 크기는 16px로 나누면 emm 값으로 계산할 수 있습니다.

공식 : em = 글자 크기(px) / 16 px

 


유동형 이미지 만들기

-이미지 너비가 브라우저 화면의 너비보다 클 경우, 화면의 너비를 늘릴 때는 상관 없지만 브라우저 화면의 너비를 줄이면 일부가 가려진다.

 

해결 : CSS로 이미지의 최대 너비를 100%로 지정하면 된다.(브라우저 너비를 기준으로 항상 100%에 맞게 이미지 너비가 조절)

ex) img{

max-width:100%;

}

 

유동형 비디오 만들기

ex) video{
max-width:100%

}