-
CSS 포지셔닝: CSS를 웹 문서 요소를 적절히 배치하는 것
-
box-sizing: 박스 모델 너비 값의 기준을 정함
-
content-box: width 속성 값을 콘텐츠 영역 너비 값으로 사용
-
border-box: width 속성 값을 콘텐츠 영역에 테두리까지 포함한 박스 모델 전체 너비 값으로 사용
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
<title>box-sizing</title>
<style>
.box1{
box-sizing: content-box;
width: 300px;
height: 150px;
margin: 10px;
padding: 30px;
border: 2px solid red;
}
.box2{
box-sizing: border-box;
width: 300px;
height: 150px;
margin: 10px;
padding: 30px;
border: 2px solid red;
}
</style>
</head>
<body>
<div class="box1"> box-sizing = "content-box" </div>
<div class="box2"> box-sizing = "border-box"</div>
</body>
</html>
-
float: 컨텐츠들을 띄어서 정렬
<!doctype html>
<html lang="ko">
<head>
<meta charset="utf-8">
<title>박스모델</title>
<style>
.box1{
padding: 20px;
margin-right: 10px;
background: yellow;
float: left;
}
.box2{
padding: 20px;
margin-right: 10px;
background: blue;
float: left;
}
.box3{
padding: 20px;
margin-right: 10px;
background: green;
float: left;
}
.box4{
padding: 20px;
margin-right: 10px;
background: pink;
float: right;
}
</style>
</head>
<body>
<div class="box1">박스1</div>
<div class="box2">박스2</div>
<div class="box3">박스3</div>
<div class="box4">박스4</div>
</body>
</html>
-
clear: float 속성 해제
.box4{
padding: 20px;
margin-right: 10px;
background: pink;
clear: both;
}
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
<title>2단 레이아웃</title>
<style>
div{
border: 1px solid #ccc;
}
#container{
width: 960px;
padding: 20px;
margin: 0 auto;
}
#header{
padding: 20px;
margin-bottom: 20px;
}
#content{
width: 620px;
padding: 20px;
float: left;
margin-bottom: 20px;
}
#aside{
width: 220px;
padding: 20px;
float: right;
background-color: #eee;
margin-bottom: 20px;
}
#footer{
padding: 20px;
clear: both;
}
</style>
</head>
<body>
<div id="container">
<div id="header">
<h1>사이트 제목</h1>
</div>
<div id="aside">
<h2>사이드 바</h2>
<p>모든 국민은 근로의 의무를 진다. 국가는 근로의 의무의 내용과 조건을 민주주의원칙에 따라 법률로 정한다.</p>
</div>
<div id="content">
<h2>본문</h2>
<p>재산권의 행사는 공공복리에 적합하도록 하여야 한다. 정부는 회계연도마다 예산안을 편성하여 회계연도 개시 90일전까지 국회에 제출하고, 국회는 회계연도 개시 30일전까지 이를 의결하여야 한다.
<br><br>대통령의 임기가 만료되는 때에는 임기만료 70일 내지 40일전에 후임자를 선거한다. 제2항과 제3항의 처분에 대하여는 법원에 제소할 수 없다. 언론·출판에 대한 허가나 검열과 집회·결사에 대한 허가는 인정되지 아니한다.</p>
</div>
<div id="footer">
<h2>푸터</h2>
<p>이 헌법시행 당시의 법령과 조약은 이 헌법에 위배되지 아니하는 한 그 효력을 지속한다.</p>
</div>
</div>
</body>
</html>
-
CSS 포지셔닝
-
static: 문서의 흐름에 맞춤
-
relative: 첫번째 요소 기준 자연스럽게 배치
-
absoulte: 원하는 위치에 배치. 부모 요소 중 postion:relative인 요소로 위치.
-
fixed: 원하는 위치에 배치. 브라우저 창 기준
-
visibility
-
visible: 화면에 표시
-
hidden: 화면에 요소 감춤. 크기는 유지
-
collapse: 서로 겹치도록 조절
-
z-index: 요소 쌓는 순서 정함
<!doctype html>
<html lang="ko">
<head>
<meta charset="utf-8">
<title>CSS 포지셔닝</title>
<style>
#wrap{
position: relative;
width: 300px;
height: 300px;
border: 1px solid gray;
}
.box{
position: absolute;
width: 50px;
height: 50px;
background: blue;
}
#crd1{
top: 0; left:0;
}
#crd2{
top: 0; right: 0;
}
#crd3{
bottom: 0; right: 0;
}
#crd4{
bottom: 0; left: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>
<!doctype html>
<html lang="ko">
<head>
<meta charset="utf-8">
<title>visibility 속성</title>
<style>
img{
margin: 10px;
padding: 5px;
border: 1px solid black;
}
.invisible{
visibility: hidden;
}
</style>
</head>
<body>
<img src="images/pic1.jpg">
<img src="images/pic2.jpg" class="invisible">
<img src="images/pic3.jpg">
</body>
</html>
<!doctype html>
<html lang="ko">
<head>
<meta charset="utf-8">
<title>z-index 속성</title>
<style>
div#wrapper {
position: relative;
}
.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="b1" class="box">1</div>
<div id="b2" class="box">2</div>
<div id="b3" class="box">3</div>
</div>
</body>
</html>
-
column-width: 단의 너비를 고정, 화면 분할. 다단 편집.
-
break-before, break-after: 특정 요소의 앞이나 뒤에 다단 위치 (인쇄)
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
<title>HTML5 레이아웃</title>
<style>
body{
font-family: "맑은 고딕", "고딕", "굴림";
}
.multi{
-webkit-column-count: 120px;
-moz-column-count: 120px;
column-count: 3;
column-gap: 20px;
column-rule: 2px dotted yellow;
}
</style>
</head>
<body>
<header>
<h2>건강에 좋은 식품 - Super Food</h2>
</header>
<div class="multi">
<p><b>코코넛 오일 </b>: 남미 파나마에서는.</p>
<p><b>블루베리 </b>: 블루베리는 .</p>
<p><b>아몬드 </b>: 혈관질환에 </p>
</div>
</body>
</html>
<!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 {
-webkit-column-count: 3;
-moz-column-count: 3;
column-count: 3;
-webkit-column-rule: 2px dotted #000;
-moz-column-rule: 2px dotted #000;
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>남 정도이다.</p>
<h3>아보카도</h3>
<p>나무에서</p>
<h3>케일</h3>
<p>케일은</p>
<h3>블루베리</h3>
<p>블루베리는</p>
<div class="no-col">
<h3>아몬드</h3>
<p>혈관질환에 </p>
</div>
</div>
</section>
</body>
</html>
-
caption-side: 캡션은 기본으로 표 위쪽에 표시. 이 속성을 이용해 아래쪽에도 표시가능
-
border: 표의 바깥 테두리와 셀 테두리 모두 지정
-
border-collapse: 표 테두리와 셀 테두리를 합칠 것인지 설정
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
<title>표 스타일</title>
<style>
body{
font-family: "맑은 고딕", "고딕", "굴림";
font-size: 20px;
}
.table1{
border: 1px solid black;
border-collapse: collapse;
}
.table1 td{
border: 1px dotted black;
padding: 10px;
text-align: center;
}
</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>
<!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;
}
#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>
'Learning > HTML&JavaScript' 카테고리의 다른 글
HTML 멀티미디어 (0) | 2020.07.24 |
---|---|
HTML5 시멘틱 태그 (0) | 2020.07.24 |
CSS와 박스 모델 (0) | 2020.07.21 |
스타일과 스타일시트 글꼴 (0) | 2020.07.17 |
<datalist>가 있는 신청서 폼 (0) | 2020.07.17 |