코딩 속도를 5배 높이는 마법, 에메트 그래머 간단하게 해결하는 방법
웹 개발이나 퍼블리싱을 공부하다 보면 수많은 HTML 태그와 CSS 속성을 일일이 입력하는 데 지치기 마련입니다. 이때 개발자의 생산성을 혁신적으로 높여주는 도구가 바로 에메트(Emmet)입니다. 복잡해 보이는 문법도 핵심 규칙만 알면 누구나 쉽고 빠르게 마스터할 수 있습니다. 에메트 그래머 간단하게 해결하는 방법을 통해 지루한 타이핑 시간을 줄이고 로직에 집중하는 효율적인 코딩 환경을 구축해 보시기 바랍니다.
목차
- 에메트(Emmet)란 무엇인가?
- 에메트 그래머 간단하게 해결하는 방법: HTML 기초 활용법
- 계층 구조를 활용한 복잡한 레이아웃 설계
- 속성과 텍스트를 한 번에 처리하는 단축키
- 숫자 증감과 자동 번호 매기기 기술
- CSS에서 활용하는 에메트 핵심 문법
- 실전 예제로 익히는 에메트 응용 패턴
- 에메트 사용 시 주의사항 및 효율 증대 팁
에메트(Emmet)란 무엇인가?
에메트는 HTML, XML, CSS 문서 등을 작성할 때 짧은 약어를 입력하고 Tab 키를 눌러 긴 코드 뭉치로 확장해 주는 플러그인입니다.
- 비주얼 스튜디오 코드(VS Code) 등 대부분의 최신 코드 에디터에 기본 내장되어 있습니다.
- 반복적인 타이핑을 획기적으로 줄여줍니다.
- 오타로 인한 구문 오류를 방지할 수 있습니다.
- 코드의 구조를 직관적으로 설계할 수 있게 돕습니다.
에메트 그래머 간단하게 해결하는 방법: HTML 기초 활용법
가장 기본적인 태그 생성법부터 익히는 것이 순서입니다. 태그 이름만 적고 확장하는 방식이 핵심입니다.
- 단일 태그 생성:
div입력 후 Tab -><div></div>생성 - 클래스(Class) 지정:
.container입력 후 Tab -><div class="container"></div>생성 - 아이디(ID) 지정:
#header입력 후 Tab -><div id="header"></div>생성 - 복합 지정:
p.title#main입력 후 Tab -><p class="title" id="main"></p>생성 - 태그 생략: 클래스나 아이디만 적을 경우 기본적으로
div태그가 생성됩니다.
계층 구조를 활용한 복잡한 레이아웃 설계
태그 간의 부모, 자식, 형제 관계를 기호로 표현하여 한 줄의 코드로 전체 레이아웃을 잡을 수 있습니다.
- 자식 노드(>): 부모 태그 안에 자식 태그를 넣을 때 사용합니다.
- 예:
ul>li-><ul><li></li></ul>
- 예:
- 형제 노드(+): 동일한 위치에 나란히 태그를 배치할 때 사용합니다.
- 예:
div+p+span-><div></div><p></p><span></span>
- 예:
- 상위 노드(^): 자식 노드에서 다시 한 단계 부모 수준으로 올라갈 때 사용합니다.
- 예:
div>ul>li^blockquote-><div><ul><li></li></ul><blockquote></blockquote></div>
- 예:
- 반복하기(*): 동일한 태그를 여러 개 생성할 때 필수적입니다.
- 예:
ul>li*3-><ul><li></li><li></li><li></li></ul>
- 예:
- 그룹화(()): 복잡한 구조를 괄호로 묶어 명확하게 구분합니다.
- 예:
div>(header>ul>li*2)+footer-> 헤더 내부 구조와 푸터를 명확히 분리하여 생성
- 예:
속성과 텍스트를 한 번에 처리하는 단축키
태그 내부의 텍스트나 사용자 정의 속성도 에메트로 즉시 입력이 가능합니다.
- 텍스트 입력({}): 태그 사이에 들어갈 문구를 지정합니다.
- 예:
a{클릭하세요}-><a href="">클릭하세요</a>
- 예:
- 속성 입력([]): 태그의 속성값을 상세히 설정합니다.
- 예:
td[colspan=3 title="내용"]-><td colspan="3" title="내용"></td>
- 예:
- 이미지/링크 속성 자동화:
img입력 시src와alt가,a입력 시href가 자동으로 생성됩니다.
숫자 증감과 자동 번호 매기기 기술
목록 형태의 데이터를 만들 때 숫자를 자동으로 증가시키는 기능은 매우 유용합니다.
- 넘버링($): 숫자가 들어갈 자리에 기호를 넣습니다.
- 예:
li.item$*3->item1,item2,item3클래스를 가진 리스트 생성
- 예:
- 자릿수 지정($$..): 패딩 숫자를 넣고 싶을 때 사용합니다.
- 예:
li.item$$*3->item01,item02,item03생성
- 예:
- 시작 번호 및 방향(@): 숫자의 시작점과 순서를 제어합니다.
li.item$@5*3: 5번부터 시작 (5, 6, 7)li.item$@-1*3: 역순으로 생성 (3, 2, 1)
CSS에서 활용하는 에메트 핵심 문법
HTML뿐만 아니라 CSS에서도 에메트는 강력한 성능을 발휘합니다. 속성 이름의 앞글자만 따서 입력하는 방식입니다.
- 단위 자동 입력: 숫자만 적으면 기본적으로
px단위가 붙습니다.w100->width: 100px;h50p->height: 50%;(p는 %를 의미)
- 주요 속성 단축어:
m10-20->margin: 10px 20px;p10->padding: 10px;df->display: flex;jcc->justify-content: center;aic->align-items: center;pos:a->position: absolute;bd+->border: 1px solid #000;
- 색상 코드:
c#f->color: #ffffff;와 같이 짧게 입력 가능합니다.
실전 예제로 익히는 에메트 응용 패턴
자주 사용하는 웹 컴포넌트 구조를 한 줄로 작성하는 연습을 해보세요.
- 네비게이션 바:
nav>ul.menu>li.item$*4>a{메뉴$}- 결과: 4개의 리스트 아이템과 링크 텍스트가 포함된 메뉴 생성
- 카드형 게시판:
section.container>.card*3>img[src="img$.jpg"]+h3{제목$}+p{상세설명}- 결과: 이미지, 제목, 설명이 포함된 카드 레이아웃 3개 동시 생성
- 테이블 구조:
table>thead>tr>th*3^tbody>tr*5>td*3- 결과: 3열 5행의 기본 테이블 구조 완성
에메트 사용 시 주의사항 및 효율 증대 팁
- 공백 주의: 에메트 약어 사이에는 공백(Space)이 없어야 합니다. 공백이 있으면 에디터가 코드를 올바르게 인식하지 못합니다.
- Tab 키의 중요성: 약어 끝에서 반드시 Tab 키(또는 설정에 따라 Enter)를 눌러야 코드가 확장됩니다.
- 더미 텍스트 활용:
lorem을 입력하고 확장하면 의미 없는 영문 텍스트(Lorem Ipsum)가 자동 생성되어 디자인 확인 시 용이합니다.p>lorem30: 약 30단어 분량의 문장 생성
- 사용자 정의 스니펫: 자주 사용하는 복잡한 구조는 에디터 설정에서 자신만의 에메트 별칭으로 등록하여 사용할 수 있습니다.
- 에디터 설정 확인: 만약 에메트가 작동하지 않는다면 에디터 설정에서
Emmet: Trigger Expansion On Tab항목이 활성화되어 있는지 확인해야 합니다. - 대소문자 구분: 기본적으로 소문자 사용을 권장하며, HTML5 표준에 맞게 작성하는 습관을 들이는 것이 좋습니다.