🎨CSS | overflow, λ§μ€„μž„, 가상 클래슀, 가상 μš”μ†Œ μ„ νƒμž

μ›μ˜Β·2023λ…„ 3μ›” 3일
0

ν…μŠ€νŠΈκ°€ μ½˜ν…μΈ  λ°•μŠ€ λ°–μœΌλ‘œ λ„˜μΉ  경우 처리

text-overflow

  • μ½˜ν…μΈ  λ°–μœΌλ‘œ λ‚˜μ˜¨ ν…μŠ€νŠΈλ₯Ό μ–΄λ–»κ²Œ μ²˜λ¦¬ν•  μ§€ 선택
  • overflow: hidden; : λ„˜μΉ˜λŠ” ν…μŠ€νŠΈ μ•ˆλ³΄μ΄κ²Œ μ„€μ •

ellipsis

  • λ„˜μΉ˜λŠ” ν…μŠ€νŠΈ λ§μ€„μž„ 처리
.example{
	white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
  • white-space: nowrap; : μ€„λ°”κΏˆμ„ ν•˜μ§€ μ•Šκ³  같은 쀄에 μ­‰ 써쀌
    text-overflow:ellipsis; : λ„˜μΉ˜λŠ” ν…μŠ€νŠΈ λ§μ€„μž„ 처리

  • λͺ‡ 번째 μ€„μ—μ„œ λ§μ€„μž„ μ²˜λ¦¬ν•  μ§€ μ„€μ •

/* μ„Έ 번째 μ€„μ—μ„œ λ§μ€„μž„ */
.example {
	overflow:hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

가상 클래슀 μ„ νƒμž

:κ°€μƒμ΄λ²€νŠΈ ν˜•νƒœλ‘œ νŠΉλ³„ν•œ μƒνƒœμ˜ μš”μ†Œλ₯Ό 선택

:first-child, :last-child, :nth-child(n)

  • ν˜•μ œ κ·Έλ£Ήμ—μ„œ μˆœμ„œμ— 따라 μš”μ†Œ 선택
  • ν˜•μ œ μš”μ†Œ 쀑 n번 째에 μ—†μœΌλ©΄ 적용 X
/* 첫 번째 μš”μ†Œ 선택 */
li:first-child {
	color: salmon;
}

/* λ§ˆμ§€λ§‰ μš”μ†Œ 선택 */
li:last-child {
	color: royalblue;
}

/* li와 ν˜•μ œ μš”μ†Œ 쀑 3번째 μš”μ†Œ 선택 */
/* λ§Œμ•½ μ„Έλ²ˆ 째에 <li> μ—†λ‹€λ©΄ 적용X */
li:nth-child(3) {
	color: sandybrown;
}

/* 짝수 μš”μ†Œ 선택 */
li:nth-child(even) {
	text-decoration: underline;
}

μ‘μš© μ˜ˆμ‹œ

<div>
  <p>첫번째</p>
  <p>λ‘λ²ˆμ§Έ</p>
  <strong>μ„Έλ²ˆμ§Έ</strong>
  <p>λ„€λ²ˆμ§Έ</p>
  <div>λ‹€μ„―λ²ˆμ§Έ</div>
</div>
/* ν˜•μ œ κ·Έλ£Ή μ•ˆμ˜ 3번 μ§Έ μžμ‹ νƒœκ·Έκ°€ <p>인 μš”μ†Œ */
/* μœ„μ˜ 경우 3번째 νƒœκ·Έκ°€ <p>κ°€ μ•„λ‹ˆλΌ <strong> μ΄μ–΄μ„œ 적용 X */
p:nth-child(3) {
	color: green;
}

/* div + ' '(곡백 - λͺ¨λ“  μžμ‹ μš”μ†Œ 의미) div μžμ‹ μš”μ†Œ 쀑 n번 μ§Έ */
/* μœ„μ˜ 경우 <strong>μ„Έλ²ˆμ§Έ</strong> 의미 */
div :nth-child(3) {
	text-decoration: underline;
}

/* ν˜•μ œ <div> 쀑 3번 μ§Έ μš”μ†Œ */
/* μœ„μ˜ 경우 쑴재 X */
div:nth-child(3) {
	font-size: large;
}

κ²°κ³Ό

:nth-of-type(n)

  • ν˜•μ œ 그룹의 같은 νƒœκ·Έλ₯Ό κ°€μ§„ μš”μ†Œ μ€‘μ—μ„œ μˆœμ„œλ₯Ό 기반으둜 선택
/* ν˜•μ œ νƒœκ·Έλ“€ 쀑 3번 μ§Έ <p> μš”μ†Œ */
p:nth-of-type(3) {
	color: green;
}

:not()

  • λΆ€μ •μ„ νƒμž, νŠΉμ • μš”μ†Œ μ œμ™Έν•˜κ³  선택
/* <p>쀑 첫번 μ§Έ, λ§ˆμ§€λ§‰μ΄ μ•„λ‹Œ μš”μ†Œ */
p:not(:first-child):not(:last-child){
	color: green;
}

:root

  • μ „μ—­ λ³€μˆ˜λ₯Ό μ„ μ–Έν•  λ•Œ μ‚¬μš©
:root {
	--main-color: hotpink;
}

ul {
background-color: var(--main-color);
}

πŸ’‘μ°Έκ³ 
κ°€μƒν΄λž˜μŠ€ μ„ νƒμž div:not(:first-child) 와 λ³΅ν•©μ„ νƒμž div~div κ°™μŒ

  • 일반 ν˜•μ œ μ„ νƒμž (~)λŠ” μžμ‹  뒀에 λ‚˜μ˜€λŠ” ν˜•μ œ νƒœκ·Έ 전체 선택이기 λ•Œλ¬Έμ—, 첫 번째 divλ₯Ό μ œμ™Έν•˜κ³  κ·Έ 뒀에 λ‚˜μ˜€λŠ” ν˜•μ œ div λͺ¨λ‘λ₯Ό 선택
  • margin-top: 20px; 같은 경우 μš”κΈ΄ν•˜κ²Œ μ“°μž„!

가상 μš”μ†Œ μ„ νƒμž

  • μ„ νƒν•œ μš”μ†Œμ— μžμ‹ 생성
  • 보톡 content 속성과 짝을 μ§€μ–΄ μš”μ†Œμ— μž₯μ‹μš© μ½˜ν…μΈ λ₯Ό μΆ”κ°€
  • λΉˆνƒœκ·Έ(λ‹«λŠ” νƒœκ·Έκ°€ μ—†λŠ” νƒœκ·Έ) <img> br input μ—λŠ” 적용 X

::before, ::after

  • μ„ νƒν•œ μš”μ†Œ μ „, ν›„λ‘œ μ½˜ν…μΈ  μΆ”κ°€

μ‘μš© μ˜ˆμ‹œ

<ul>
  <li>μ•ˆλ…•ν•˜μ„Έμš”</li>
  <li>μ €μ—μš”</li>
</ul>
li {
	list-style: none;
}

ul::before {
	content: "[";
}

ul::after {
	content: "]";
}

li::before {
	content: "<";
}

li::after {
	content: ">";
}

κ²°κ³Ό

profile
ν™”μ΄νŒ…~~^ㅁ^/

0개의 λŒ“κΈ€