포트폴리오에서 자신의 프로그램 능력을 보여주는 그래프라던지 어떤 통계에 대한 막대그래프 표현을 하고자 할 때 HTML 태그 중 이 녀석을 사용하면 상당히 요긴합니다. 바로 오늘의 주인공인 <meter> 태그입니다. 이 태그는 별도의 CSS나 자바스크립트의 도움 없이 태그 사용만으로 간단하게 막대 그래프를 표현할 수 있는 매우 유용한 요소 중 하나입니다.
과거 싸이월드 시절, 미니홈피 오른쪽 상단에는 이런게 있었습니다. 203040 여러분들은 기억하실겁니다. 연예인 싸이월드 미니홈피를 들어가보면 이 막대그래프의 수치가 장난 없습니다. 미친듯 치솟습니다. 스크랩과 즐겨찾기 개수가 어마무시했죠. 아무튼 저런 막대기를 매우 쉽고 간편하게 표현할 수 있는 것입니다.
여기 9개의 meter 태그가 있습니다. 보편적으로 min은 0을, max는 100을 사용합니다. 0~100% 라는 의미입니다. 입력한 value값이 low값보다 작으면 가장 최소에 대한 막대 색상이, high값보다 크면 최대에 대한 막대 색상이 표현됩니다. 물론 이건 optimum의 값에 따라 달라집니다. optimum은 최적이라는 의미입니다. 즉 optimum값과 value값이 거의 근사치인 경우에 최대치에 대한 색상이 표현되는 것입니다. 위의 태그대로 값을 조절한 결과의 그래프는 다음과 같습니다.
이렇게 출력됩니다. 보시면 optimum 값과 value값이 거의 비슷한 수준으로 일치하게 되면 최적 상태의 색상으로 표시가 된다는것을 알 수 있습니다. 이 점만 잘 유념한다면 원하는대로 막대 그래프 수치 조절 및 색상 표현을 할 수 있을 것입니다. 값이 높을수록 우수한다는것을 알리는 성적표의 경우 meter 태그를 사용해 표현한다면 optimum 값은 100으로 만들어야 할 것입니다. 이때 주의해야 할 것은 max값도 100이여야 할 것입니다. 시험 점수 100점을 기준으로 한다면요. 그리고 value는 시험 성적 점수대로 입력하면 될 것입니다.
CSS 제어 방법
이제 CSS에서 다음의 옵션을 통해 meter 태그를 커스터마이징 할 수 있습니다. 첫번째 예시의 CSS에는 다음의 옵션들이 있습니다.
meter::-webkit-meter-bar ▶ meter의 바를 커스터마이징 합니다. 길이, 높이, 테두리 두께 및 색상 설정, 모서리 둥글기 설정, 그래프 안쪽 백그라운드 색상 등을 설정합니다.
meter::-webkit-meter-even-less-good-value ▶ meter의 최적값에서 많이 부족한 색상을 설정합니다.
보시면 아시겠지만 첫번째의 meter태그는 해당 태그 자체적으로 height 값을 입력했습니다. 기본적으로 meter 태그는 막대 그래프 외에 약간의 padding 값을 기본적으로 가지고 있습니다. 따라서 태그 자체에 height값을 부여하면 padding 영역을 포함한 모든 영역의 세로 크기가 커집니다. 그런데 두번째의 meter는 위에서 설명한 ::-webkit-meter-bar 방법을 사용했습니다. 이 pseudo class (가짜 클래스)를 사용하면 순수 막대 그래프의 세로 크기만을 변경할 수 있습니다. 이 차이가 있으니 그래프 사이의 공간을 적당히 띄워가며 그래프의 세로 크기를 변경하려면 그냥 meter 태그 자체적인 height 값을 손보면 될 것입니다. 하지만 이렇게되면 세로 크기가 커질수록 공백도 커집니다. 그러니 가짜 클래스를 사용해 동시에 제어하는것이 훨씬 이뻐질 것입니다. 끝.