남들 만큼은 아니어도 그래도 나름 html좀 만지고 스펙 문서 좀 봤다고 느꼈는데… 난 아는게 별로 없었다.
한때 잘난척 대마왕일때는 모르는게 나와도 “음 뭐 이런건 누구나 다 아는것 아냐?”(속으로는 ‘오!!!이런 신기한게!’)이랬었는데, 모르는거 투성인게 걸리고 나서부터는 뭐 그냥 모르면 모른다고 쿨하게 얘기할 수 있다는거, 그래서 블로그도 쿨하게 써보려고…
특히 기본적인 내용들이 우리말로 되어있는 글들이 별로 없어서 그런걸 좀 써볼라고.
아는거 모르는거 정리도 좀할겸….
사실 제목은 dl element 이야기지만 이 이야기는 block level element와 inline element의 얘기에 가깝다.
꿈많은 넥슨시절 난 “모든 태그가 block element와 inline element두가지로 구분되고 block element는 width, height 값을 가진다. img는 예외.” 라고 알고 살았다. 까놓고 그렇게 알고 있는 사람 많지 않나… 나밖에 없나? 나중에 inline element는 text나 character 관련요소들 즉 inline 요소만 포함할수있다는것을 알게되었지만 말이지.
암튼 오늘 가이드를 검토하다가 회사 동생이 질문을 했다. dt가 inline요소가 맞냐며 block아니냐며..
생각해보니 dt는 width, height를 가질수 있었던것 같아… block 맞는데 왜 inline 이라고 한걸까… 봤더니…
W3C html4.01 spec 에서 보아하니… inline element 가 맞았어…
dt 요소의 경우 용어기 때문에 인라인 요소들만 올 수 있다는것
추가로 block level element 와 inline element의 차이는 줄바꿈이나 width,height를 가질 수 있는지에 대한 유무가 아니라 요소 자체가 가질 수 있는 콘텐츠로 구분하는것을 최우선으로 한다는것을 알게 되었다.
스펙은 보면 볼수록 새롭고도 놀랍다. 이것도 나만몰랐을거야 ㅠㅠ
아 물론 html5에서는 content models이 변경되었기 때문에 의미없다.