๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
side-project/GitHub ๋”ฐ๋ผ ๋งŒ๋“ค๊ธฐ

[CSS] ๋กœ๊ณ  ์ •์˜

by ์†ก๋‘๋ถ€ 2022. 4. 7.
728x90
๋ฐ˜์‘ํ˜•

[๋กœ๊ณ  ์ •์˜]

// .logo = ํด๋ฆญ๋˜๋Š” ์š”์†Œ์ธ a ํƒœ๊ทธ๋ฅผ ๊ฐ์‹ธ๋Š” ์š”์†Œ

<div class="logo">

    <a href="#">GitHub</a>

</div>

๐Ÿ”ฅ problem ๐Ÿ”ฅ
'์ด๋ฏธ์ง€+๋กœ๊ณ ' ํด๋ฆญ์„ ์œ„ํ•ด 'a ํƒœ๊ทธ ๋ฒ”์œ„ ์•ˆ์— ์ด๋ฏธ์ง€ ๋กœ๊ณ ๊ฐ€ ์กด์žฌํ•ด์•ผํ•œ๋‹ค.
๐Ÿ’ก solution ๐Ÿ’ก
<img>ํƒœ๊ทธ๋กœ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  css์˜ background ์†์„ฑ์œผ๋กœ ์ •์˜

 

-1. div์˜ logo์— ์ด๋ฏธ์ง€๋ฅผ ์‚ฝ์ž…ํ•  ๊ฒฝ์šฐ (โŒ)

// a ํ…์ŠคํŠธ๊นŒ์ง€ ์ปค์„œ๋ฅผ ๊ฐ€์ ธ๋Œ€์•ผ๋งŒ ํด๋ฆญ ๊ฐ€๋Šฅํ•˜๋‹ค.
//์ด๋ฏธ์ง€์— ์ปค์„œ๋ฅผ ๊ฐ€์ ธ๊ฐ€๋„ ํด๋ฆญ์ด ๋™์ž‘ํ•˜์ง€ ์•Š๋Š”๋‹ค.
header .logo {
  margin-right: 10px;
  background: url('../img/logo.svg');
  width: 32px;
  height: 32px;
}

ํด๋ฆญ โŒ

 

[a ํƒœ๊ทธ]

๐Ÿ”ฅ problem ๐Ÿ”ฅ

- ์ธ๋ผ์ธ ์š”์†Œ๋Š” ๋ฒ”์œ„๋ฅผ ๊ฐ€์ง€์ง€ ๋ชปํ•˜๋‹ˆ๊นŒ ๋ฒ”์œ„ ์•ˆ์—์„œ์˜ ์ด๋ฏธ์ง€ ํ‘œํ˜„ ๋ถˆ๊ฐ€

๐Ÿ’ก
solution ๐Ÿ’ก
- ๋ฒ”์œ„๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ์ธ display block์œผ๋กœ ๋ณ€๊ฒฝ

 

- 2. a ํƒœ๊ทธ ์š”์†Œ์— ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋ฅผ ์ง€์ • (โญ•)
 
// a๋งํฌ๋ฅผ ๋ฒ”์œ„๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๊ฒŒ ์ •์˜ ํ•˜๋ฉด์„œ ์ด๋ฏธ์ง€๋ฅผ ์‚ฝ์ž…ํ•  ๊ฒฝ์šฐ
// ์„ค์ •ํ•œ ๋งํฌ์˜ ๋ฒ”์œ„์— ์ด๋ฏธ์ง€๊ฐ€ ๊ทธ๋ ค์ง„๋‹ค.
header .logo a {
 
// ํ•ด๋‹นํ•˜๋Š” ํŒŒ์ผ์„ ๊ธฐ์ค€์œผ๋กœ ๋””๋ ‰ํ† ๋ฆฌ ๋ฐ–์œผ๋กœ ํ•œ๋ฒˆ ๋‚˜๊ฐ€๋ผ 
  background: url('../img/logo.svg');
  width: 32px;
  height: 32px;
  display: block;
}

ํด๋ฆญ โญ•

๐Ÿ“Œ
a ํƒœ๊ทธ๋ฅผ ํ†ตํ•ด์„œ css์— ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์†์„ฑ์œผ๋กœ ์ด๋ฏธ์ง€๋ฅผ ์‚ฝ์ž…

 


 

<a href="#">GitHub</a>

๐Ÿ”ฅ problem ๐Ÿ”ฅ

- ๋กœ๊ณ  ๋ถ€๋ถ„์— ์ž‘์„ฑํ–ˆ๋˜ ํŠน์ •ํ•œ ํ…์ŠคํŠธ ์ง€์šฐ๋ฉด ์•ˆ ๋œ๋‹ค.

โ” explanation โ•
-
ํƒœ๊ทธ์˜ ๊ธฐ๋ณธ์ ์ธ ํ•„์ˆ˜ ์†์„ฑ (src  =์ด๋ฏธ์ง€์— ๋Œ€ํ•œ ๊ฒฝ๋กœ & alt = ๋Œ€์ฒด ํ…์ŠคํŠธ)
'alt ์†์„ฑ : ์ด๋ฏธ์ง€๊ฐ€ ์ œ๋Œ€๋กœ ์ถœ๋ ฅ๋˜์ง€ ๋ชปํ–ˆ์„ ๋•Œ ๋‚˜์˜ค๋Š” ๋Œ€์ฒด๋  ํ…์ŠคํŠธ'

-
background ์†์„ฑ์œผ๋กœ ์ด๋ฏธ์ง€ ์‚ฝ์ž…ํ•  ๋•Œ ๋Œ€์ฒด ํ…์ŠคํŠธ๊ฐ€ ์—†๋‹ค !
html์— ์ง์ ‘์ ์œผ๋กœ ์ž‘์„ฑ๋œ ํ…์ŠคํŠธ๊ฐ€ <img> alt ์†์„ฑ์ฒ˜๋Ÿผ ๋Œ€์ฒด ํ…์ŠคํŠธ๋กœ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค.

๐Ÿ’ก 
solution ๐Ÿ’ก
1. ๋Œ€์ฒด ํ…์ŠคํŠธ๋ฅผ html์—๋‹ค๊ฐ€ ์ง์ ‘์ ์œผ๋กœ ์ž‘์„ฑ
2. css๋ฅผ ํ†ตํ•ด์„œ ํ…์ŠคํŠธ๊ฐ€ ํ™”๋ฉด์— ๋‚˜์˜ค์ง€ ์•Š๊ฒŒ ์ž‘์—…


[ text indent ์†์„ฑ ] : ๋“ค์—ฌ์“ฐ๊ธฐ 

- text-indent : 20px >>ํ…์ŠคํŠธ๊ฐ€ 20px ์šฐ์ธก์œผ๋กœ ๋ฐ€๋ฆฐ๋‹ค.

- text-indent : -20px >>ํ…์ŠคํŠธ๊ฐ€ 20px ์ขŒ์ธก์œผ๋กœ ๋ฐ€๋ฆฐ๋‹ค.

// #  ๋Œ€์ฒด ํ…์ŠคํŠธ์˜ ์—ญํ•  : ํ™”๋ฉด์—์„œ๋Š” ์‚ฌ๋ผ์กŒ์ง€๋งŒ html์˜ ๊ตฌ์กฐ์ ์œผ๋กœ๋Š” ๋‚จ์•„ ์žˆ๊ธฐ ๋•Œ๋ฌธ
header .logo a {
  background: url('../img/logo.svg');
  width: 32px;
  height: 32px;
  display: block;
  text-indent: -9999px;
}

- # '9999' ์ผ์ข…์˜ ์•ฝ์† 
'12345' ์ž…๋ ฅ์„ ํ•ด๋„ ์‚ฌ๋ผ์ง€์ง€๋งŒ ์ด ๊ฐ’์ด ๋ฌด์—‡์„ ์˜๋ฏธํ•˜๋Š”์ง€๋Š” ํ™•์ธ์ด ์•ˆ๋œ๋‹ค.
ํ…์ŠคํŠธ๋ฅผ ์‚ฌ๋ผ์ง€๊ฒŒ ํ•˜๋Š” ๊ฐœ๋…์œผ๋กœ ์ด ์ˆ˜์น˜๋ฅผ ์ ์—ˆ๊ตฌ๋‚˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

text-indent

 

๐Ÿ“Œ
background ์†์„ฑ์„ ํ†ตํ•ด์„œ ์ด๋ฏธ์ง€๋ฅผ ์‚ฝ์ž…ํ•  ๋•Œ
๋Œ€์ฒด ํ…์ŠคํŠธ๋ฅผ ์‚ฝ์ž…ํ•˜๋Š” ๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ ๋ฐฉ๋ฒ•
text indent ์†์„ฑ์œผ๋กœ ํฐ ๊ฐ’์„ ์„ค์ •

 


 

[ hover ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€ ๋ณ€๊ฒฝ ]

- ๋งˆ์šฐ์Šค๋ฅผ ์˜ฌ๋ฆฌ๋ฉด ์ƒ‰๊น”์ด ๋ฐ”๋€Œ๋Š” ์ด๋ฏธ์ง€๋กœ ๋ณ€๊ฒฝ

  header .logo a:hover{
    background: url('../img/logo_on.svg');
  }

a:hover

728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€