πŸ’»/CSS

(43) [CSS] 1일 CSS 기초

λ”°κΆˆ 2024. 4. 16. 17:21

 

CSSλž€?
μŠ€νƒ€μΌμ€ HTML λ¬Έμ„œ 내에 μ„œμ²΄μ˜ μ’…λ₯˜,크기,색, 여백등을
μ§€μ •ν•˜μ—¬ μ‚¬μš©μžμ˜ web browser ν™˜κ²½μ— 상관없이 μΌμ •ν•œ 화면을 λ³΄μ—¬μ£ΌλŠ” κΈ°λŠ₯. 

 

CSS μ§€μ • 방법 

  1. 인라인 μŠ€νƒ€μΌ : inline Style은 HTML tag 속에 style 속성을 μ‚¬μš©ν•˜μ—¬ 직접 μ§€μ •ν•œλ‹€.
  2. λ‚΄λΆ€ μŠ€νƒ€μΌ μ‹œνŠΈ : μŠ€νƒ€μΌ μ‹œνŠΈμ˜ 기본적인 μ‚¬μš© λ°©λ²•μœΌλ‘œ html의 <head>~</head> 사이에 μ‚½μž…ν•˜μ—¬ <style type="css/text" media="κ°’">...<style>
  3. μ™ΈλΆ€ μŠ€νƒ€μΌ μ‹œνŠΈ 
  4. imported style sheet : 이방식은 결과적으둜 linked style와 κ°™κ³  μœ„μΉ˜λŠ” embedded 방식과 마찬 κ°€μ§€λ‘œ style block 속에 λ“€μ–΄κ°„λ‹€. 

 

크기 λ‹¨μœ„

  1. px : 픽셀은 λ””λ°”μ΄μŠ€ 해상도에 따라 μƒλŒ€μ μΈ 크기λ₯Ό κ°–λŠ”λ‹€. λ””λ°”μ΄μŠ€μ— 따라 ν”½μ…€(ν™”μ†Œ)의 ν¬κΈ°λŠ” λ‹€λ₯΄κΈ° λ•Œλ¬Έμ— 픽셀을 κΈ°μ€€μœΌλ‘œ ν•˜λŠ” λ‹¨μœ„λŠ” λͺ…ν™•ν•˜μ§€ μ•Šλ‹€. 
  2. % : λ°±λΆ„λ₯  λ‹¨μœ„μ˜ μƒλŒ€ λ‹¨μœ„. μš”μ†Œμ— μ§€μ •λœ μ‚¬μ΄μ¦ˆ(μƒμ†λœ μ‚¬μ΄μ¦ˆλ‚˜ λ””ν΄νŠΈ μ‚¬μ΄μ¦ˆ)에 μƒλŒ€μ μΈ μ‚¬μ΄μ¦ˆλ₯Ό μ„€μ •ν•œλ‹€. 
  3. em : 배수 λ‹¨μœ„ μƒλŒ€ λ‹¨μœ„. μš”μ†Œ μ§€μ •λœ μ‚¬μ΄μ¦ˆλ₯Ό μ„€μ •ν•œλ‹€. 
  4. rem : root em μ΄λΌλŠ” 뜻으둜, HTML λ¬Έμ„œμ˜ root μš”μ†ŒμΈ <html>을 가리킀며, 이 μš”μ†Œμ— μ§€μ •λœ 크기λ₯Ό κΈ°μ€€μœΌλ‘œ μƒλŒ€μ μΈ 값을 κ°€μ§€κ²Œ λœλ‹€. 
  5. Viewport λ‹¨μœ„ : λ°˜μ‘ν˜• 웹은 ν™”λ©΄μ˜ 크기에 λ™μ μœΌλ‘œ λŒ€μ‘ν•˜κΈ° μœ„ν•΄ % λ‹¨μœ„λ₯Ό 자주 μ‚¬μš©ν•˜μ§€λ§Œ, % λ‹¨μœ„λŠ”  emκ³Ό 같이 상속에 μ˜ν•΄ λΆ€λͺ¨ μš”μ†Œμ— μƒλŒ€μ  영ν–₯을 λ°›λŠ”λ‹€. Viemport λ‹¨μœ„λŠ” μƒλŒ€μ μΈ λ‹¨μœ„λ‘œ viewportλ₯Ό κΈ°μ€€μœΌλ‘œ ν•œ μƒλŒ€μ  μ‚¬μ΄μ¦ˆλ₯Ό μ˜λ―Έν•œλ‹€. 
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style type="text/css">

.box{
 width: 350px; height: 200px;
 border: 3px dotted gray;
 font-size: 14px;
 font-weight: bold;
 text-align: center;

 padding: 2em; 
 /* 2em = 2 x κΈ€μžν¬κΈ° = 2x14 = 28px*/
}

</style>

</head>
<body>

<h3> λ‹¨μœ„(Units) : px </h3>

<div class="box">κΈ€μžν¬κΈ°: 14px</div>

</body>
</html>

 

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style type="text/css">

body{
	font-size: 14px;
}

.box{
 width: 350px; height: 200px;
 border: 3px dotted gray;
 
 font-size: 120%; /*λΆ€λͺ¨ν¬κΈ°x120%=14*1.2=16.8px*/
 font-weight: bold;
 text-align: center;

 padding: 2em /*16.8px*2=33.6px*/; 
}

</style>

</head>
<body>

<h3> λ‹¨μœ„(Units) : % </h3>

<div class="box">κΈ€μžν¬κΈ°: 14px * 120% = 16.8px</div>

</body>
</html>

 

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style type="text/css">

body{
	font-size: 14px;
}

.box{
 width: 350px; height: 200px;
 border: 3px dotted gray;
 
 font-size: 1.2em; /*λΆ€λͺ¨ν¬κΈ°x1.2=14*1.2=16.8px*/
 font-weight: bold;
 text-align: center;

 padding: 2em 
 /*κΈ€μžν¬κΈ°*2=16.8x2=33.6px νŒ¨λ”©μ€ κΈ€μžν¬κΈ°λ₯Ό 따라가고, κΈ€μžλŠ” λΆ€λͺ¨ν¬κΈ°λ₯Ό 따라감*/; 
}

</style>

</head>
<body>

<h3> λ‹¨μœ„(Units) : em </h3>

<div class="box">κΈ€μžν¬κΈ°: 1.2em = 14px * 1.2 = 16.8px</div>

</body>
</html>

 

 

ν”„λ‘œνΌν‹°

  • inherit : 인헀릿 ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•œ 속성은 λΆ€λͺ¨ μš”μ†Œλ‘œλΆ€ν„° ν•΄λ‹Ή μ†μ„±μ˜ 계산 값을 상속 λ°›μ•„ μ‚¬μš©ν•œλ‹€. all 단좕 속성을 ν¬ν•¨ν•œ λͺ¨λ“  속성에 μ‚¬μš©ν•  수 μžˆλ‹€.
  • initial : μ†μ„±μ˜ μ΄ˆκΈ°κ°’(κΈ°λ³Έκ°’)을 μš”μ†Œμ— μ μš©ν•œλ‹€. μ΄ˆκΈ°κ°’μ€ λΈŒλΌμš°μ €κ°€ μ§€μ •ν•œλ‹€. λͺ¨λ“  μ†μ„±μ—μ„œ μ‚¬μš©ν•  수 있으며, all에 μ§€μ •ν•  경우 λͺ¨λ“  CSS 속성을 μ΄ˆκΈ°κ°’μœΌλ‘œ μž¬μ„€μ •ν•œλ‹€. 
  • uri : uriλŠ” url (μ£Όμ†Œ)+urm (μžμ›μ΄λ¦„)둜, μ›Ή μƒμ—μ„œ λ¬Έμ„œμ˜ λ°°κ²½ κ·Έλ¦Όμ΄λ‚˜ μˆœμ„œκ°€ μ—†λŠ” listμ•žμ—  icon을 λ„£μ„λ•Œ  urlμ΄λ‚˜ uriλ₯Ό κΈ°μž…ν•œλ‹€.
  • !important : λͺ¨λ“  style κ·œμΉ™μ— μš°μ„ ν•˜λ©° inline style,id selector,class selectorλ“€λ‘œ 같은 style 속성을 μ„ μ–Έν–ˆλ”λΌλ„ κ·Έ 값을 λͺ¨λ‘ λ¬΄μ‹œν•˜λ©° !import  μ„ μ–Έν•œ 속성 값을 μ μš©μ‹œν‚¨λ‹€. 

 

상속 

μƒμœ„(λΆ€λͺ¨,쑰상)μš”μ†Œμ— 적용된 ν”„λ‘œνΌν‹°λ₯Ό ν•˜μœ„(μžμ‹,μžμ†)μš”μ†Œκ°€ λ¬Όλ € λ°›λŠ” 것을 μ˜λ―Έν•œλ‹€. ν”„λ‘œνΌν‹°μ—λŠ” 상속이 λ˜λŠ” 것과 λ˜μ§€ μ•ŠλŠ” 것이 μžˆλ‹€. 

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>

<style type="text/css">

.text-red{
	color: red;
	border: 1px solid #bcbcbc;
	padding: 10px;
}

</style>

</head>
<body>

<h3> 상속(Inheritance) </h3>

<div class="text-red">
	<h1>상속 예</h1>
	<p>문단 <span>span</span></p>
 	<button>λ²„νŠΌ 1</button>
 	<button style="color: inherit;">λ²„νŠΌ 2</button> <!-- 인헀릿 ν‚€μ›Œλ“œλ‘œ λΆ€λͺ¨μ†μ„± 상속 -->
</div>
<hr>

<div>
  <p> colorλŠ” ν•˜μœ„ μš”μ†Œμ— μƒμ†λ˜λŠ” μ†μ„±μ΄μ§€λ§Œ button νƒœκ·Έ 처럼 μš”μ†Œμ— 따라 상속 λ°›μ§€ μ•ŠλŠ” κ²½μš°λ„ 쑴재 </p>
  <p>
     <b>μƒμ†λ˜λŠ” 속성</b>
     <br>visibility, opacity, font, color, line-height, text-align, white-space λ“±
   </p>
   <hr>
   <p>
      <b>μƒμ†λ˜λŠ” μ•ŠλŠ” 속성</b>
      <br>width, height, margin, padding, border, box-sizing, display, background, vertical-align, 
      text-decoration, position, top/right/bottom/left, z-index, 
      overflow, float λ“±
   </p>
</div>

</body>
</html>

 

 

 

 

μΊμŠ€μΊμ΄λ”© 

μš”μ†ŒλŠ” ν•˜λ‚˜ μ΄μƒμ˜ CSS선언에 영ν–₯을 받을 수 μžˆλ‹€. μ΄λ•Œ μΆ©λŒμ„ ν”Όν•˜κΈ° μœ„ν•΄ CSS적용 μš°μ„ μˆœμœ„κ°€ ν•„μš”ν•œλ° 이λ₯Ό μΊμŠ€μΊμ΄λ”©μ΄λΌκ³  ν•œλ‹€. μΊμŠ€μΊμ΄λ”© μ„Έκ°€μ§€ κ·œμΉ™ μ€‘μš”λ„(CSSκ°€ 어디에 μ„ μ–Έ λ˜μ–΄μžˆλŠ”μ§€μ— λ”°λΌμ„œ μš°μ„ μˆœμœ„κ°€ 달라진닀.) λͺ…μ‹œλ„(λŒ€μƒμ„ λͺ…ν™•ν•˜κ²Œ νŠΉμ •ν• μˆ˜λ‘ λͺ…μ‹œλ„κ°€ λ†’μ•„μ§€κ³  μš°μ„ μˆœμœ„κ°€ λ†’μ•„μ§„λ‹€.) μ„ μ–Έμˆœμ„œ (μ„ μ–Έλœ μˆœμ„œμ— 따라 μš°μ„  μˆœμœ„κ°€ μ μš©λœλ‹€. 즉, λ‚˜μ€‘μ— μ„ μ–Έλœ μŠ€νƒ€μΌμ΄ μš°μ„  μ μš©λœλ‹€).

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
 
<link rel="stylesheet" href="style3.css">

<style type="text/css">

div{
	background: navy;
}


</style>

</head>
<body>

<h3> Cascading Order </h3>

<div>
	CSSκ°€ 어디에 μ„ μ–Έ λ˜μ—ˆλŠ”μ§€μ— λ”°λΌμ„œ μš°μ„ μˆœμœ„κ°€ 달라진닀.
</div>

<p>
 1) embedded style sheet : style μš”μ†Œ<br>
 2) embedded style sheet λ‚΄μ˜ @import λ¬Έ<br>
 3) linked style sheet : link νƒœκ·Έλ‘œ μ—°κ²°λœ CSS 파일<br>
 4) linked style sheet λ‚΄μ˜ @import λ¬Έ<br>
 5) λΈŒλΌμš°μ € λ””ν΄νŠΈ μŠ€νƒ€μΌμ‹œνŠΈ<br>
</p>

</body>
</html>

 

 

 

 


 

 

 

μ„ νƒμž(Select)λž€?
μ„ νƒμžλŠ” style을 μ μš©ν•˜κ³ μž ν•˜λŠ” HTML μš”μ†Œλ‘œ, μ›ν•˜λŠ” μš”μ†Œλ₯Ό μ„ νƒν•˜λŠ”λ°
μ‚¬μš©λ˜λŠ” νŒ¨ν„΄μ΄λ‹€. 즉, style을 μ μš©ν•˜κ³ μž ν•˜λŠ” HTML μš”μ†Œλ₯Ό
μ…€λ ‰ν„°λ‘œ νŠΉμ •ν•˜κ³  μ„ νƒλœ μš”μ†Œμ— μŠ€νƒ€μΌμ„ μ •μ˜ν•œλ‹€.

κ΅¬λ¬Έν˜•μ‹

 

Selector

  1. 전체 μ…€λ ‰ν„°(*) : HTML λ¬Έμ„œ λ‚΄μ˜ λͺ¨λ“  μš”μ†Œλ₯Ό μ„ νƒν•œλ‹€. html μš”μ†Œλ₯Ό ν¬ν•¨ν•œ λͺ¨λ“  μš”μ†Œκ°€ μ„ νƒλœλ‹€.
  2. νƒœκ·Έ μ…€λ ‰ν„° : μ§€μ •λœ νƒœκ·Έλͺ…을 κ°€μ§€λŠ” μš”μ†Œλ₯Ό μ„ νƒν•œλ‹€.
  3. ID μ…€λ ‰ν„° : id μ–΄νŠΈλ¦¬λ·°νŠΈ 값을 μ§€μ •ν•˜μ—¬ μΌμΉ˜ν•˜λŠ” μš”μ†Œλ₯Ό μ„ νƒν•œλ‹€. id μ–΄νŠΈλ¦¬λ·°νŠΈ 값은 쀑볡될 수 μ—†λŠ” μœ μΌν•œ 값이닀. 
  4. 클래슀 μ…€λ ‰ν„° : class μ–΄νŠΈλ¦¬λ·°νŠΈ 값을 μ§€μ •ν•˜μ—¬ μΌμΉ˜ν•˜λŠ” μš”μ†Œλ₯Ό μ„ νƒν•œλ‹€. 
  5. μ–΄νŠΈλ¦¬λ·°νŠΈ μ…€λ ‰ν„° : μ£Όμ–΄μ§„ μ–΄νŠΈλ¦¬λ·°νŠΈμ˜ μ‘΄μž¬μ—¬λΆ€λ‚˜ κ·Έ 값에 따라 μš”μ†Œλ₯Ό μ„ νƒν•œλ‹€. 
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style type="text/css">


/*λͺ¨λ“  μš”μ†Œ*/
*{
	font-size: 15px;
	font-family: "맑은 κ³ λ”•",돋움,sans-serif;
}

/*νƒœκ·Έ μ„ νƒμž*/
p{background: yellow;}
label {color: blue;font-weight: bold;}


/*id μ„ νƒμž*/
#box{
	width: 300px;
	padding: 10px;
	border: 3px dashed gray;
}

/*클래슀 μ„ νƒμž*/
.red{color: red;}
.underline{text-decoration: underline;}


</style>

</head>
<body>

<h3>Selector : κΈ°λ³Έ μ…€λ ‰ν„°</h3>

<div>
	<div id="box">
		<label>ν”„λ‘œκ·Έλž˜λ°</label>
		<span class="red">μžλ°”</span>
		<span>Cμ–Έμ–΄</span>
		<span class="red underline">μ½”ν‹€λ¦°</span>
		<p>
			<label>λ°μ΄ν„°λ² μ΄μŠ€</label>
			<span class="red">였라클</span>
			<span class="underline">mysql</span>
			<span>빅데이터</span>
		</p>
	</div>
	<div>
		<label>μ›Ή</label>
		<span>HTML</span>
		<span>CSS</span>
		<span>javascript</span>
		<p>
			<label>μ›Ήν”„λ‘œκ·Έλž¨</label>
			<span>JSP</span>
			<span>PHP</span>
			<span>ASP.NET</span>
		</p>
	</div>
</div>

</body>
</html>

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style type="text/css">

.box{
	color: tomato;
}

div.box{
	width: 300px; height: 50px; border: 3px dotted gray;
}

/*OR*/
lable,span{color: blue; font-weight: bold;}

</style>

</head>
<body>

<h3>닀쀑 쑰건 μ„ νƒμž</h3>

<p class="box">
    AND μ—°μ‚° μ„ νƒμž :λͺ¨λ“  쑰건을 λ§Œμ‘±ν•˜λŠ” μš”μ†Œ 선택. μ„ νƒμžλΌλ¦¬ 띄어쓰기 없이 λΆ™μ—¬ μ“΄λ‹€. 
</p>
<br>
<div class="box"></div>
<br>
<div><p class="box">예제</p></div>
<hr>

<p>
    μ„ νƒμž(Selector) λͺ©λ‘(OR μ—°μ‚°) : μ„ νƒμž λͺ©λ‘(,)은 μΌμΉ˜ν•˜λŠ” λͺ¨λ“  μš”μ†Œλ₯Ό 선택 
</p>
<div>
	<p>κ³Όλͺ©</p>
	<label>μ›Ή</label>
	<span>HTML</span>
	<span>CSS</span>
	<span>μžλ°”μŠ€ν¬λ¦½νŠΈ</span>
</div>

</body>
</html>

 

 

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style type="text/css">
p{height: 20px;}

/* name=subject 인 μš”μ†Œ */

input[name=subject]{
	background: yellow;
}

/* name 속성이 μ‘΄μž¬ν•˜λŠ” μš”μ†Œ */
input[name]{
border: 1px solid blue;
}

/*name이 a둜 μ‹œμž‘ν•˜λŠ” μš”μ†Œ*/
input[name^=a]{border-right:3px solid red; }

/*title이 λ²„νŠΌμœΌλ‘œ λλ‚˜λŠ” μš”μ†Œ, "λ²„νŠΌ"처럼 해도 κ°€λŠ₯*/
input[title$=λ²„νŠΌ]{background: green;}

/*name이 xκ°€ ν¬ν•¨λœ μš”μ†Œ*/
input[name*=x]{border-left:3px solid orange; }

/*title에 λ‚΄μš©μ΄λΌλŠ” 단어(λ„μ–΄μ“°κΈ°λ‘œκ΅¬λΆ„)κ°€ μ‘΄μž¬ν•˜λŠ” μš”μ†Œ*/
input[title~=λ‚΄μš©]{background: gray;}

/* pμš”μ†Œμ€‘ langκ°€ en μ΄κ±°λ‚˜ en-둜 μ‹œμž‘ν•˜λŠ” μš”μ†Œ */
p[lang|=en]{
	color: red;
}

</style>

</head>
<body>

<h3>μ–΄νŠΈλ¦¬λ·°νŠΈ μ…€λ ‰ν„°(Attribute Selector) : μ£Όμ–΄μ§„ μ–΄νŠΈλ¦¬λ·°νŠΈμ˜ μ‘΄μž¬μ—¬λΆ€λ‚˜ κ·Έ 값에 따라 μš”μ†Œλ₯Ό 선택</h3>

<form>
	<p> <input type="text" name="subject" title="κ³Όλͺ© μž…λ ₯"> </p>
	<p> <input type="text" name="ax1" title="1μž₯ 제λͺ© μž…λ ₯"> </p>
	<p> <input type="text" name="as2" title="1μž₯ λ‚΄μš© μž…λ ₯"> </p>
	<p> <input type="text" name="bs1" title="2μž₯ 제λͺ© μž…λ ₯"> </p>
	<p> <input type="text" name="bx2" title="2μž₯ λ‚΄μš© μž…λ ₯"> </p>
	<p> <input type="file" name="selectFile"> </p>
	<p>
			<input type="button" value="μž…λ ₯μ™„λ£Œ" title="μž…λ ₯ λ²„νŠΌ">
			<input type="reset" value="μž…λ ₯μ·¨μ†Œ" title="μ·¨μ†Œ λ²„νŠΌ">
	</p>
</form>

<div style="margin-top: 30px;">
  <p lang="en">JAVA</p>
  <p lang="en-us">JAVA</p>
  <p lang="en-gb">JAVA</p>
  <p lang="us">JAVA</p>
  <p lang="no">JAVA</p>
</div>

</body>
</html>

 

 

 

κ²°ν•©μž 

  • 인접 ν˜•μ œ κ²°ν•©μž ; 인접 ν˜•μ œ κ²°ν•©μž(+)λŠ” μ•žμ—μ„œ μ§€μ •ν•œ μš”μ†Œμ˜ λ°”λ‘œ λ‹€μŒμ— μœ„μΉ˜ν•˜λŠ” ν˜•μ œ μš”μ†Œλ§Œ μ„ νƒν•œλ‹€.
  • 일반 ν˜•μ œ κ²°ν•©μž : 일반 ν˜•μ œ κ²°ν•©μž(~)λŠ” λ‘κ°œμ˜ μ„ νƒμž 사이에 μœ„μΉ˜ν•˜μ—¬ λ’€μͺ½ μ„ νƒμžμ˜ μš”μ†Œμ™€ μ•žμͺ½ μ„ νƒμž μš”μ†Œμ˜ λΆ€λͺ¨ μš”μ†Œκ°€ κ°™κ³ , λ’€μͺ½ μ„ νƒμžμ˜ μš”μ†Œκ°€ 뒀에 μœ„μΉ˜ν•  λ•Œ μ„ νƒν•œλ‹€. 
  • μžμ‹ κ²°ν•©μž : μžμ‹ κ²°ν•©μž(>)λŠ” 두 개의 CSS μ„ νƒμž 사이에 μœ„μΉ˜ν•˜μ—¬ λ’€μͺ½ μ„ νƒμžμ˜ μš”μ†Œκ°€ μ•žμͺ½ μ„ νƒμž μš”μ†Œμ˜ λ°”λ‘œ 밑에 μœ„μΉ˜ν•  κ²½μš°μ—λ§Œ μ„ νƒν•œλ‹€.
  • μžμ†(후손)κ²°ν•©μž : 보톡 ν•˜ 칸의 곡백 문자둜 ν‘œν˜„ν•˜λŠ” μžμ† κ²°ν•©μž()λŠ” λ‘κ°œμ˜ μ„ νƒμžλ₯Ό μ‘°ν•©ν•˜μ—¬, λ’€μͺ½ μ„ νƒμž μš”μ†Œμ˜ 쑰상에 μ•žμͺ½ μ„ νƒμž μš”μ†Œκ°€ μ‘΄μž¬ν•  경우 μ„ νƒν•œλ‹€.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style type="text/css">

/*인접 ν˜•μ œ κ²°ν•©μž(+)*/
label+span{
background: yellow;
}

/*일반 ν˜•μ œ κ²°ν•©μž(~)*/
label~span{
	color: blue; font-weight: bold;
}

/*μžμ‹ κ²°ν•©μž(>)*/
.subject>lable{
	color: tomato;
	font-weight: bold;
}
/*μžμ† κ²°ν•©μž(곡백)*/
.subject lable{
background: #ccc;
}



</style>

</head>
<body>

<h3>Selector : κ²°ν•©μž(Combinator)</h3>

<div class="box">
	<div class="subject">
		<label>ν”„λ‘œκ·Έλž˜λ°</label>
		<span>μžλ°”</span>
		<span>Cμ–Έμ–΄</span>
		<span>μ½”ν‹€λ¦°</span>
		<p>
			<label>λ°μ΄ν„°λ² μ΄μŠ€</label>
			<span>였라클</span>
			<span>mysql</span>
			<span>빅데이터</span>
		</p>
	</div>
	<div class="subject">
		<label>μ›Ή</label>
		<span>HTML</span>
		<span>CSS</span>
		<span>javascript</span>
		<p>
			<label>μ›Ήν”„λ‘œκ·Έλž¨</label>
			<span>JSP</span>
			<span>PHP</span>
			<span>ASP.NET</span>
		</p>
	</div>
</div>

<div>
	<span>End...</span>
</div>

</body>
</html>

 

가상 클래슀 

μ„ νƒμžμ— μΆ”κ°€ν•˜λŠ” ν‚€μ›Œλ“œλ‘œ, μ„ νƒν•œ μš”μ†Œκ°€ νŠΉλ³„ν•œ μƒνƒœμ—¬μ—¬μ•Ό λ§Œμ‘±ν•  수 μžˆλ‹€. ex) λ§ˆμš°μŠ€κ°€ μ˜¬λΌμ™€ μžˆμ„ λ•Œμ—λ§Œ 글씨 색을 λ°”κΎΈκ³  μ‹Άμ„λ•Œ. 링크λ₯Ό λ°©λ¬Έν–ˆμ„ λ•Œμ™€ 아직 λ°©λ¬Έν•˜μ§€ μ•Šμ•˜μ„λ•Œ 

 

링크 μ…€λ ‰ν„°,동적 μ…€λ ‰ν„°

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style type="text/css">

/*λ°©λ¬Έν•˜μ§€ μ•Šμ€ 링크일 λ•Œ*/
a:link{color: orange;}

/*λ°©λ¬Έν•œ 링크일 λ•Œ */
a:visited {color: green;}

/*마우슀λ₯Ό μ˜¬λ €λ†“μ„ λ•Œ*/
a:hover {color: maroon;}

/*클릭된 μƒνƒœ*/
a:active {color: blue;}

/*포컀슀λ₯Ό λ°›μ„λ•Œ*/
input[type=text]:focus,input[type=password]:focus{
	outline: none;
	border: 1px solid red;
}

</style>

</head>
<body>

<h3>가상 클래슀(Pseudo-classes) : 링크 μ…€λ ‰ν„°(Link pseudo-classes) </h3>

<div>
	<a href="#">링크</a> |
	<a href="https://google.com">ꡬ글</a>
</div>
<div>
	<p> <input type="text"> </p>
	<p> <input type="password"> </p>
	<p> <input type="button" value="확인"> </p>
</div>

</body>
</html>

 

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style type="text/css">
input:enabled+span{
	color: blue;
}
input:disabled{color: tomato;}
input:checked+span{color: red;}

</style>

</head>
<body>

<h3>가상 클래슀(Pseudo-classes) : UI μš”μ†Œ μƒνƒœ μ…€λ ‰ν„° </h3>

<div>
	<p> <input type="text" value="default"> <span>default</span> </p>
	<p> <input type="text" readonly value="readonly"> <span>readonly</span> </p>
	<p> <input type="text" disabled value="disabled"> <span>disabled</span></p>
	<p> <input type="checkbox"> <span>선택1</span> </p>
	<p> <input type="checkbox" checked> <span>선택2</span> </p>
	<p> <input type="button" value="확인"> </p>
</div>

</body>
</html>