요소는 아래와 같이 속성을 가질 수 있습니다.
<p class="editor-note">My cat is very grumpy</p>
위 경우 class="editor-note" 가 속성이 됩니다.
속성은 요소에 실제론 나타내고 싶지 않지만 추가적인 내용을 담고 싶을 때 사용합니다. 위 경우 나중에 스타일에 관련된 내용이나 기타 내용을 위해 해당 목표를 구분할 수 있는 class 속성을 부여 했습니다.
속성을 사용할 때에는 아래 내용을 지켜야 합니다.
- 요소 이름 다음에 바로 오는 속성은 요소 이름과 속성 사이에 공백이 있어야 되고, 하나 이상의 속성들이 있는 경우엔 속성 사이에 공백이 있어야 합니다.
- 속성 이름 다음엔 등호(=)가 붙습니다.
- 속성 값은 열고 닫는 따옴표로 감싸야 합니다.
참과 거짓 속성 (Boolean attributes)
때때로 값이 없는 속성을 볼 수 있을텐데 이것은 허용되는 것입니다. 이를 bool 속성이라고 하며, 일반적으로 그 속성의 이름과 동일한 하나의 값만을 가질 수 있습니다. 예를 들어 disabled 속성을 양식 입력 요소에 할당하면 사용자가 데이터를 입력할 수 없도록 비활성화(회색으로 표시) 할 수 있습니다.
<input type="text" disabled="disabled" />
이것은 다음과 같이 줄여쓸 수 있습니다. (참고를 위해 비활성화 하지 않은 형태로 포함 합니다.)
<input type="text" disabled >
<input type="text" >
속성값의 따옴표 생략
웹을 둘러보면 따옴표가 없는 속성값을 포함한 온갖 이상한 마크업 스타일을 볼 것입니다. 어떤 상황에선 이런 것이 허용되지만, 다른 상황에서는 마크업 형식을 망쳐버립니다. “anchor”를 의미하는 <a> 요소를 이용한 코드로 href 속성만 있는 버전을 작성해 봅니다.
<a href=https://www.mozilla.org/>favorite website</a>
여기에 title 속성을 추가하면 문제가 발생합니다.
<a href=https://www.mozilla.org/ title=The Mozilla homepage>favorite website</a>
이렇게 작성할 경우, 브라우저는 마크업을 잘못 해석하여 title 이 세 개의 속성값을 가진다고 생각 할 것입니다. title 의 속상값 “The” 와 두 개의 bool 속성값 Mozilla, homepage 로 인식을 하게 됩니다. 이것은 우리가 의도한 것도 아닐 뿐더러 오류가 발생하거나 예상치 못한 동작을 할 수도 있습니다.
이러한 이유로 항상 속성값이 따옴표를 붙이는것이 좋습니다. 이런 오류를 피할 수도 있고, 코드의 가독성도 좋아지기 때문입니다.
작은 따옴표, 큰 따옴표
작성하고 있는 예시의 모든 속성값은 큰 따옴표에 둘러싸여 있는 것을 볼 수 있습니다. 하지만 어떤 사람의 HTML 에서는 작은 따옴표를 볼 수도 있습니다. 이것은 스타일의 문제로 본인이 좋아하는 방법을 사용하면 됩니다. 동일한 이유로 아래의 예시는 똑같이 동작합니다.
<a href="http://www.example.com">A link to my example.</a>
<a href='http://www.example.com'>A link to my example.</a>
주의해야할 점은 두 개를 섞어 쓰면 안된다는 것입니다. 아래는 잘못 사용한 예시입니다.
<a href="http://www.example.com'>A link to my example.</a>
만약 한 가지 따옴표를 사용 했다면 다른 따옴표로 속성값을 둘러싸서 오류를 방지할 수 있습니다. 아래 예시를 확인해 봅니다.
<a href="http://www.example.com" title="Isn't this fun?">A link to my example.</a>
만약 따옴표 안에 같은 따옴표를 사용하고 싶다면 (작은 따옴표든 큰 따옴표든 무관합니다.) 따옴표를 표시하기 위해서 HTML entities 를 사용 하면 딥니다. 잘못된 예시를 먼저 보겠습니다.
<a href='http://www.example.com' title='Isn't this fun?'>A link to my example.</a>
아래와 같이 바꿔주면 정상적으로 작동하게 됩니다.
<a href='http://www.example.com' title='Isn't this fun?'>A link to my example.</a>
https://developer.mozilla.org/ko/docs/Learn/HTML/Introduction_to_HTML/Getting_started
'HTML' 카테고리의 다른 글
HTML 의 메타데이터 (1) - references (2) | 2022.12.16 |
---|---|
HTML 문서의 구조 - References (0) | 2022.12.15 |
HTML data 속성 - Dataset(data-*) 사용법 - 설정, 읽기, 있는지 확인하기 (0) | 2022.12.07 |
Block vs Inline Elements (0) | 2022.12.05 |
HTML 소개 (0) | 2022.12.01 |