리스트


웹 페이지의 상당 부분은 사실 리스트입니다: 내비게이션 메뉴, 검색 결과, 상품 그리드, 레시피의 재료 목록, 비밀번호 재설정 절차 같은 것들이요. 콘텐츠가 서로 관련된 항목들의 모음일 때마다 HTML에는 그것을 나타내는 요소가 있으며, 이를 사용하면 브라우저와 보조 기술을 사용해 페이지를 읽는 사람 모두가 그 항목들이 하나로 묶여 있다는 것을 알 수 있습니다.
순서 없는 리스트
항목의 순서가 중요하지 않을 때는 **순서 없는 리스트(unordered list)**를 사용합니다. 장보기 목록을 떠올려 보세요: 우유, 빵, 계란. 어느 것을 먼저 적든 상관없이, 그냥 한데 묶인 여러 가지 물건일 뿐입니다.
이 리스트는 두 개의 태그로 만듭니다. <ul> 태그가 리스트 전체를 감싸고, 각 항목은 자신만의 <li> 태그("list item") 안에 들어갑니다:
<ul>
<li>Milk</li>
<li>Bread</li>
<li>Eggs</li>
</ul>브라우저는 각 항목을 한 줄씩 보여주고 그 앞에 글머리 기호를 붙입니다. 여러분이 직접 글머리 기호나 줄바꿈을 넣은 것이 아니라, 이것이 리스트라고 알려주었기 때문에 브라우저가 그렇게 처리한 것입니다.
<ul>을 사용하고, 각 항목을 자신만의 <li>로 감싸세요. 글머리 기호와 줄바꿈은 브라우저가 알아서 붙여주니 직접 입력할 필요가 없습니다. 저도 처음엔 그걸 믿기 어려워서 자꾸 직접 점을 찍으려 했어요. 순서 있는 리스트와 그 속성
가끔은 순서 자체가 핵심일 때가 있습니다. 레시피의 조리 단계, 경주의 순위, 차례대로 따라야 하는 절차 같은 것들이죠. 이런 경우에는 **순서 있는 리스트(ordered list)**를 사용하는데, 이 리스트는 항목에 번호를 자동으로 붙여줍니다.
작동 방식은 순서 없는 리스트와 똑같지만, 컨테이너가 <ul> 대신 <ol>입니다:
<ol>
<li>Preheat the oven to 180°C</li>
<li>Mix the flour and sugar</li>
<li>Pour into the tin and bake for 25 minutes</li>
</ol>이제 브라우저는 항목 앞에 글머리 기호 대신 1, 2, 3을 붙입니다. 나중에 중간에 새 단계를 추가하면 번호가 자동으로 다시 매겨집니다. 번호를 직접 입력할 필요가 없다는 것, 그게 바로 <ol>을 쓰는 이유입니다.
<ol>을 쓰면 브라우저가 항목에 번호를 붙여줍니다. 단계를 추가하거나 삭제해도 번호는 스스로 고쳐지니, 1.이나 2.를 직접 입력할 필요가 없습니다. 항목 자체는 이전처럼 <li>이고, 컨테이너만 다를 뿐입니다. 설명 리스트
각 항목이 사실상 한 쌍인 경우를 위한 세 번째 종류의 리스트가 있습니다: 단어와 그 뜻, 라벨과 그 값 같은 것들이요. 용어 사전이 가장 명확한 예로, 각 용어 뒤에 그 뜻이 이어집니다.
이것이 **설명 리스트(description list)**이며, 세 개의 태그를 사용합니다. <dl>이 전체를 감싸고, <dt>가 각 용어를 담고, <dd>가 그 용어에 대한 설명을 담습니다:
<dl>
<dt>HTML</dt>
<dd>The language that describes the structure of a page.</dd>
<dt>CSS</dt>
<dd>The language that describes how the page looks.</dd>
</dl>브라우저는 각 설명을 해당 용어 아래 들여서 보여주므로, 한눈에 어떤 것과 어떤 것이 짝인지 알 수 있습니다. "dt"는 정의하려는 단어, "dd"는 그 정의라고 생각하면 됩니다.
<dl>, 각 용어를 담는 <dt>, 그 뒤에 이어지는 설명을 담는 <dd>를 사용하세요. 용어 사전을 떠올리면 됩니다. 단어, 그다음 정의, 단어, 그다음 정의. 리스트 중첩하기
리스트는 다른 리스트 안에 들어갈 수 있습니다. 메뉴에 "음료"가 있고 그 아래 뜨거운 음료와 차가운 음료 선택지가 있고, 각각에 또 자신만의 선택지가 있을 수 있습니다. 하나의 리스트를 다른 리스트 안에 넣는 것을 **중첩(nesting)**이라고 합니다.
제대로 이해해야 할 핵심은 이것입니다: 안쪽 리스트는 <li> 안에 들어가야 하며, 항목들 사이에 떠 있으면 안 됩니다. 안쪽 리스트 전체(<ul> 또는 <ol>)를 그것이 속한 리스트 항목 안에 넣습니다:
<ul>
<li>Drinks
<ul>
<li>Coffee</li>
<li>Tea</li>
</ul>
</li>
<li>Snacks</li>
</ul>"Coffee"와 "Tea"는 "Drinks"에 속하므로, 그 작은 리스트는 "Drinks" 항목 안에 들어 있습니다. 브라우저는 안쪽 리스트를 조금 더 들여서 보여주므로, 그것이 위에 있는 항목에 속해 있다는 것을 알 수 있습니다.
<li> 안에 넣으세요. 항목들 사이에 떠 있게 두면 안 됩니다. 브라우저가 그것을 들여서 보여주므로 위에 있는 항목의 일부임을 알 수 있습니다. 그 "<li> 안에 넣기" 규칙 하나만 기억하면 됩니다. 
