" CSS 해킹은 흥미롭거나 복잡한 효과를 얻을 수 있는 고급, 독특하거나 흔하지 않은 CSS 트릭 및 기능을 말합니다. 제가 생각하는 몇 가지 CSS 핵은 다음과 같습니다:
- 고정 바닥글: 플렉스박스 및 음수 여백을 사용하면 콘텐츠 높이와 관계없이 페이지 하단을 고정하는 고정 바닥글을 구현할 수 있습니다.
html {
height: 100%;
}
body {
display: flex;
flex-direction: column;
min-height: 100vh;
}
.content {
flex: 1 0 auto;
}
.footer {
flex-shrink: 0;
}
- 부드러운 스크롤: CSS 스크롤 동작 속성을 통해 부드러운 스크롤 효과를 구현하여 사용자 경험을 개선할 수 있습니다.
html {
scroll-behavior: smooth;
}
- 클립 경로: 클립 경로 속성을 사용하여 원, 다각형, 물결 등 다양하고 복잡한 모양의 클리핑 효과를 얻을 수 있습니다.
.element {
clip-path: circle(50% at center);
}
- 믹스-블렌드 모드: 믹스-블렌드 모드 속성을 사용하면 레이어 블렌딩 효과를 통해 요소를 배경과 혼합하고 합성할 수 있습니다.
.element {
mix-blend-mode: multiply;
}
- CSS 그리드: CSS 그리드는 유연하고 적응력이 뛰어난 기능으로 복잡한 그리드 레이아웃을 구현하는 강력한 레이아웃 모듈입니다.
.container {
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-gap: 10px;
}
- CSS 변수: 스타일시트 전체에서 CSS 변수를 공유 및 재사용하여 동적 스타일 조정 및 관리를 용이하게 할 수 있습니다.
:root {
--primary-color: #ff0000;
}
.element {
color: var(--primary-color);
}
- CSS 애니메이션: @키프레임과 애니메이션 속성을 사용하여 회전, 크기 조정, 그라데이션 등 다양한 애니메이션 효과를 만들 수 있습니다.
@keyframes rotate {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
.element {
animation: rotate 2s linear infinite;
}
이러한 CSS 해킹은 웹 페이지의 시각적 매력과 사용자 경험을 향상시키는 멋지고 복잡한 효과를 구현하는 데 도움이 될 수 있습니다. 물론 일부 구형 브라우저의 경우 일부 블랙 기술을 지원하지 않을 수 있으며 실제 프로젝트에서 호환성을 고려해야 합니다."