웹 개발 시 유용하게 활용할 수 있는 CSS 팁들을 정리하였습니다. 이 팁들을 통해 스타일링 작업을 더욱 효율적으로 수행할 수 있습니다.
브라우저의 기본 여백으로 인해 디자인이 의도치 않게 보일 수 있습니다. 모든 요소의 padding
과 margin
을 0으로 설정하여 이러한 문제를 방지할 수 있습니다.
* {
padding: 0;
margin: 0;
}
body
태그에 기본 글꼴을 설정하면 전체 문서에 일관된 글꼴 스타일을 적용할 수 있습니다.
body {
font-family: Arial, sans-serif;
font-size: 16px;
line-height: 1.5;
}
고정 너비의 컨테이너를 가운데 정렬하려면 margin
속성을 활용합니다.
.container {
width: 80%;
margin: 0 auto; /* 수평 가운데 정렬 */
}
Flexbox를 사용하면 텍스트를 가로와 세로 모두 가운데 정렬할 수 있습니다.
.text-center {
display: flex;
justify-content: center; /* 가로 가운데 정렬 */
align-items: center; /* 세로 가운데 정렬 */
height: 200px; /* 부모 요소의 높이 */
}
::marker
가상 요소를 사용하여 리스트 마커의 스타일을 변경할 수 있습니다.
ul.custom-list li::marker {
color: blue;
font-size: 1.2em;
}
aspect-ratio
속성을 사용하여 이미지나 동영상의 종횡비를 쉽게 유지할 수 있습니다.
.responsive-media {
width: 100%;
aspect-ratio: 16 / 9; /* 가로:세로 비율 */
}
opacity
속성을 사용하여 요소의 투명도를 조절할 수 있습니다.
.transparent {
opacity: 0.5; /* 50% 투명도 */
}
@font-face
규칙을 사용하여 웹 폰트를 적용할 수 있습니다.
@font-face {
font-family: 'CustomFont';
src: url('CustomFont.woff2') format('woff2'),
url('CustomFont.woff') format('woff');
}
body {
font-family: 'CustomFont', Arial, sans-serif;
}
box-sizing
속성을 border-box
로 설정하면 패딩과 보더를 포함한 요소의 전체 크기를 쉽게 관리할 수 있습니다.
* {
box-sizing: border-box;
}
@media
규칙을 사용하여 다양한 화면 크기에 따라 스타일을 조정할 수 있습니다.
@media (max-width: 768px) {
.container {
width: 100%;
padding: 10px;
}
}
CSS에서는 여러 개의 선택자가 동일한 요소에 적용될 수 있습니다. 이 경우, 선택자의 우선순위가 높은 스타일이 적용됩니다. 선택자의 우선순위는 인라인 스타일 > ID 선택자 > 클래스 선택자 > 요소 선택자 순으로 결정됩니다. 이를 이해하면 스타일 충돌을 방지할 수 있습니다.
Flexbox와 Grid는 복잡한 레이아웃을 만드는 데 매우 유용합니다. Flexbox는 일차원적인 레이아웃을 다루기에 적합하며, Grid는 이차원 레이아웃을 더욱 쉽게 구성할 수 있도록 도와줍니다. 이 두 가지 레이아웃 기법을 잘 활용하면 다양한 레이아웃을 손쉽게 구현할 수 있습니다.
CSS 변수를 사용하면 코드의 재사용성과 유지보수성이 향상됩니다. 특정 색상이나 크기 같은 값들을 변수로 선언하여 여러 곳에서 재사용할 수 있으니 코드가 더욱 깔끔해집니다.
:root {
--main-color: #3498db;
--padding-size: 10px;
}
.container {
background-color: var(--main-color);
padding: var(--padding-size);
}
Sass나 Less 같은 CSS 전처리기는 변수, 중첩(Nesting), 믹스인(Mixin) 등 추가적인 기능을 제공하여 중복을 줄이고, 구조화된 스타일 규칙을 작성할 수 있어 가독성을 높여줍니다. 또한 스타일 시트를 여러 파일로 분할하고 모듈화하여 관리할 수 있어 더 효율적으로 작성하고 관리할 수 있도록 도와줍니다.
@supports
규칙 사용하기@supports
규칙을 이용해 브라우저가 특정 CSS 속성을 지원할 때와 지원하지 않을 때의 스타일을 각각 지정할 수 있습니다. 이를 통해 다양한 브라우저 환경에서의 호환성을 높일 수 있습니다.
/* 브라우저가 display: grid를 지원하면 적용 */
@supports (display: grid) {
.container {
display: grid;
}
}
/* 브라우저가 display: grid를 지원하지 않으면 float 적용 */
@supports not (display: grid) {
.container {
float: right;
}
}