CSS 3

HTML Section & Article

프로젝트에서 조금 더 의미있는 마크업을 하기 위해 시멘틱 마크업 관련 글을 검색해서 찾아보았다. 기본적으로 의미가 있는 태그를 사용하는 게 의미 있다고 생각하여, 리스트 관련 내용은 ul & li, 테이블은 table, 상단, 하단 헤더 푸터는 header & footer, 적절한 태그가 없을 경우 div 등을 사용해왔다. 근데 의미있는 마크업을 검색해보니 section, article 등이 나왔다. 알고 있는 태그이긴 했지만 잘 사용하지 않았기 때문에 어떤 태그인지 조금 자세히 찾아보고, 앞으로 더 의미있는 마크업을 하기 위해 사용해보려고 한다. article : 해당 컨텐트 영역은 페이지에서 독립적인 내용이어야 하며, 해당 부분을 떼어 다른 페이지로 이동해도 그 영역의 내용만으로 온전히 하나의 기사가..

CSS 2020.07.27

CSS 성능 개선 방법

소규모 프로젝트에서는 상관없지만, 프로젝트가 커지면 커질수록 CSS양은 늘어나게 되고, CSS가 많아지면 많아질수록 당연히 성능도 저하된다. 성능 개선 방법 1. @import 를 사용하지 않는다. 속도 측면에서 import는 좋지 않은 방식이라는 내용이 많다. 하지만 Vue에서는 style 내부에 import로 파일을 불러오고 있는데, 해당 방식보다 더 나은 방법이 있는지는 알아봐야 한다. 추가로, index에서 모든 스타일 시트를 불러오는 것보단, 컴포넌트 별로 사용할 스타일 시트를 분리하여 불러오는 게 속도 향상에 좋다. 2. 선택자 방식 header > ul > li > p 보다는 클래스 명을 지정하여 뎁스를 줄여주는 게 좋다. 또한 태그 선택자를 사용하지 않는다. 태그 선택자의 경우 속도의 문제..

CSS 2020.07.27

CSS BEM 방법론

BEM (Block Element Modifier) 작명규칙 소문자, 숫자만을 이용하여 작명한다. 여러단어의 조합은 하이폰으로 연결하여 작명한다. (sub-header__title--color-red) 기본적으로 id (label for에서는 사용), 태그 선택자를 사용하지 않고 class 만을 사용한다. (태그 선택자는 성능 저하를 유발하기 때문에 방법론이 아니더라도 사용을 하지 않는 것이 좋다) Block Block은 재 사용할 수 있고, 독립적인 구성요소여야 한다. (header, footer, nav, logo 등) 형태 (small, big, red, blue)가 아닌 목적 (error, menu, button, success)에 맞게 결정해야 한다. 환경에 영향 받지 않아야 한다. (여백, p..

CSS 2020.07.27