>웹 프론트엔드 >HTML 튜토리얼 >html5 & lt; select & gt; 드롭 다운 메뉴에 대한 요소 및 해당 옵션?

html5 & lt; select & gt; 드롭 다운 메뉴에 대한 요소 및 해당 옵션?

Robert Michael Kim
Robert Michael Kim원래의
2025-03-12 16:18:19297검색

드롭 다운 메뉴에는 html5 <select></select> 요소 사용

html5 <select></select> 요소는 드롭 다운 메뉴를 생성하기위한 기본 빌딩 블록입니다. 구현하는 것은 엄청나게 간단합니다. 기본 구조에는 <select></select> 태그 자체가 포함되며, 하나 이상의 <option></option> 태그가 포함되어 있으며, 각각은 드롭 다운에서 선택 가능한 항목을 나타냅니다. 각 <option></option> 태그의 value 속성은 옵션을 선택할 때 제출 된 값을 지정합니다. <option></option> 태그의 텍스트 내용은 사용자가 보는 것입니다.

간단한 예는 다음과 같습니다.

 <code class="html"><select id="myDropdown"> <option value="apple">Apple</option> <option value="banana">Banana</option> <option value="orange">Orange</option> </select></code>

이것은 사과, 바나나 및 오렌지의 세 가지 옵션으로 드롭 다운 메뉴를 만듭니다. 사용자가 옵션을 선택하면 값 ( "Apple", "Banana"또는 "Orange")은 양식 ( <select></select> 가 양식의 일부인 경우)으로 제출되거나 JavaScript를 사용하여 액세스 할 수 있습니다. selected 속성을 추가하여 옵션을 사전 선택할 수도 있습니다.

 <code class="html"><option value="banana" selected>Banana</option></code>

또한 disabled 속성을 사용하여 사용자가 특정 옵션을 선택하지 못하게 할 수도 있습니다.

 <code class="html"><option value="grape" disabled>Grape (out of season)</option></code>

size 속성은 드롭 다운을 열기 위해 클릭 할 필요없이 가시 옵션 수를 제어 할 수 있습니다.

 <code class="html"><select id="myDropdown" size="3"> <option value="apple">Apple</option> <option value="banana">Banana</option> <option value="orange">Orange</option> </select></code>

CSS가있는 스타일링 HTML5 드롭 다운 메뉴

순수한 CSS를 가진 스타일링 <select></select> 요소는 브라우저 렌더링이 크게 다르기 때문에 까다로울 수 있습니다. 일부 측면을 직접 스타일링 할 수는 있지만 전체 사용자 정의에는 종종 일부 해결 방법이 필요합니다.

width , font-family , font-size , color , background-colorborder 와 같은 표준 CSS 속성을 사용하여 <select></select> 요소의 전체 모양을 스타일링 할 수 있습니다.

 <code class="css">#myDropdown { width: 200px; padding: 5px; font-size: 16px; border: 1px solid #ccc; border-radius: 5px; }</code>

그러나 드롭 다운 자체 (옵션 목록) 스타일링은 더 어려운 일입니다. :hover:focus 의사 클래스를 사용하여 옵션을 성공적으로 할 수 있습니다. 보다 광범위한 스타일을 위해서는 종종 JavaScript 또는 CSS 프레임 워크를 사용하거나 브라우저 별 공급 업체 접두사에 의존해야합니다 (일반적으로 유지 보수 가능성에 대한 권장). 보다 고급 스타일을 보려면 Bootstrap 또는 Tailwind CSS와 같은 CSS 프레임 워크를 사용하여 선택 요소에 미리 작성된 스타일을 제공하십시오.

<select></select> 요소에 대한 접근성 고려 사항

접근성은 모든 사람이 드롭 다운 메뉴를 사용할 수 있도록하는 데 중요합니다. 몇 가지 주요 고려 사항은 다음과 같습니다.

  • 명확한 라벨 : 항상 <label></label> 요소를 <label></label>for attribute와 <select></select>id 속성을 사용하여 <select></select> 요소와 항상 연결하십시오. 이를 통해 스크린 리더와 같은 보조 기술이 드롭 다운의 목적을 명확하게 식별 할 수 있습니다.
 <code class="html"><label for="myDropdown">Choose a Fruit:</label> <select id="myDropdown"> <!-- options here --> </select></code>
  • 의미있는 옵션 값 : 옵션 값에 설명적이고 간결한 텍스트를 사용하십시오. 컨텍스트가 완벽하게 명확 해지지 않는 한 숫자 나 약어 만 사용하지 마십시오.
  • ARIA 속성 : 일반적으로 엄격하게 필요하지는 않지만 ARIA 속성은 접근성을 향상시킬 수 있습니다. 예를 들어, aria-describedby <select></select> 페이지의 다른 곳에서 더 자세한 설명에 연결할 수 있습니다.
  • 키보드 탐색 : 사용자가 키보드만으로 옵션을 탐색하고 선택할 수 있는지 확인하십시오 (드롭 다운에 도달하기 위해 탭, 화살표 키를 탐색하고 선택하려면 입력).

JavaScript와 함께 <select></select> 요소를 동적으로 채우는 것

JavaScript는 <select></select> 요소를 동적으로 조작하는 강력한 방법을 제공합니다. 런타임에 옵션을 추가, 제거 또는 수정할 수 있습니다.

옵션 추가 :

 <code class="javascript">const selectElement = document.getElementById("myDropdown"); const newOption = document.createElement("option"); newOption.value = "grape"; newOption.text = "Grape"; selectElement.appendChild(newOption);</code>

옵션을 제거하려면 :

 <code class="javascript">const selectElement = document.getElementById("myDropdown"); selectElement.removeChild(selectElement.options[0]); // Removes the first option</code>

배열에서 채워서 :

 <code class="javascript">const fruits = ["Apple", "Banana", "Orange", "Grape"]; const selectElement = document.getElementById("myDropdown"); fruits.forEach(fruit => { const newOption = document.createElement("option"); newOption.value = fruit.toLowerCase(); newOption.text = fruit; selectElement.appendChild(newOption); });</code>

이 예는 기본 조작을 보여줍니다. 보다 복잡한 시나리오에는 서버에서 데이터를 가져 오거나 동적 컨텐츠의보다 효율적이고 구성된 관리를 위해 React, Vue 또는 Angular와 같은 JavaScript 프레임 워크를 사용하는 것이 포함될 수 있습니다. 항상 발견되지 않는 요소와 같은 잠재적 오류를 항상 처리해야합니다.

위 내용은 html5 & lt; select & gt; 드롭 다운 메뉴에 대한 요소 및 해당 옵션?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.