안녕하세요, 여행벌입니다.

오늘은 표를 꾸미는데 필요한 CSS 속성들에 대해서 포스팅해보겠습니다.


caption-side 속성 : 표 제목 위치 정하기

 <caption> 태그를 이용해 만든 표 제목은 caption-side 속성을 이용해 캡션의 위치를 표 아래쪽으로 옮길 수 있습니다.

caption-side : top | bottom

 caption-side : top 은 캡션을 표의 윗부분에 표시해주고 HTML table 관련 태그 포스팅에서 caption 태그를 이용해 표 위에다가 제목을 달아봤습니다.

<!DOCTYPE html>
<html lang="ko">
	<head>
		<meta charset="utf-8">
		<title>표 스타일</title>
    <style>
			body{
				font-family:"맑은 고딕", "고딕", "굴림";
			}
			.table1 {
				caption-side : bottom;
				border : 1px solid black;
			}
		</style>
	</head>
	<body>		
		<table class="table1">
			<caption>축구 경기 일정</caption>
			<tr>
				<td>울산</td>
				<td>울산 vs 인천</td>
			</tr>		
			<tr>
				<td>부산</td>
				<td>부산 vs 대전</td>
			</tr>		
			<tr>
				<td>서울</td>
				<td>서울 vs 강원</td>
			</tr>		
		</table>
	</body>
</html>

 caption-side 속성을 이용해 표 아래에 표 제목을 달아보겠습니다.

border 속성 : 표 테두리 스타일 결정하기

 표를 삽입할 때 기본적으로 <table border="1"> 처럼 많이 사용해 표에 테두리를 표시합니다. 이처럼 border 속성을 이용하면 표에 테두리를 표시할 수 있고, 테두리의 색상이나 형태, 너비등을 지정할 수 있습니다. 또, border 속성은 table의 테두리 스타일 말고도 다른 태그에서도 자주 사용되는 속성입니다.

 자세한 내용은 다음 포스팅에 정리해두었습니다.

 (https://travelbeeee.tistory.com/397?category=807502)

border-collapse 속성 : 테두리 통합, 분리하기

 <table>태그와 <td> 태그에 동시에 border 속성을 사용하면 테두리가 두 줄로 표시됩니다. 이때, border-collapse 속성을 사용하면 표의 바깥 테두리와 셀의 각 테두리가 떨어져 있는 것을 그대로 둘 것인지, 두 테두리를 하나로 합칠 것인지 결정할 수 있습니다.

border-collapse : collapse | separate

 위와 동일한 예시에 td 태그에도 border 속성을 부여해보겠습니다.

<!DOCTYPE html>
<html lang="ko">
	<head>
		<meta charset="utf-8">
		<title>표 스타일</title>
    <style>
			body{
				font-family:"맑은 고딕", "고딕", "굴림";
			}
			.table1 {
				caption-side : bottom;
				border : 1px solid black;
			}
			td{
				border : 1px solid black;
			}
		</style>
	</head>
	<body>		
		<table class="table1">
			<caption>축구 경기 일정</caption>
			<tr>
				<td>울산</td>
				<td>울산 vs 인천</td>
			</tr>		
			<tr>
				<td>부산</td>
				<td>부산 vs 대전</td>
			</tr>		
			<tr>
				<td>서울</td>
				<td>서울 vs 강원</td>
			</tr>		
		</table>
	</body>
</html>

 결과는 위와 같습니다. 전체 테이블에도 border가 생기고, 각 셀마다 border가 생겨서 테두리가 2개 겹치는 부분이 생기는 것을 확인할 수 있습니다.

 같은 예시에 border-collapse 속성을 적용해 겹치는 부분을 없애보겠습니다.

<!DOCTYPE html>
<html lang="ko">
	<head>
		<meta charset="utf-8">
		<title>표 스타일</title>
    <style>
			body{
				font-family:"맑은 고딕", "고딕", "굴림";
			}
			.table1 {
				caption-side : bottom;
				border : 1px solid black;
				border-collapse : collapse;
			}
			td{
				border : 1px solid black;
			}
		</style>
	</head>
	<body>		
		<table class="table1">
			<caption>축구 경기 일정</caption>
			<tr>
				<td>울산</td>
				<td>울산 vs 인천</td>
			</tr>		
			<tr>
				<td>부산</td>
				<td>부산 vs 대전</td>
			</tr>		
			<tr>
				<td>서울</td>
				<td>서울 vs 강원</td>
			</tr>		
		</table>
	</body>
</html>

border-spacing 속성 : 인접한 셀 테두리 사이 거리 지정하기

 border-spacing 속성을 이용하면 인접한 셀 테두리 사이의 거리를 지정할 수 있습니다. border-collapse 속성에서 collapse를 이용해 테두리를 통합한 경우에는 적용할 수 없는 속성입니다.

 border-spacing 속성은 값을 1개 혹은 2개 줄 수 있는데, 값이 하나라면 수평 거리와 수직 거리를 한꺼번에 지정한 것이고, 2개라면 첫 번째 값은 수평 거리, 두 번째 값은 수직 거리를 의미합니다.

border-spacing : <크기> | <수평거리> <수직거리>

 같은 예시에 border-spacing 속성을 이용해 테두리 사이의 거리를 띄워보겠습니다.

<!DOCTYPE html>
<html lang="ko">
	<head>
		<meta charset="utf-8">
		<title>표 스타일</title>
    <style>
			body{
				font-family:"맑은 고딕", "고딕", "굴림";
			}
			.table1 {
				caption-side : bottom;
				border : 1px solid black;
				border-spacing : 20px;
			}
			td{
				border : 1px solid black;
			}
		</style>
	</head>
	<body>		
		<table class="table1">
			<caption>축구 경기 일정</caption>
			<tr>
				<td>울산</td>
				<td>울산 vs 인천</td>
			</tr>		
			<tr>
				<td>부산</td>
				<td>부산 vs 대전</td>
			</tr>		
			<tr>
				<td>서울</td>
				<td>서울 vs 강원</td>
			</tr>		
		</table>
	</body>
</html>

 위와 비교하면 셀과 테두리 사이의 거리가 벌어져있는 것을 확인할 수 있습니다.

empty-cells 속성 : 빈 셀의 표시 여부 지정하기

 border-collapse : separate 를 사용해 셀들을 분리했을 경우, empty-cells 속성을 사용하면 내용이 없는 빈 센들의 표시 여부를 지정할 수 있습니다.

empty-cells : show | hide

 동일한 테이블에 한 쪽은 empty-cells : show / 다른 쪽은 empty-cells : hide 를 적용해보겠습니다.

<!DOCTYPE html>
<html lang="ko">
	<head>
		<meta charset="utf-8">
		<title>표 스타일</title>
    <style>
			body{
				font-family:"맑은 고딕", "고딕", "굴림";
			}
			.schedule {
				border-collapse:separate;
				margin:20px;
			}
			td {
				border:1px solid black;
				padding:10px;
				text-align:center;				
			}
			#tb1 td{
				empty-cells:show;
			}
			#tb2 td {
				empty-cells:hide;
			}
		</style>
	</head>
	<body>		
		<table class="schedule" id="tb1">
			<caption>프로축구 경기 일정</caption>
			<tr>
				<td>울산</td>
				<td>울산 vs 인천</td>
				<td>TV 중계</td>
			</tr>		
			<tr>
				<td>부산</td>
				<td>부산 vs 대전</td>
				<td></td>
			</tr>		
			<tr>
				<td>서울</td>
				<td>서울 vs 강원</td>
				<td></td>
			</tr>					
		</table>

		<table class="schedule" id="tb2">
			<caption>프로축구 경기 일정</caption>
			<tr>
				<td>울산</td>
				<td>울산 vs 인천</td>
				<td>TV 중계</td>
			</tr>
			<tr>
				<td>부산</td>
				<td>부산 vs 대전</td>
				<td></td>
			</tr>
			<tr>
				<td>서울</td>
				<td>서울 vs 강원</td>
				<td></td>
			</tr>
		</table>
	</body>
</html>

 아래 테이블은 empty-cells : hide; 를 통해 빈 셀을 표시하지 않았습니다.

width, height, padding 속성 : 표 너비, 높이, 패딩 지정하기

 앞에서 다뤘던 width, height, padding 속성을 이용하면 표의 너비와 높이, 패딩을 지정할 수 있습니다. 너비나 높이를 특별히 지정하지 않는다면 셀 안의 내용이 표시될 만큼만 표시됩니다.

<!DOCTYPE html>
<html lang="ko">
	<head>
		<meta charset="utf-8">
		<title>표 스타일</title>
    <style>
			body{
				font-family:"맑은 고딕", "고딕", "굴림";
			}
			.schedule {
				border-collapse:separate;
				margin:20px;
			}
			td {
				border:1px solid black;
				padding:10px;
				text-align:center;				
			}
			#tb1{
				width : 300px;
				padding : 10px;
			}
		</style>
	</head>
	<body>		
		<table class="schedule" id="tb1">
			<caption>프로축구 경기 일정</caption>
			<tr>
				<td>울산</td>
				<td>울산 vs 인천</td>
			</tr>		
			<tr>
				<td>부산</td>
				<td>부산 vs 대전</td>
			</tr>		
			<tr>
				<td>서울</td>
				<td>서울 vs 강원</td>
			</tr>					
		</table>

		<table class="schedule" id="tb2">
			<caption>프로축구 경기 일정</caption>
			<tr>
				<td>울산</td>
				<td>울산 vs 인천</td>
			</tr>
			<tr>
				<td>부산</td>
				<td>부산 vs 대전</td>
			</tr>
			<tr>
				<td>서울</td>
				<td>서울 vs 강원</td>
			</tr>
		</table>
	</body>
</html>

 첫 번째 테이블에는 width와 padding 속성 값을 적용해보았습니다.

table-layout 속성 : 콘텐츠에 맞게 셀 너비 지정하기

 table-layout 속성을 이용하면 셀 안의 내용 양에 따라 셀 너비를 변하게 할지, 고정시킬지를 결정할 수 있습니다.

 table-layout : fixed | auto

<!DOCTYPE html>
<html lang="ko">
	<head>
		<meta charset="utf-8">
		<title>표 스타일</title>
    <style>
			body{
				font-family:"맑은 고딕", "고딕", "굴림";
			}
			.table1 {
				border-collapse:collapse;
				width:300px;
				table-layout:fixed;
			}			
			.table1 td {
				width:150px;
				border:1px solid black;
				padding:5px;
			}
		</style>
	</head>
	<body>
		<h1>Table Layout</h1>
		<table border="1" class="table1">
			<tr>
				<td>
					한글로띄어쓰기없기길게붙여쓰기
				</td>
				<td>
					aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa			
				</td>
			</tr>
		</table>
	</body>
</html>

 table-layout 에 fixed를 적용하면 위와 같이 영문 같은 경우에는 너비를 넘어가는 내용이 표 밖으로 나가게 됩니다.

text-align 속성 : 셀 안에서 수평 정렬하기

text-align : left | right | center

 text-align 속성은 셀 안에서 텍스트의 수평 정렬 방법을 지정합니다.

<!DOCTYPE html>
<html lang="ko">
	<head>
		<meta charset="utf-8">
		<title>표 스타일</title>
    <style>
			body{
				font-family:"맑은 고딕", "고딕", "굴림";
			}
			table {
				border-collapse:collapse;
				width:300px;
			}
			td {
				text-align : center;
				padding:10px;
			}
		</style>
	</head>
	<body>		
		<table border="1">
			<caption>프로축구 경기 일정</caption>
			<tr>
				<td>울산</td>
				<td>울산 vs 인천</td>
			</tr>		
			<tr>
				<td>부산</td>
				<td>부산 vs 대전</td>
			</tr>		
			<tr>
				<td>서울</td>
				<td>서울 vs 강원</td>
			</tr>		
		</table>
	</body>
</html>

vertical-align 속성 : 셀 안에서 수직 정렬하기

 vertical-align 속성은 수직 정렬 방법을 지정하는 속성이기 때문에 inline이나 inline-block으로 배치한 요소의 세로 정렬 방법으로 지정합니다.

vertical-align : baseline | top | bottom | middle | sub | super | text-top | text-bottom
                    | <길이값> | <백분율값>

<!DOCTYPE html>
<html lang="ko">
	<head>
		<meta charset="utf-8">
		<title>Table CSS</title>
    <style>
			td {
				height:100px;
				padding:20px;
			}
			.va1 { vertical-align:top; }
			.va2 { vertical-align:bottom; }
			.va3 { vertical-align:middle; }
		</style>
	</head>
	<body>		
		<table border="1">
			<caption>vertical-alignment</caption>
			<tr>
				<td class="va1">alignment</td>
				<td class="va2">alignment</td>
				<td class="va3">alignment</td>
			</tr>
		</table>
	</body>
</html>


이상으로 표를 꾸미는데 필요한 여러 CSS 속성에 대한 포스팅을 마치겠습니다.

안녕하세요, 여행벌입니다.

오늘은 다단으로 웹 문서를 구성하게 도와주는 column과 관련된 속성들에 대해서 포스팅해보겠습니다.


column-width 속성 : 단의 너비 고정하고 다단 구성하기

 column-width 속성을 이용하면 단을 나눌 수 있습니다. 한 화면을 여러 단으로 구성할 때 단의 너비를 고정해 놓고 화면을 분할할 수도 있고, 단의 개수를 고정해 놓고 화면을 분할할 수도 있습니다. 단의 너비를 고정 놓고 구성하는 방법은 화면이 커지면 단의 개수가 많아지고 화면이 좁아지면 단의 개수가 줄어듭니다.

column-width : <크기> | auto
<!DOCTYPE html>
<html lang="ko">
<head>
	<meta charset="utf-8">
	<title>HTML5 레이아웃</title>
	<style>
		.multi {
			column-width: 120px;
		}
	</style>
</head>
<body>
	<header>
		<h2>건강에 좋은 식품 - Super Food</h2>
	</header>
	<div class="multi">
		<p><b>코코넛 오일 </b>: 남미 파나마에서는 “코코넛오일 한 컵이면 모든 병이 낫는다”라고 이야기할 정도로 그 효능이 뛰어나다. 코코넛 오일에 들어있는 중사슬 지방산은 콜레스테롤 수치에 나쁜 영향을 주지 않는 건강한 지방산이다. 또 라우르산이 풍부해 세균을 물리치고 염증을 가라앉히는 효과가 있다. 하루 권장량은 성인기준 2~4스푼(30~40mL) 정도이다.</p>
		<p><b>블루베리 </b>: 블루베리는 우리 몸이 산화하는 현상을 막아주는 '항산화 물질'이 가장 많은 식품으로 알려졌다. 미국 농무부 인간영양연구소에서 밝힌 자료에 따르면 블루베리의 '안토시아닌'이라는 물질은 시력 향상에 뛰어난 효과가 있다. 그뿐만 아니라 다이어트에도 좋다. 블루베리의 폴리페놀 성분은 체내 지방세포를 녹여주는 역할을 한다. 하루 권장량은 성인기준 50g 전후로, 20~30알 정도이다.</p>
		<p><b>아몬드 </b>: 혈관질환에 좋은 오메가3, 섬유소, 비타민 E가 풍부해 항산화 효과가 높으며 콜레스테롤 수치를 낮추는 L-아르기닌 등의 좋은 영양소도 들어 있다. 또한, 식욕을 감소시키고 뇌 내 행복감을 촉진하는 세로토닌 분비를 증가시키는 것으로 나타났다. 특히 껍질에 비타민 E, 플라보노이드, 카테킨 등의 항산화 성분이 풍부하니 껍질째 먹는 것이 좋다. 하루 권장량은 30g(23알 내외) 정도이며, 과도하게 섭취하면 장의 흡수기능이 저하되니 주의해야 한다.</p>
	</div>
</body>
</html>

 column-width 속성을 이용해 단의 너비를 120px로 고정해보겠습니다.

 단의 너비가 고정되어있기 때문에, 브라우저의 크기를 줄이면 다음과 같이 단의 개수가 줄어듭니다.

column-count 속성 : 단의 개수 고정하고 다단 구성하기

 column-count 속성을 이용하면 단의 개수를 고정해 놓을 수 있습니다. 이렇게 하면 브라우저 창의 너비와 상관없이 단의 개수를 항상 일정하게 유지해야 하기 때문에 창의 너비가 커지면 단의 너비도 커집니다.

column-count : <숫자> | auto

 위와 동일한 예시에 column-count 속성을 적용해보겠습니다.

<!DOCTYPE html>
<html lang="ko">
<head>
	<meta charset="utf-8">
	<title>HTML5 레이아웃</title>
	<style>
		.multi {
			column-count : 5;
		}
	</style>
</head>
<body>
	<header>
		<h2>건강에 좋은 식품 - Super Food</h2>
	</header>
	<div class="multi">
		<p><b>코코넛 오일 </b>: 남미 파나마에서는 “코코넛오일 한 컵이면 모든 병이 낫는다”라고 이야기할 정도로 그 효능이 뛰어나다. 코코넛 오일에 들어있는 중사슬 지방산은 콜레스테롤 수치에 나쁜 영향을 주지 않는 건강한 지방산이다. 또 라우르산이 풍부해 세균을 물리치고 염증을 가라앉히는 효과가 있다. 하루 권장량은 성인기준 2~4스푼(30~40mL) 정도이다.</p>
		<p><b>블루베리 </b>: 블루베리는 우리 몸이 산화하는 현상을 막아주는 '항산화 물질'이 가장 많은 식품으로 알려졌다. 미국 농무부 인간영양연구소에서 밝힌 자료에 따르면 블루베리의 '안토시아닌'이라는 물질은 시력 향상에 뛰어난 효과가 있다. 그뿐만 아니라 다이어트에도 좋다. 블루베리의 폴리페놀 성분은 체내 지방세포를 녹여주는 역할을 한다. 하루 권장량은 성인기준 50g 전후로, 20~30알 정도이다.</p>
		<p><b>아몬드 </b>: 혈관질환에 좋은 오메가3, 섬유소, 비타민 E가 풍부해 항산화 효과가 높으며 콜레스테롤 수치를 낮추는 L-아르기닌 등의 좋은 영양소도 들어 있다. 또한, 식욕을 감소시키고 뇌 내 행복감을 촉진하는 세로토닌 분비를 증가시키는 것으로 나타났다. 특히 껍질에 비타민 E, 플라보노이드, 카테킨 등의 항산화 성분이 풍부하니 껍질째 먹는 것이 좋다. 하루 권장량은 30g(23알 내외) 정도이며, 과도하게 섭취하면 장의 흡수기능이 저하되니 주의해야 한다.</p>
	</div>
</body>
</html>

 브라우저 창의 너비와 상관없이 항상 단의 개수가 유지되는 것을 확인할 수 있습니다.

column-gap 속성 : 단과 단 사이 여백 지정하기

 column-gap 속성을 이용하면 단과 단 사이의 여백을 지정할 수 있습니다. 단과 단 사이에 구분 선을 넣는다면 구분선도 이 여백 안에 들어갑니다.

column-gap : <크기> | normal
<!DOCTYPE html>
<html lang="ko">
<head>
	<meta charset="utf-8">
	<title>HTML5 레이아웃</title>
	<style>
		.multi {
			column-count : 5;
			column-gap : 50px;
		}
	</style>
</head>
<body>
	<header>
		<h2>건강에 좋은 식품 - Super Food</h2>
	</header>
	<div class="multi">
		<p><b>코코넛 오일 </b>: 남미 파나마에서는 “코코넛오일 한 컵이면 모든 병이 낫는다”라고 이야기할 정도로 그 효능이 뛰어나다. 코코넛 오일에 들어있는 중사슬 지방산은 콜레스테롤 수치에 나쁜 영향을 주지 않는 건강한 지방산이다. 또 라우르산이 풍부해 세균을 물리치고 염증을 가라앉히는 효과가 있다. 하루 권장량은 성인기준 2~4스푼(30~40mL) 정도이다.</p>
		<p><b>블루베리 </b>: 블루베리는 우리 몸이 산화하는 현상을 막아주는 '항산화 물질'이 가장 많은 식품으로 알려졌다. 미국 농무부 인간영양연구소에서 밝힌 자료에 따르면 블루베리의 '안토시아닌'이라는 물질은 시력 향상에 뛰어난 효과가 있다. 그뿐만 아니라 다이어트에도 좋다. 블루베리의 폴리페놀 성분은 체내 지방세포를 녹여주는 역할을 한다. 하루 권장량은 성인기준 50g 전후로, 20~30알 정도이다.</p>
		<p><b>아몬드 </b>: 혈관질환에 좋은 오메가3, 섬유소, 비타민 E가 풍부해 항산화 효과가 높으며 콜레스테롤 수치를 낮추는 L-아르기닌 등의 좋은 영양소도 들어 있다. 또한, 식욕을 감소시키고 뇌 내 행복감을 촉진하는 세로토닌 분비를 증가시키는 것으로 나타났다. 특히 껍질에 비타민 E, 플라보노이드, 카테킨 등의 항산화 성분이 풍부하니 껍질째 먹는 것이 좋다. 하루 권장량은 30g(23알 내외) 정도이며, 과도하게 섭취하면 장의 흡수기능이 저하되니 주의해야 한다.</p>
	</div>
</body>
</html>

 column-gap 속성을 이용해서 단과 단 사이에 여백을 주겠습니다.

 column-gap 속성을 적용하지 않았을 때는 위의 그림과 같습니다.

 column-gap 속성을 이용해서 단과 단 사이에 여백을 적용하면 위와 같습니다.

column-rule 속성 : 구분선의 색상, 스타일, 너비 지정하기

 화면을 여러 단으로 구성할 때 단과 단 사이에 수직선을 넣기도 합니다. column-rule 속성을 이용하면 선의 스타일을 지정하고 색상과 형태, 너비를 따로 지정할 수 있습니다.

column-rule-color : <색상>

column-rule-style : none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset

column-rule-width : <크기> | thin | medium | thick

column-rule : <너비> | <스타일> | <색상>

 column-rule 속성을 이용해서 한 번에 스타일을 지정할 수도 있고, 각각 지정할 수도 있습니다.

 단과 단 사이에 1px 회색 점선의 구분선을 한 번 추가해보겠습니다.

<!DOCTYPE html>
<html lang="ko">
<head>
	<meta charset="utf-8">
	<title>HTML5 레이아웃</title>
	<style>
		.multi {
			column-count : 5;
			column-gap : 50px;
			column-rule : 1px dotted gray;
		}
	</style>
</head>
<body>
	<header>
		<h2>건강에 좋은 식품 - Super Food</h2>
	</header>
	<div class="multi">
		<p><b>코코넛 오일 </b>: 남미 파나마에서는 “코코넛오일 한 컵이면 모든 병이 낫는다”라고 이야기할 정도로 그 효능이 뛰어나다. 코코넛 오일에 들어있는 중사슬 지방산은 콜레스테롤 수치에 나쁜 영향을 주지 않는 건강한 지방산이다. 또 라우르산이 풍부해 세균을 물리치고 염증을 가라앉히는 효과가 있다. 하루 권장량은 성인기준 2~4스푼(30~40mL) 정도이다.</p>
		<p><b>블루베리 </b>: 블루베리는 우리 몸이 산화하는 현상을 막아주는 '항산화 물질'이 가장 많은 식품으로 알려졌다. 미국 농무부 인간영양연구소에서 밝힌 자료에 따르면 블루베리의 '안토시아닌'이라는 물질은 시력 향상에 뛰어난 효과가 있다. 그뿐만 아니라 다이어트에도 좋다. 블루베리의 폴리페놀 성분은 체내 지방세포를 녹여주는 역할을 한다. 하루 권장량은 성인기준 50g 전후로, 20~30알 정도이다.</p>
		<p><b>아몬드 </b>: 혈관질환에 좋은 오메가3, 섬유소, 비타민 E가 풍부해 항산화 효과가 높으며 콜레스테롤 수치를 낮추는 L-아르기닌 등의 좋은 영양소도 들어 있다. 또한, 식욕을 감소시키고 뇌 내 행복감을 촉진하는 세로토닌 분비를 증가시키는 것으로 나타났다. 특히 껍질에 비타민 E, 플라보노이드, 카테킨 등의 항산화 성분이 풍부하니 껍질째 먹는 것이 좋다. 하루 권장량은 30g(23알 내외) 정도이며, 과도하게 섭취하면 장의 흡수기능이 저하되니 주의해야 한다.</p>
	</div>
</body>
</html>

break-after 속성 : 다단 위치 지정하기

 웹 문서의 경우, 대부분 문서 전체에서 내비게이션이나 사이드바, 푸터 등의 영역을 제외하고 실제 콘텐츠 부분에만 다단을 적용합니다. 따라서, 다단을 어디부터 시작할지 지정하는 속성도 필요합니다. break-after 속성을 이용하면 페이지나 단을 나눌 때 위치를 지정할 수 있습니다.

break-after : column | avoid-column

break-before : column | avoid-column

break-inside : column | avoid-column

 특정 요소의 앞부분에서 단을 나누려면 break-before : column;

 특정 요소의 뒤에서 단을 나누려면 break-after : column; 을 사용합니다.

 반대로 특정 요소의 앞뒤에서 강제로 단을 나누지 않게 하려면 break-inside : column 과 break-inside : avoid-column 을 사용합니다.

<!DOCTYPE html>
<html lang="ko">
	<head>
		<meta charset="utf-8">
		<title>HTML5 레이아웃</title>
    <style>
			body{
				font-family:"맑은 고딕", "고딕", "굴림";
			}
			section {							
				padding:20px;
				width:600px;
				margin:20px auto;
				border:1px solid #ccc;
				border-radius:10px;
			}
			.multi {
				column-count: 4;
				column-rule: 2px dotted #000;
				text-align: justify;
			}
			.multi h3 {
				break-before: column;
			}
		</style>
	</head>
	<body>
		<section>
			<h2>건강에 좋은 식품 - Super Food</h2>
			<h3>코코넛 오일</h3>
			<p>남미 파나마에서는 “코코넛오일 한 컵이면 모든 병이 낫는다”라고 이야기할 정도로 그 효능이 뛰어나다. 코코넛 오일에 들어있는 중사슬 지방산은 콜레스테롤 수치에 나쁜 영향을 주지 않는 건강한 지방산이다. 또 라우르산이 풍부해 세균을 물리치고 염증을 가라앉히는 효과가 있다. 하루 권장량은 성인기준 2~4스푼(30~40mL) 정도이다.</p>
			<div class="multi">
				<h3>아보카도</h3>
				<p>나무에서 열리는 버터라고 불릴 만큼 몸에 좋은 지방인 오메가 3와 단백질, 비타민 E와 같은 항산화 성분이 풍부한 과일이다. 알파 카로틴이 풍부하게 들어 있어 여러 항암 효과가 뛰어난 것으로 알려져 있다. 그뿐만 아니라 세포의 콜라겐 합성을 도와 피부 탄력을 높이는 데 도움을 준다. 하루 권장량은 성인기준 1개이며, 꾸준히 섭취하면 콜레스테롤 수치를 낮춰준다.</p>
				<h3>케일</h3>
				<p>케일은 브로콜리, 양배추, 유채, 청경채와 같은 배추과 식물로써 세계보건기구에서 최고의 녹황색 채소로 선정되었다. 베타카로틴과 엽록소가 풍부해 체내 유전자를 회복하도록 돕는 항암효과가 뛰어나다. 또한, 위염, 위궤양에 좋은 비타민 U와 유산균을 늘리는 비타민 M과 같은 식물성 영양소를 함유하고 있다. 하루 권장량은 성인기준 150g 정도이다.</p>
				<h3>블루베리</h3>
				<p>블루베리는 우리 몸이 산화하는 현상을 막아주는 '항산화 물질'이 가장 많은 식품으로 알려졌다. 미국 농무부 인간영양연구소에서 밝힌 자료에 따르면 블루베리의 '안토시아닌'이라는 물질은 시력 향상에 뛰어난 효과가 있다. 그뿐만 아니라 다이어트에도 좋다. 블루베리의 폴리페놀 성분은 체내 지방세포를 녹여주는 역할을 한다. 하루 권장량은 성인기준 50g 전후로, 20~30알 정도이다.</p>        
				<h3>아몬드</h3>
				<p>혈관질환에 좋은 오메가3, 섬유소, 비타민 E가 풍부해 항산화 효과가 높으며 콜레스테롤 수치를 낮추는 L-아르기닌 등의 좋은 영양소도 들어 있다. 또한, 식욕을 감소시키고 뇌 내 행복감을 촉진하는 세로토닌 분비를 증가시키는 것으로 나타났다. 특히 껍질에 비타민 E, 플라보노이드, 카테킨 등의 항산화 성분이 풍부하니 껍질째 먹는 것이 좋다. </p>
			</div>
		</section>
	</body>
</html>

 <h3> 태그에 break-bofore : column; 속성을 적용해 <h3> 태그 앞에서 단이 나눠지게 적용했습니다.

column-span 속성 : 여러 단을 하나로 합치기

 여러 개로 나뉜 단을 중간에 합쳐 표시해야 하는 경우가 있습니다. column-span 속성을 이용하면 여러 단을 하나로 합칠 수 있습니다.

column-span : 1 | all

 1은 단을 하나로 합치는 것이므로 합치지 않는 것과 같습니다. (기본값)

 all은 전체 단을 하나로 합쳐서 표현합니다.

<!DOCTYPE html>
<html lang="ko">
	<head>
		<meta charset="utf-8">
		<title>HTML5 레이아웃</title>
    <style>
			body{
				font-family:"맑은 고딕", "고딕", "굴림";
			}
			section {							
				padding:20px;
				width:600px;
				margin:20px auto;
				border:1px solid #ccc;
				border-radius:10px;
			}
			.multi {
				column-count: 3;
				column-rule: 2px dotted #000;
				text-align: justify;
			}
			.no-col{
				background:#f0f0f0;
				margin:10px 3px;
				padding:20px;
				border-radius:5px;
				column-span:all;
			}
		</style>
	</head>
	<body>
		<section>
			<h2>건강에 좋은 식품 - Super Food</h2>
			<div class="multi">
				<h3>코코넛 오일</h3>
				<p>남미 파나마에서는 “코코넛오일 한 컵이면 모든 병이 낫는다”라고 이야기할 정도로 그 효능이 뛰어나다. 코코넛 오일에 들어있는 중사슬 지방산은 콜레스테롤 수치에 나쁜 영향을 주지 않는 건강한 지방산이다. 또 라우르산이 풍부해 세균을 물리치고 염증을 가라앉히는 효과가 있다. 하루 권장량은 성인기준 2~4스푼(30~40mL) 정도이다.</p>			
				<h3>아보카도</h3>
				<p>나무에서 열리는 버터라고 불릴 만큼 몸에 좋은 지방인 오메가 3와 단백질, 비타민 E와 같은 항산화 성분이 풍부한 과일이다. 알파 카로틴이 풍부하게 들어 있어 여러 항암 효과가 뛰어난 것으로 알려져 있다. 그뿐만 아니라 세포의 콜라겐 합성을 도와 피부 탄력을 높이는 데 도움을 준다. 하루 권장량은 성인기준 1개이며, 꾸준히 섭취하면 콜레스테롤 수치를 낮춰준다.</p>
				<h3>케일</h3>
				<p>케일은 브로콜리, 양배추, 유채, 청경채와 같은 배추과 식물로써 세계보건기구에서 최고의 녹황색 채소로 선정되었다. 베타카로틴과 엽록소가 풍부해 체내 유전자를 회복하도록 돕는 항암효과가 뛰어나다. 또한, 위염, 위궤양에 좋은 비타민 U와 유산균을 늘리는 비타민 M과 같은 식물성 영양소를 함유하고 있다. 하루 권장량은 성인기준 150g 정도이다.</p>
				<h3>블루베리</h3>
				<p>블루베리는 우리 몸이 산화하는 현상을 막아주는 '항산화 물질'이 가장 많은 식품으로 알려졌다. 미국 농무부 인간영양연구소에서 밝힌 자료에 따르면 블루베리의 '안토시아닌'이라는 물질은 시력 향상에 뛰어난 효과가 있다. 그뿐만 아니라 다이어트에도 좋다. 블루베리의 폴리페놀 성분은 체내 지방세포를 녹여주는 역할을 한다. 하루 권장량은 성인기준 50g 전후로, 20~30알 정도이다.</p>
				<div class="no-col">
					<h3>아몬드</h3>
					<p>혈관질환에 좋은 오메가3, 섬유소, 비타민 E가 풍부해 항산화 효과가 높으며 콜레스테롤 수치를 낮추는 L-아르기닌 등의 좋은 영양소도 들어 있다. 또한, 식욕을 감소시키고 뇌 내 행복감을 촉진하는 세로토닌 분비를 증가시키는 것으로 나타났다. 특히 껍질에 비타민 E, 플라보노이드, 카테킨 등의 항산화 성분이 풍부하니 껍질째 먹는 것이 좋다. 하루 권장량은 30g(23알 내외) 정도이며, 과도하게 섭취하면 장의 흡수기능이 저하되니 주의해야 한다.</p>
				</div>
			</div>
		</section>
	</body>
</html>

 아몬드를 설명하는 부분에만 column-span : all; 속성을 적용해 단을 하나로 합쳤습니다.


단을 나누는데 필요한 여러 속성에 대해서 다뤄보았습니다.

이상으로 포스팅을 마치도록 하겠습니다.

안녕하세요, 여행벌입니다.

오늘은 CSS를 이용해 브라우저 화면 안에 각 콘텐츠 영역을 어떻게 배치할지를 결정하는 CSS 포지셔닝에 대해서 포스팅해보겠습니다.


CSS포지셔닝

 CSS 포지셔닝이란 검색 창, 로그인 창, 광고, 뉴스 등 여러 요소를 적절히 배치하는 것을 말합니다. 즉, 웹 문서의 레이아웃을 만드는 과정을 CSS 포지셔닝이라고 합니다. 앞에서 배운 레이아웃 스타일 속성에 box-sizing 속성, float 속성, position 속성 등을 이용해서 CSS 포지셔닝을 할 수 있습니다. 같은 내용이더라도 배치를 어떻게 하고 어떤 배경과 색상을 사용할지에 따라 완전히 다른 사이트처럼 보일 수 있기 때문에 CSS 포지셔닝은 굉장히 중요한 작업입니다.

box-sizing 속성 : 박스 너비 기준 정하기

 box-sizing 속성을 이용하면 박스 모델의 너비 기준을 정할 수 있습니다. 보통 width, height 속성을 이용해서 콘텐츠 영역의 크기를 조절할 수 있는데, box-sizing 속성을 이용하면 콘텐츠 영역뿐만 아니라 테두리 영역, 패딩 영역도 포함해서 크기를 포함해서 너비를 지정할 수 있습니다.

box-sizing : content-box | border-box

<!DOCTYPE html>
<html lang="kr">
<head>
    <meta charset="UTF-8">
    <title>Example</title>
    <style>
        .content-box{
            box-sizing : content-box;
            width : 200px;
            height : 100px;
            margin : 10px;
            padding : 30px;
            background-color : orange;
        }
        .border-box{
            box-sizing : border-box;
            width : 200px;
            height : 100px;
            margin : 10px;
            padding : 30px;
            background-color : yellow;
        }
    </style>
</head>
<body style="background-color : black;">
    <div class="content-box">content-box</div>
    <div class="border-box">border-box</div>
</body>
</html>

 div 박스에 동일한 width, height, margin, padding 속성을 부여하겠습니다. 그 후, 첫 번째 박스는 box-sizing : content-box, 두 번째 박스는 box-sizing : border-box 속성을 부여하겠습니다.

 결과는 다음과 같습니다. border-box는 padding, border 영역을 포함해서 width, height 속성을 적용하기 때문에 content 영역의 크기가 content-box에 비해 작은 것을 확인할 수 있습니다.

float 속성 : 왼쪽 혹은 오른쪽으로 배치하기

 float 속성은 문자 그대로 웹 요소를 "띄워줍니다." float 속성을 이용하면 기본적인 문서 배치의 흐름에서 벗어나 요소의 모서리가 페이지의 왼쪽이나 오른쪽으로 이동하는 것을 말합니다. 즉, 웹 요소를 문서의 왼쪽 구석이나 오른쪽 구석에 배치할 수 있게 만듭니다. float 속성을 이용하면 문서의 흐름과 관계없이 화면 배치를 유연하게 할 수 있습니다.

float : left | right | none

<!DOCTYPE html>
<html lang="kr">
<head>
    <meta charset="UTF-8">
    <title>Example</title>
    <style>
        .left-box{
            float : left;
            width : 200px;
            height : 100px;
            background-color : orange;
        }
        .right-box{
            float : right;
            width : 200px;
            height : 100px;
            background-color : yellow;
        }
        .none-box{
            float : none;
            width : 200px;
            height : 100px;
            background-color : coral;
        }
    </style>
</head>
<body style="background-color : black;">
    <div class="left-box">left-box</div>
    <div class="right-box">right-box</div>
    <div class="none-box">none-box</div>
</body>
</html>

 같은 크기의 박스 모델 3개를 float : left, right, none 순으로 부여했습니다.

 float 속성을 이용하면 요소를 띄울 수 있기 때문에 left-box와 none-box가 겹쳐진 것을 확인할 수 있습니다.

clear 속성 : float 속성 해제하기

 float 속성을 이용해 웹 페이지 요소를 왼쪽이나 오른쪽에 배치하면 그 다음에 넣는 다른 요소들도 똑같은 속성이 전달됩니다. 따라서, float 속성이 더 이상 유용하기 않을 때에는 clear 속성을 이용해서 float 속성을 해제해줘야합니다.

clear : none | left | right | both

 float : left를 이용해 왼쪽으로 배치했다면 clear : left 로 종료하고, float : right 를 사용했다면 clear : right 를 사용해 무효화시킵니다. float 속성 값에 상관 없이 무조건 기본 상태로 되돌리고 싶다면 clear : both 라고 하면 됩니다.

<!doctype html>
<html lang="ko">
<head>
	<meta charset="utf-8">
	<title>박스모델</title>
	<style>
		div {
			padding:20px;
			margin:10px;
		}
		.box1{
			background:#ffd800;
			float:left;
		}
		.box2 {
			background: #0094ff;
			float:left;
		}
		.box3 {
			background: #00ff21;
			/* clear: both; */
		}
	</style>
</head>
<body>
	<div class="box1">박스1</div>
	<div class="box2">박스2</div>
	<div class="box3">박스3</div>
</body>
</html>

 float 속성에 의해 박스3 가 박스1, 박스2 아래로 놓이는 것을 볼 수 있습니다.

 clear 속성을 이용해 박스3에 float 속성을 무효화시켜보겠습니다.

<!doctype html>
<html lang="ko">
<head>
	<meta charset="utf-8">
	<title>박스모델</title>
	<style>
		div {
			padding:20px;
			margin:10px;
		}
		.box1{
			background:#ffd800;
			float:left;
		}
		.box2 {
			background: #0094ff;
			float:left;
		}
		.box3 {
			background: #00ff21;
			clear: both;
		}
	</style>
</head>
<body>
	<div class="box1">박스1</div>
	<div class="box2">박스2</div>
	<div class="box3">박스3</div>
</body>
</html>

position 속성 : 배치 방법 지정하기

 position 속성은 웹 문서 안이 요소들을 자유자재로 배치해 주는 속성입니다. position 속성을 이용하면 텍스트나 이미지를 나란히 배치할 수 있고, 여러 개의 요소를 가로나 세로로 원하는 위치에 배치할 수도 있습니다.

position : static | relative | absolute | fixed

 position 속성은 static을 제외한 나머지 속성 값에서는 좌표를 이용해 각 요소의 위치를 조절할 수 있습니다. top, bottom, left, right 로 지정하고 top이란 위쪽에서 얼마나 떨어져 있는지 bottom은 아래에서 얼마나 떨어져 있는지, left는 왼쪽에서 얼마나 떨어져 있는지, right는 오른쪽에서 얼마나 떨어져 있는지를 뜻합니다. 좌푯값은 양수와 음수 모두 사용할 수 있습니다.

<!DOCTYPE html>
<html lang="kr">
<head>
    <meta charset="UTF-8">
    <title>Example</title>
    <style>
        .box1{
            float : left;
            width : 100px;
            background-color : yellow;
        }
        .box2{
            float : left;
            position : relative;
            width : 300px;
            background-color : orange;
        }
    </style>
</head>
<body style="background-color : black;">
    <div class="box1">box1</div>
    <div class="box2">box2</div>
</body>
</html>

 box1, box2 모두 float : left 를 적용했습니다. 하지만 box2에는 position : relative; 를 부여해 이전 요소에 자연스럽게 연결해 배치할 수 있습니다.

 box2에 left, top 속성을 적용해보겠습니다.

<!DOCTYPE html>
<html lang="kr">
<head>
    <meta charset="UTF-8">
    <title>Example</title>
    <style>
        .box1{
            float : left;
            width : 100px;
            background-color : yellow;
        }
        .box2{
            float : left;
            position : relative;
            width : 300px;
            background-color : orange;
            left : 50px;
            top : 30px;
        }
    </style>
</head>
<body style="background-color : black;">
    <div class="box1">box1</div>
    <div class="box2">box2</div>
</body>
</html>

 다음과 같이 static 속성을 제외하고 top, left, right, bottom 을 이용해 원하는 곳에 요소를 배치할 수 있습니다.

 이번에는 absolute 속성을 이용해서 원하는 위치에 요소를 배치해보겠습니다.

<!doctype html>
<html lang="ko">
<head>
	<meta charset="utf-8">
	<title>CSS 포지셔닝</title>
	<style>
		#wrap{
			position:relative;
			width:300px;
			height:300px;
			border:1px solid #ccc;
		}
		.box{
			position:absolute;
			width:50px;
			height:50px;
			background:#0094ff;
		}
		#crd1 {
			top:0;
			left:0;
		}
		#crd2{
			top:0;
			right:0;
		}
		#crd3{
			bottom:0;
			left:0;
		}
		#crd4{
			bottom:0;
			right:0;
		}
		#crd5{
			top:100px;
			left:100px;
		}
	</style>
</head>
<body>
	<div id="wrap">
		<div class="box" id="crd1"></div>
		<div class="box" id="crd2"></div>
		<div class="box" id="crd3"></div>
		<div class="box" id="crd4"></div>
		<div class="box" id="crd5"></div>
	</div>
</body>
</html>

 div 박스를 5개 만들고, absolute 속성을 이용해 박스를 화면 곳곳에 배치해보겠습니다. crd1 박스는 top : 0, left : 0; 을 부여했으므로 왼쪽 위에 붙어있게 되고, crd2 박스는 top : 0, right : 0; 을 부여했으므로 오른쪽 위에 붙어있게 되고, crd3 박스는 bottom : 0, left : 0; 을 부여했으므로 왼쪽 아래에 붙어 있고, crd4 박스는 bottom : 0, right : 0; 이므로 오른쪽 아래에 붙어 있게 됩니다. 마지막으로 crd5 박스는 위로부터 100px, 왼쪽으로부터 100px 떨어져 있는데 wrap 박스의 크기가 width : 300px, height : 300px 이므로 중간에 떠있게 됩니다.

visibility 속성 : 요소를 보이게 하거나 보이지 않게 하기

 visibility 속성은 특정 요소를 화면에 보이게 하거나 보이지 않게 또는 겹치게 설정하는 속성입니다. display : none 속성과는 다르게 visibility 속성을 이용해 특정 요소를 화면에서 보이지 않게 하더라도 크기는 그대로 유지됩니다.

visibility : visible | hidden | collapse

 위의 예시를 그대로 가져와서 hidden 속성을 부여해보겠습니다.

<!doctype html>
<html lang="ko">
<head>
	<meta charset="utf-8">
	<title>CSS 포지셔닝</title>
	<style>
		#wrap{
			position:relative;
			width:300px;
			height:300px;
			border:1px solid #ccc;
		}
		.box{
			position:absolute;
			width:50px;
			height:50px;
			background:#0094ff;
		}
		#crd1 {
			top:0;
			left:0;
			visibility: hidden;
		}
		#crd2{
			top:0;
			right:0;
		}
		#crd3{
			bottom:0;
			left:0;
			visibility: hidden;
		}
		#crd4{
			bottom:0;
			right:0;
		}
		#crd5{
			top:100px;
			left:100px;
		}
	</style>
</head>
<body>
	<div id="wrap">
		<div class="box" id="crd1"></div>
		<div class="box" id="crd2"></div>
		<div class="box" id="crd3"></div>
		<div class="box" id="crd4"></div>
		<div class="box" id="crd5"></div>
	</div>
</body>
</html>

 hidden 속성을 이용해 crd1 박스와 crd3 박스를 화면에서 숨겨보겠습니다.

 하지만 개발자 모드를 통해서 보면 다음과 같이 crd1 박스와 crd3 박스가 자리를 차지하고 있는 것을 볼 수 있습니다.

z-index 속성 : 요소 쌓는 순서 정하기

 CSS에서 각 요소는 수평이나 수직으로 이동할 뿐만 아니라 한 요소 위에 다른 요소를 쌓을 수도 있습니다. 요소 위에 요소를 쌓을 때 쌓는 순서극 지정하는 것이 z-index 속성입니다. z-index 값이 작을수록 아래에 쌓이고 z-index 값이 클수록 위에 쌓입니다. z-index 값을 명시하지 않을 경우, 웹 문서에 맨 먼저 삽입하는 요소가 z-index : 1 값을 가지며 그 후에 삽입하는 요소들은 z-index 값이 점점 커집니다.

z-index : <숫자>;
<!doctype html>
<html lang="ko">
	<head>
		<meta charset="utf-8">
		<title>z-index 속성</title>
		<style>
			div#wrapper {
				position: relative;
			}
			div#box {
				position:absolute;
				width:100px;
				height:100px;
				border:1px solid black;
				font-size:26px;
			}
			.b1 {				
				left:50px;
				top:50px;
				background:#ff0000;
				z-index:1;
			}
			.b2 {				
				left:110px;
				top:70px;
				background:#ffd800;
				z-index:3;
			}
			.b3 {
				left:70px;
				top:110px;
				background:#0094ff;
				z-index:1;
			}
		</style>
	</head>
	<body>
		<div id="wrapper">
			<div id="box" class="b1">1</div>
			<div id="box" class="b2">2</div>
			<div id="box" class="b3">3</div>
		</div>
	</body>
</html>

 2번 박스가 z-index 값이 가장 크므로 제일 위에 쌓인 것을 확인할 수 있습니다. 1번, 3번 박스는 z-index 값이 같지만 1번 요소가 코드 상으로 먼저 웹 문서에 적용되므로 아래에 쌓인 것을 확인할 수 있습니다.


오늘 배운 CSS 속성들은 저번 레이아웃을 위한 스타일 포스팅과 더불어

웹 개발에서 꼭 사용되는 중요한 속성들입니다.

안녕하세요, 여행벌입니다.

오늘은 배경 색, 배경 이미지 등 배경 스타일을 위한 속성들에 대해서 포스팅해보겠습니다.


background-color 속성 : 배경 색 지정하기

 background-color 속성을 이용하면 배경 색을 지정할 수 있습니다. 웹 문서 전체의 배경 색을 지정하려면 body 태그에 background-color 속성을 조절하면 됩니다. 16진수 표기법, rgb 표기법 등으로 색상을 표현하면 됩니다.

background-color : <색상>

 스타일 상속에 의해 <body> 태그 선택자에서 속성을 적용하면 문서 전체에 상속되므로 하위 요소에서 스타일을 수정하지 않는 한, 문서 전체에 똑같이 적용됩니다. 하지만 background-color 속성은 상속되지 않습니다. 따라서, 내가 원하는 요소에 직접 background-color 속성을 이용해 배경 색 값을 지정해야 합니다.

background-clip 속성 : 배경 적용 범위 조절하기

 박스 모델 관점에서 배경 적용 범위를 조절할 수도 있습니다. 즉, 박스 모델의 가장 외곽인 테두리(border)까지 적용할지, 테두리를 빼고 패딩(padding) 범위까지 적용할지, 아니면 내용(content) 부분에만 적용할지 background-clip 속성을 이용해서 조절할 수 있습니다.

background-clip : border-box | padding-box | content-box

background-image 속성 : 웹 요소에 배경 이미지 넣기

 background-image 속성을 이용하면 배경에 이미지를 넣을 수 있습니다. 'url(파일경로)' 형식으로 지정해야하고, 'http://'로 시작하는 절대 경로를 사용할 수도 있습니다.

background-image : url(파일 경로)

 배경 이미지는 여러 개를 사용할 수 있는데, 첫 번째 이미지부터 순서대로 표시합니다. 또, 이미지가 채우려는 요소 크기보다 작을 경우, 해당 요소를 가득 채울 정도로 가로와 세로로 반복됩니다.

background-repeat 속성 : 배경 이미지 반복 방법 지정하기

 이미지가 채우려는 요소 크기보다 작을 경우, 해당 요소를 이미지가 반복되며 가득 채웁니다. 이때, 어떤 방법으로 가득 채울지 background-repeat 속성을 이용해 지정할 수 있습니다.

background-repeat : repeat | repeat-x | repeat-y | no-repeat

background-size 속성 : 배경 이미지 크기 조절하기

 background-size 속성을 사용하면 배경 이미지를 여러 크기로 조절할 수 있습니다. 물론 무리하게 배경 이미지를 키우면 화질이 깨집니다.

background-size : auto | contain | cover | <크기 값> | <백분율>

background-position 속성 : 배경 이미지 위치 조절하기

 배경 이미지는 제목이나 본문에서 한쪽에 이미지를 표시할 때도 이용할 수 있습니다. 이때, background-position 속성을 이용하면 원하는 위치로 배경 이미지를 조절할 수 있습니다.

background-position : <수평 위치> <수직 위치>;

수평 위치 : left | center | right | <백분율> | <길이 값>

수직 위치 : top | center | bottom | <백분율> | <길이 값>

 background-position 속성에서는 수평 위치 값과 수직 위치 값을 함께 표시하는데 값을 하나만 지정할 경우, 그 값은 수평 위치 값으로 간주하고 수직 위치 값은 50%나 center로 적용됩니다.

background-origitn 속성 : 배경 이미지 배치할 기준 조절하기

 background-origin 속성을 이용하면 배경 이미지를 배치하는 기준을 정할 수 있습니다. 테두리(border)를 기준으로 이미지를 배치할지, 패딩(padding)을 기준으로 이미지를 배치할지, 내용(content)을 기준으로 이미지를 배치할지 정합니다.

background-origin : border-box | padding-box | content-box

background-attachment 속성 : 배경 이미지 고정하기

 background-attachment 속성을 적용하면 스크롤을 내렸을 때 배경 이미지도 같이 이동할지, 아니면 배경 이미지는 고정하고 화면만 내려갈지 정할 수 있습니다.

background-attachment : scroll | fixed


 

+ Recent posts