반응형
site의 page는 HTML(구조), CSS(디자인), JavaScript(동적인 화면변경, 유효성검증)로 이루어 짐
CSS(Cascading Style Sheet)
-
hakon wium lie가 1994년 제안
-
HTML의 통일성있는 디자인을 제공
-
3가지 형태를 가짐
-
inline : tag에 직접 정의하는 방식 (우선순위가 가장높다-어떤경우에도 가장먼저 적용, 코드의 재사용성은 가장 낮음(그때 그때계속만들어야 함))
-
embed : HTML안에 <style>태그에 정의하는 방식 (적절,적절)
-
external file(외부파일방식) : 확장자가 .css인 파일을 정의하고 필요한 곳에서<link>태그로 연결하여 사용하는 방식
(우선순위가 가장 낮다. 코드의 재사용성이 가장 높다.)
-
선택자(selector)를 사용하여 디자인을 적용할 태그를 선택하게 된다.
-
tag selector
-
multiple selector
-
id selector
-
class selector
-
behavior selector
-
존재.
-
문법)
-
selector {속성: 값;,,,,} <<콜론을 사용해서 속성에 값이 넣어지게 된다-inline일때는 얘만 적으면 ok>>
-
inline 방식)
-
<tag명 style="속성:값; 속성:값;,,,,">
-
embed 방식)
-
<html><head><style type="text/css">selector {속성:값; 속성:값;,,,,}</style></head><body>style에 정의한 디자인이 바디안에 적용.</body></html>
-
external file 방식)
-
1.css 정의
-
a.css파일에 selector {속성:값; 속성:값; ,,,,} 을 정의하고
-
2.필요한 HTML 에서 연결하여 사용한다.
-
<html><head><title> </title><link rel="styleshet" type="text/css" href="css url(http://localhost:8080/html_prj/common/a.css"</head><body>여기에 적용</body></html>
-
Error가 발생하지 않는다.<<컴파일하는 언어가 아니기 때문에 에러가 나지 않는다+계산의 기능이 없다..!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!>>>>>>
-
CSS3 표준(W3C 표준안 관리)
-
shadow(그림자)
-
radius(사각형의 모서리를 다듬는)
-
또하나가
-
들어감.
-
CSS->HTML Style
-
XSLT,XSL->XML Style sheet <<스타일시트는 한가지가 아니고, xml스타일 시트도 존재한다.>>
<<window-preferences-web-cssfile-encoding-UTF-8로 변경해 준다.charset통일~!>>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>inline 방식으로 CSS사용</title>
</head>
<body>
<!-- inline 방식 : tag에 디자인 코드를 직접 정의하는 방식.
적용 우선순의가 가장 높다.
동일 디자인이 여러번 사용될 때 동일한 코드를 여러번 작성해야한다.(단점) -->
<div style="font-family: 궁서체">
오늘은 화요일 입니다.
</div>
<div style="font-family: 궁서체">
내일은 수요일 입니다.
</div>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"> <!-- charset은 다 동일해야 한다 DB도 css도 html도 jsp파일도~!~! -->
<title>embed 방식</title>
<style type="text/css">
/* 스타일태그 안에는 주석이 java와 같다.
embed 방식 : 디자인 코드의 중복성을 줄요준다.
selector가 사용된다.
selector {속성:값; ,,,,} ★★★
*/
div{font-family: 궁서체} /* selector에 따라 적용되는 범위가 달라진다?!-div는 div만 적용 */
/* p{font-family: 궁서체} */
</style>
</head>
<body>
<div>오늘은 화요일 입니다.</div>
<div>내일은 수요일 입니다.</div>
<p>어제는 월요일 입니다.</p>
</body>
</html>
@charset "UTF-8";
/* HTML과 CSS의 charset은 일치해야 한다. 일치하지 않으면 한글을 적을때 안나옴 */
/* 외부파일 방식 : CSS파일을 생성하고, 공통디자인을 설정한 후,
필요한 HTML에서 사용.
*/
div{font-family: "휴먼편지체"}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>external_file 방식(외부파일 방식)</title>
<!-- CSS와 HTML이 같은 폴더에 존재해 상대경로로 파일이름만 적음 -->
<!-- <link rel="stylesheet" type="text/css" href="test.css"/> -->
<!-- 주의 : CSS파일을 외부링크로 사용할 때 해당 서버에 CSS파일이 없다면 HTML의 로딩지연시간이 발생한다! 엄청오래 걸린다! -->
<link rel="stylesheet" type="text/css" href="http://localhost:8080/html_prj/css0129/test.css"/>
<!-- 문제는 css파일경로가 틀리면 로딩의 시간이 엄청나게 오래 걸린다. -->
</head>
<body>
<div>Pyton & Java 응용 SW실무 개발자 양성과정</div>
<p>Pyton & Java 응용 SW실무 개발자 양성과정</p>
<div>Pyton & Java 응용 SW실무 개발자 양성과정</div>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>선택자(selector) 사용</title>
<style type="text/css">
/* tag selector : 태그하나만 정의하고,설정한 디자인을 정의한 모든태그가 적용받는다. */
/*
div {font-family: 휴먼편지체}
p {font-family: 궁서체}
input {font-family: 궁서체}
*/
/* multiple selector : 태그 여러개를 정의하고, 설정한 디자인을 정의한 여러태그가 적용받는다. */
div,a,p,input {font-family: 궁서체}
</style>
</head>
<body>
<div>div 태그</div>
<p>p 태그</p>
<div>div 태그</div>
<p>p 태그
<div>P 안에 div</div>
</p>
<a href="http://sist.co.kr">sist이동</a>
<div>div 태그</div>
<input type="text"/><br/>
<input type="text"/><br/>
</body>
</html>
*selector
-
디자인을 적용받을 태그를 선정하는 것 <<JQuery에서도 사용되고 더많음>>
-
tag selector : 디자인을 모든 태그가 적용받는다.
-
태그명 {속성:값; ,,,,} <<몇개던 다~~적용>>
-
div {font-family : 궁서체}
-
multiple selector : tag selector인데, 여러개의 태그를 정의한 것. <<태그를 여러개 써서 multiple>>
-
태그명,,, {속성:값; ,,,,}
-
div, p, input {font-family : 궁서체} <<부른태그만 적용>>
-
ID selector : HTML내에서 유일하게 사용하는 고유한 이름,유일한 디자인으로 한번 사용할 때
-
<<고유값으로 하나..!하나가 아니어도(여러개이어도) Error가 안나니 주의>>
-
#아이디 {속성: 값; ,,,}
-
#fnt {font-family : 궁서체}
-
<a id="fnt"> </a> <<id가 같은 태그에 적용>>
-
<div></div>
-
class selector : HTML내에서 지정한 여러태그가 사용하는 이름. 동일한 디자인을 여러번 사용할 때.
-
클래스명 {속성:값; ,,,,,}
-
.fnt {font-family : 궁서체}
-
<div class="fnt" ></div>
-
<p class="fnt"> </p> <<.fnt면 클래스 명을 나타내는것으로 fnt클래스명을 가지면 다 적용>>
-
behavior selector : 사용자의 동작이 있을때 디자인을 적용하는 selector
-
태그명:HOVER|hover(마우스가 올라왔을때) {속성:값; ,,,,} <<link가 걸린 HTML에 마우스포인터가 올라가면 글자색이 변경되며 밑줄이 그어지는게 대표적인 예>>
-
a:hover {font-family : 궁서체}
-
<a href=" "> </a> <<a태그에 마우스가 올라갔을 때 다~~적용>>
-
<a href=" "> </a>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>ID selector와 class selector의 사용</title>
<style type="text/css">
/* ID selector: HTML body에서 유일한 디자인을 가져야할 때 사용한다.
#id명 {속성:값; ,,,}
*/
#title{font-size: 25px; font-weight: bold; font-family: 궁서체}
/* class selector: HTML에서 중복된 디자인을 원하는 태그만 가져야할 때 사용한다.
.class명 {속성:값; ,,,}
*/
.content {font-family: 휴먼편지체; text-decoration: underline;}
/* behavior selector : HTML에서 사용자가 마우스 포인터를 특정위치에 올린경우 디자인이 적용되야 할 때 사용한다.
모든 selector:HOVER {속성:값; ,,,}
*/
a:HOVER {font-size:20px; color:#FF0000;}
</style>
</head>
<body>
<div id="title">CSS는 Hakon wium lie가 1994년에 웹디자이너를 위해 제안.</div>
<p class="content">
CSS(Cascading Style Sheet)의 약어로 HTML에서 통일성있는 디자인을 제공할 수 있다.
</p>
<p>
HTML은 구조를 가지고 있고 CSS는 디자인을 담당한다.
</p>
<p class="content">
표준안은 W3C ( <a href ="http:w3c.org" target="_new">표준안 확인</a> )에서 제정,발표,관리 한다.
</p>
<div>CSS3에서는 그림자효과,테두리효과,애니메이션효과 등이 추가되었습니다.</div>
</body>
</html>
*속성 사용법
-
글자 관련
-
글꼴 변경: font-family : 글꼴,,,(여러개 가능)
-
font-family : 돋움,dotum(한글로된 돋움체가 없으면 영어로 된걸 찾아),애플고딕,SansSerif(거의모든컴이 갖고있기때문에 맨뒤에많이씀);
-
진하게 : font-weight : bold,normal;
-
크기 변경: font-size : 크기px,cm,em(px가장선호)
-
글자 색: color:RGB|영어(RGB선호)
-
밑줄 긋기: text-decoration : underline(밑줄)|Overline(윗줄)|line-through(취소선) ;
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>글꼴 관련 속성</title>
<style type="text/css">
<!-- ID selector 사용 -->
/* 글꼴 */
#testa {font-family: 궁서체}
#aaa{font-family: 궁서체}
/* 크기 */
#b {font-size:20px}
/* 색 */
#c {color:#0000FF}
/* 여러개의 속성을 한번에 적용, ;으로 속성을 구분하여 여러개를 사용할 수 있다. */
#d {font-family: 돋움,dotum,휴먼옛체,SansSerif; color:#FF0099; font-size: 19px}
/* 진하게 */
#e {font-weight: bold}
/* 밑줄,윗줄,취소선,선없음 :none */
#f {text-decoration: underline;}
#g {text-decoration: overline;}
#h {text-decoration: line-through;}
/* 링크가 걸려있는 모든 태그의 글자색을 #333으로 크기를 12px,글꼴을 돋움체로,밑줄을 없앤다.
마우스가 올라가면 밑줄을 보여주고 글자색을 원하는 색으로 변경 */
a {color:#333; font-size: 12px; font-family: 돋움,dotum; text-decoration: none}
a:hover{text-decoration: underline; color:#FF0099}/* #333=#3f3f3f */
</style>
</head>
<body>
<div id="testa">글꼴 변경</div>
<div id="aaa">글꼴 변경</div>
<div id="b">크기 변경</div>
<div id="c">색 변경</div>
<div id="d">글꼴,색,크기 변경</div>
<div id="e">진하게</div>
<div> <span id="f">밑줄</span><span id="g">윗줄</span><span id="h">취소선</span> </div>
<!-- 링크를 클릭했을 때 이동할 페이지가 없다면 비우는게 아니라 #void를 넣는다.#|#void -->
<a href="#void">링크</a>
<a href="#void">링크</a>
<a href="#void">링크</a>
<a href="#void">링크</a>
</body>
</html>
-
효과
-
태그 숨김 : display :none(숨김)|inline(보임)|block(보임)
-
목록 태그 숨김 : list-style: none|inline;
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>태그 숨기기</title>
<style type="text/css">
/* 태그를 숨길때에는 none, 보여질 때에는 inline|block */
#test{display: block}
/* 목록 없애기 */
li{list-style: none}
hr{display: none}
</style>
</head>
<body>
<div id="test"> <img src="../common/images/img.png"/></div>
<hr/>
<div>
<ul type="square">
<li>짜장면</li>
<li>뼈다귀 해장국</li>
<li>칼국수</li>
<li>분식</li>
</ul>
<ol type="I">
<li>Oracle</li>
<li>JavaSE</li>
<li>JDBC</li>
<li>HTML</li>
</ol>
</div>
</body>
</html>
-
여백
-
<<밖과 안 2가지가 있다.
-
기준선과의 거리
-
margin
-
기준선 바깥쪽의 거리
-
margin : 수치; //왼쪽,오른쪽,위,아래 모두 입력한 수치상의 여백을 가진다.
-
div {margin : 10px}
-
특정위치만 변경
-
margin-left: 수치;
-
margin-right: 수치;
-
margin-top: 수치;
-
margin-bottom: 수치;
-
padding
-
기준선 내의 거리, 기준선의 전체크기가 변경된다.
-
padding : 수치; //왼쪽,오른쪽, 위,아래 모두 수치상의 여백을 가진다.
-
div {padding : 10px}
-
특정위치만 변경
-
padding-left: 수치;
-
padding-right: 수치;
-
padding-top: 수치;
-
padding-bottom: 수치;
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>margin,padding의 여백 설정</title>
<style type="text/css">
div{border : 1px solid #333; width : 400px}
/* margin으로 여백을 설정하면 전체 크기는 변경되지 않는다. */
/* 바깥쪽의 모든(왼쪽,오른쪽,위,아래) 여백 설정 */
.margin_a{margin:20px}
/* 특정 위치의 바깥쪽 여백 설정 */
.margin_b{margin-top: 50px;margin-left: 40px; margin-right: 100px; margin-bottom: 10px}
/* padding으로 여백을 설정하면 전체 크기가 변경된다. */
.padding_c{padding: 20px}
/* 특정 위치에 안쪽 여백 설정 */
.padding_d{padding-left: 10px; padding-top: 30px; padding-right: 50px; padding-bottom: 5px}
input{margin-left: 10px; padding-left: 5px; padding-top: 5px; padding-right: 3px; padding-bottom: 2px}
table{margin-left: 10px; margin-top: 10px}
.in {padding-left: 4px; padding-right: 7px; padding-top: 5px; padding-bottom: 10px; font-weight: bold;}
</style>
</head>
<body>
<strong>margin</strong>
<div class="margin_a">점심은 닭도리탕 아니겠습니까?</div>
<div class="margin_b">점심은 닭도리탕 아니겠습니까?</div>
<strong>padding</strong>
<div class="padding_c">점심은 닭도리탕 아니겠습니까?</div>
<div class="padding_d">점심은 닭도리탕 아니겠습니까?</div>
<label>이름</label><input type="text"/><br/>
<!-- table의 바깥쪽-왼쪽 여백을 10px, 위여백을 10px로 설정하고
첫행의 운td와 두번째행의 의td 의 안쪽 여백-왼:4px,오:7px,위:5px,아래:10px로 설정 -->
<table border="1">
<tr>
<td>윤</td>
<td class="in">운</td>
<td>찬</td>
</tr>
<tr>
<td class="in">의</td>
<td>하</td>
<td>현</td>
</tr>
</table>
</body>
</html>
반응형
'국비지원학원 > HTML,JavaScript,jQ' 카테고리의 다른 글
71일차-CSS,JavaScript (0) | 2019.02.01 |
---|---|
70일차-CSS_정렬,디자인,배치 (0) | 2019.01.31 |
68일차-HTML Form Control (0) | 2019.01.29 |
67일차-HTML_div tag (0) | 2019.01.27 |
67일차-HTML_table tag (0) | 2019.01.26 |