협업하기 위한 CSS 컨벤션

2023. 9. 18. 20:08·Frontend/Dev Practice
728x90
SMALL

문제 정의

CSS 협업을 하다 보면 다른 개발자가 작성한 스타일 코드를 보게 됩니다. 하지만, 사람마다 스타일을 정의하는 방식과 순서가 다르기 때문에 해당 스타일을 찾는 데 시간이 소요됩니다. 이는 작은 시간 차이처럼 보이지만, 프로젝트가 커지면 큰 시간 낭비로 이어질 수 있습니다.

따라서 CSS 컨벤션을 정하여 협업하는 개발자들 간의 혼란을 방지하고, 코드의 가독성과 유지 보수성을 향상해야 합니다.

 

CSS 컨벤션

CSS는 축약형으로 작성합니다.

// Good
padding: 0 20px;

// Bad
padding-left: 20px;
padding-right: 20px;

CSS in JS를 사용할 때는 paddingY: 20px, py: 20px와 같이 축약형을 사용하는 경우가 있습니다. 이렇게 하면 코드가 간결해지지만, 속성을 명확하게 알기 어려울 수 있습니다. 따라서 padding: 20px 0과 같이 작성하는 것이 좋습니다.

 

CSS 스타일 정의 순서

회사마다 다르지만, 일반적으로 다음 순서로 스타일을 정의합니다.

  1. 위치 선정
    • 요소의 위치와 배치를 결정합니다.
    • display 프로퍼티를 사용하여 요소의 종류를 지정합니다.
    • position 프로퍼티를 사용하여 요소의 위치를 지정합니다.
    • float 프로퍼티를 사용하여 요소를 좌우로 배치합니다.
    • clear 프로퍼티를 사용하여 요소의 배치를 정리합니다.
  2. 윤곽
    • 요소의 외곽을 꾸며줍니다.
    • width, height 프로퍼티를 사용하여 요소의 크기를 지정합니다.
    • margin, padding 프로퍼티를 사용하여 요소의 여백을 지정합니다.
  3. 외곽 디테일링
    • 요소의 윤곽을 지정합니다.
    • border 프로퍼티를 사용하여 요소의 테두리를 지정합니다.
    • background 프로퍼티를 사용하여 요소의 배경을 지정합니다.
  4. 타이포그래피
    • 요소의 글꼴과 정렬을 지정합니다.
    • font 프로퍼티를 사용하여 요소의 글꼴을 지정합니다.
    • color 프로퍼티를 사용하여 요소의 글자 색상을 지정합니다.
    • text-align 프로퍼티를 사용하여 요소의 글자 정렬을 지정합니다.

쉽게 생각하면, 큰 그림에서 디테일한 부분까지 단계적으로 스타일을 정의하는 것입니다.

.button {
  display: block;
  position: absolute;
  top: 50px;
  left: 50px;
  z-index: 100;
  content: "버튼";
  width: 100px;
  height: 50px;
  margin: 10px auto;
  padding: 10px;
  border: 1px solid black;
  background-color: #ccc;
  font-size: 16px;
  color: black;
  text-align: center;
}
저작자표시 (새창열림)

'Frontend > Dev Practice' 카테고리의 다른 글

주석을 언제 작성해야 할까?  (3) 2024.10.27
빈 태그 사용을 피해야 하는 이유  (0) 2024.03.16
React Query에서 Non-null Assertion Operator 사용하기 좋은 방법일까?  (0) 2024.02.18
똑똑한 컴포넌트, 어디까지가 좋을까?  (0) 2024.01.26
왜 컴포넌트 안에서 new QueryClient 사용을 지양해야 할까?  (0) 2023.11.24
'Frontend/Dev Practice' 카테고리의 다른 글
  • 빈 태그 사용을 피해야 하는 이유
  • React Query에서 Non-null Assertion Operator 사용하기 좋은 방법일까?
  • 똑똑한 컴포넌트, 어디까지가 좋을까?
  • 왜 컴포넌트 안에서 new QueryClient 사용을 지양해야 할까?
끄적끄적 개발자
끄적끄적 개발자
생각나는 대로 끄적끄적, 코드 노트
  • 끄적끄적 개발자
    코딩을 끄적끄적
    끄적끄적 개발자
  • 전체
    오늘
    어제
    • 분류 전체보기 (47)
      • Frontend (43)
        • Tech Insight (24)
        • Dev Practice (7)
        • React Hook Form (4)
        • Module Federation (3)
        • Clone coding (5)
      • UIUX (2)
      • ETC (2)
  • 인기 글

  • 태그

    UI/UX
    회고
    개발/코드품질
    개발/언어
    개발/정보
    개발/기술
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
끄적끄적 개발자
협업하기 위한 CSS 컨벤션
상단으로

티스토리툴바