๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ’ป/CSS

(43) [CSS] 1์ผ CSS ๊ธฐ์ดˆ

by ๋”ฐ๊ถˆ 2024. 4. 16.

 

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>