HTML 특성 참고서

HTML의 요소들은 특성을 가지고 있습니다. 특성은 사용자가 원하는 기준에 맞도록 요소를 설정하거나 다양한 방식으로 요소의 동작을 조절하기 위한 값을 말합니다.

특성 목록

특성 이름 요소 설명
accept <form>, <input> (en-US) 서버에서 허용하는 유형의 목록. 보통 파일 유형을 의미합니다.
accept-charset <form> 지원하는 문자 집합의 목록.
accesskey 전역 특성 해당 요소로 초점을 이동시키거나 활성화시키기 위한 키보드 단축키를 정의합니다.
action <form> 폼(form)으로부터 전송된 정보를 처리할 프로그램의 URI입니다.
align <applet>, <caption>, <col> (en-US), <colgroup> (en-US), <hr>, <iframe> (en-US), <img>, <table> (en-US), <tbody> (en-US), <td> (en-US), <tfoot> , <th> (en-US), <thead>, <tr> (en-US) 해당 요소의 가로 정렬 방식을 명시합니다.
allow <iframe> (en-US) Specifies a feature-policy for the iframe.
alt <applet>, <area>, <img>, <input> (en-US) 이미지를 표시할 수 없는 경우 표시할 대체 문구입니다.
async <script> 해당 스크립트는 비동기적으로 실행되어야함을 나타냅니다.
autocapitalize 전역 특성 사용자가 입력하거나 편집하는 문구를 자동으로 대문자로 바꿀지 여부와 방법을 제어합니다.
autocomplete <form>, <input> (en-US), <textarea> (en-US) 이 폼 내의 컨트롤에 대해 브라우저가 지원하는 값 자동완성 기능을 기본으로 설정할 것인지를 나타냅니다.
autofocus <button>, <input> (en-US), <select> (en-US), <textarea> (en-US) 페이지가 로드된 후 자동으로 해당 요소로 초점이 이동합니다.
autoplay <audio> (en-US), <video> 오디오나 비디오가 가능한 빠른 시점에 재생됩니다.
background <body>, <table> (en-US), <td> (en-US), <th> (en-US) Specifies the URL of an image file.
Note: Although browsers and email clients may still support this attribute, it is obsolete. Use CSS background-image instead.
bgcolor <body>, <col> (en-US), <colgroup> (en-US), <marquee> (en-US), <table> (en-US), <tbody> (en-US), <tfoot>, <td> (en-US), <th> (en-US), <tr> (en-US)

요소의 배경색입니다.

주: 이 속성은 더 이상 사용하지 않습니다. CSS의 background-color 속성을 대신 사용하시기 바랍니다.

border <img>, <object>, <table> (en-US)

선의 굵기입니다.

주: 이 속성은 더 이상 사용하지 않습니다. CSS의 border 속성을 대신 사용하시기 바랍니다.

buffered <audio> (en-US), <video> 이미 버퍼링된 미디어의 시간 범위를 가집니다.
capture (en-US) <input> (en-US) From the media capture spec, specifies a new file can be captured.
charset <meta>, <script> 페이지 또는 스크립트의 문자 인코딩을 선언합니다.
checked <command>, <input> (en-US) 페이지가 로딩될 때, 해당 요소가 체크되어 있어야하는지를 나타냅니다.
cite <blockquote>, <del>, <ins>, <q> 변경 또는 인용구문의 출처를 가리키는 URI를 가집니다.
class 전역 특성 공통적인 속성으로 요소의 스타일을 지정할 때 CSS와 함께 자주 사용됩니다.
code <applet> 로딩 후 실행할 애플릿의 클래스 파일의 URL을 명시합니다.
codebase <applet> 이 속성은 코드(code) 속성이 참조하는 애플릿의 .class 파일이 저장되어 있는 디렉토리의 절대경로 또는 상대경로 URL을 제공합니다.
color <basefont> (en-US), <font> (en-US), <hr>

이 속성은 미리 정의된 색상 명칭 또는 #RRGGBB 형식의 16진수로 명시된 색상으로 텍스트 색상을 설정한다.

주: 이 속성은 더 이상 사용하지 않습니다. CSS의 color 속성을 대신 사용하시기 바랍니다.

cols <textarea> (en-US) textarea에 표시할 컬럼의 수를 정의한다.
colspan <td> (en-US), <th> (en-US) colspan 속성은 어떤 셀이 확장되어야 할 컬럼의 수를 정의한다.
content <meta> A value associated with http-equiv or name depending on the context.
contenteditable 전역 특성 Indicates whether the element's content is editable.
contextmenu 전역 특성 Defines the ID of a <menu> element which will serve as the element's context menu.
controls <audio> (en-US), <video> Indicates whether the browser should show playback controls to the user.
coords <area> A set of values specifying the coordinates of the hot-spot region.
crossorigin (en-US) <audio> (en-US), <img>, <link>, <script>, <video> How the element handles cross-origin requests
csp (en-US) Experimental <iframe> (en-US) Specifies the Content Security Policy that an embedded document must agree to enforce upon itself.
data <object> Specifies the URL of the resource.
data-* 전역 특성 Lets you attach custom attributes to an HTML element.
datetime <del>, <ins>, <time> Indicates the date and time associated with the element.
decoding <img> Indicates the preferred method to decode the image.
default <track> Indicates that the track should be enabled unless the user's preferences indicate something different.
defer <script> Indicates that the script should be executed after the page has been parsed.
dir 전역 특성 Defines the text direction. Allowed values are ltr (Left-To-Right) or rtl (Right-To-Left)
dirname <input> (en-US), <textarea> (en-US)
disabled <button>, <command>, <fieldset>, <input> (en-US), <optgroup>, <option>, <select> (en-US), <textarea> (en-US) Indicates whether the user can interact with the element.
download <a>, <area> Indicates that the hyperlink is to be used for downloading a resource.
draggable 전역 특성 Defines whether the element can be dragged.
dropzone 전역 특성 Indicates that the element accept the dropping of content on it.
enctype <form> Defines the content type of the form date when the method is POST.
enterkeyhint Experimental <textarea> (en-US), contenteditable The enterkeyhint specifies what action label (or icon) to present for the enter key on virtual keyboards. The attribute can be used with form controls (such as the value of textarea elements), or in elements in an editing host (e.g., using contenteditable attribute).
for <label>, <output> Describes elements which belongs to this one.
form <button>, <fieldset>, <input> (en-US), <label>, <meter>, <object>, <output>, <progress>, <select> (en-US), <textarea> (en-US) Indicates the form that is the owner of the element.
formaction <input> (en-US), <button> Indicates the action of the element, overriding the action defined in the <form>.
formenctype <button>, <input> (en-US) If the button/input is a submit button (type="submit"), this attribute sets the encoding type to use during form submission. If this attribute is specified, it overrides the enctype attribute of the button's form owner.
formmethod <button>, <input> (en-US) If the button/input is a submit button (type="submit"), this attribute sets the submission method to use during form submission (GET, POST, etc.). If this attribute is specified, it overrides the method attribute of the button's form owner.
formnovalidate <button>, <input> (en-US) If the button/input is a submit button (type="submit"), this boolean attribute specifies that the form is not to be validated when it is submitted. If this attribute is specified, it overrides the novalidate attribute of the button's form owner.
formtarget <button>, <input> (en-US) If the button/input is a submit button (type="submit"), this attribute specifies the browsing context (for example, tab, window, or inline frame) in which to display the response that is received after submitting the form. If this attribute is specified, it overrides the target attribute of the button's form owner.
headers <td> (en-US), <th> (en-US) IDs of the <th> elements which applies to this element.
height <canvas>, <embed>, <iframe> (en-US), <img>, <input> (en-US), <object>, <video>

Specifies the height of elements listed here. For all other elements, use the CSS height property.

Note: In some instances, such as <div> (en-US), this is a legacy attribute, in which case the CSS height property should be used instead.

hidden 전역 특성 Prevents rendering of given element, while keeping child elements, e.g. script elements, active.
high <meter> Indicates the lower bound of the upper range.
href <a>, <area>, <base>, <link> 링크된 리소스의 URL
hreflang <a>, <area>, <link> 링크된 리소스의 언어를 나타냄
http-equiv <meta>
icon <command> Specifies a picture which represents the command.
id 전역 특성 일반적으로, 특정한 요소를 스타일하기 위해 CSS와 함꼐 사용됨. 이 속성의 값은 유일해야함.
importance Experimental <iframe> (en-US), <img>, <link>, <script> Indicates the relative fetch priority for the resource.
integrity <link>, <script> Specifies a Subresource Integrity value that allows browsers to verify what they fetch.
intrinsicsize 지원이 중단되었습니다 <img> This attribute tells the browser to ignore the actual intrinsic size of the image and pretend it's the size specified in the attribute.
inputmode <textarea> (en-US), contenteditable Provides a hint as to the type of data that might be entered by the user while editing the element or its contents. The attribute can be used with form controls (such as the value of textarea elements), or in elements in an editing host (e.g., using contenteditable attribute).
ismap <img> Indicates that the image is part of a server-side image map.
itemprop 전역 특성
kind <track> Specifies the kind of text track.
label <track> Specifies a user-readable title of the text track.
lang 전역 특성 요소에서 사용된 언어를 정의합니다.
language <script> 요소에서 사용된 스크립트 언어를 정의합니다.
list <input> (en-US) Identifies a list of pre-defined options to suggest to the user.
loading Experimental <img>, <iframe> (en-US) Indicates if the element should be loaded lazily (loading="lazy") or loaded immediately (loading="eager").
list <input> (en-US) Identifies a list of pre-defined options to suggest to the user.
loop <audio> (en-US), <bgsound> (en-US), <marquee> (en-US), <video> 미디어가 재생을 완료했을때 다시 재생을 시작해야할지를 나타냅니다.
low <meter> Indicates the upper bound of the lower range.
manifest <html> 문서의 캐시 매니페스트의 URL을 가리킵니다.
max <input> (en-US), <meter>, <progress> 허용되는 최대 값을 나타냅니다.
maxlength <input> (en-US), <textarea> (en-US) 요소에 허용되는 문자의 최대 길이를 나타냅니다.
minlength (en-US) <input> (en-US), <textarea> (en-US) Defines the minimum number of characters allowed in the element.
media <a>, <area>, <link>, <source> (en-US), <style> Specifies a hint of the media for which the linked resource was designed.
method <form> 폼을 제출할때 사용할 HTTP 메소드를 정의함. GET(기본값) 또는 POST 가 될수 있음.
min <input> (en-US), <meter> 허용되는 최소 값을 나타냄.
multiple <input> (en-US), <select> (en-US) Indicates whether multiple values can be entered in an input of the type email or file.
muted <audio> (en-US), <video> Indicates whether the audio will be initially silenced on page load.
name <button>, <form>, <fieldset>, <iframe> (en-US), <input> (en-US), <object>, <output>, <select> (en-US), <textarea> (en-US), <map>, <meta>, <param> (en-US) 요소의 이름. For example used by the server to identify the fields in form submits.
novalidate <form> This attribute indicates that the form shouldn't be validated when submitted.
open <details> (en-US) Indicates whether the details will be shown on page load.
optimum <meter> Indicates the optimal numeric value.
pattern <input> (en-US) Defines a regular expression which the element's value will be validated against.
ping <a>, <area>
placeholder <input> (en-US), <textarea> (en-US) 필드에 무엇이 들어갈수 있는지 사용자에게 힌트를 제공합니다.
poster <video> A URL indicating a poster frame to show until the user plays or seeks.
preload <audio> (en-US), <video> 전체,부분,또는 아무런 리소스가 미리 로드되어야하는지를 나타냅니다.
radiogroup <command>
readonly <input> (en-US), <textarea> (en-US) 요소가 수정될 수 있는지를 나타냅니다.
rel <a>, <area>, <link> Specifies the relationship of the target object to the link object.
required <input> (en-US), <select> (en-US), <textarea> (en-US) 이 요소가 채워져야 하는지를 나타냅니다.
reversed <ol> Indicates whether the list should be displayed in a descending order instead of a ascending.
rows <textarea> (en-US) textarea의 줄 개수를 정의합니다.
rowspan <td> (en-US), <th> (en-US) Defines the number of rows a table cell should span over.
sandbox <iframe> (en-US)
scope <th> (en-US)
scoped <style>
selected <option> Defines a value which will be selected on page load.
shape <a>, <area>
size <input> (en-US), <select> (en-US) Defines the width of the element (in pixels). If the element's type attribute is text or password then it's the number of characters.
sizes <link>
slot 전역 특성 Assigns a slot in a shadow DOM shadow tree to an element.
span <col> (en-US), <colgroup> (en-US)
spellcheck 전역 특성 Indicates whether spell checking is allowed for the element.
src <audio> (en-US), <embed>, <iframe> (en-US), <img>, <input> (en-US), <script>, <source> (en-US), <track>, <video> 내장 컨텐츠의 URL
srcdoc <iframe> (en-US)
srclang <track>
srcset <img>
start <ol> Defines the first number if other than 1.
step <input> (en-US)
style 전역 특성 이전 스타일을 오버라이드할 CSS 스타일을 정의함.
summary <table> (en-US)
tabindex 전역 특성 Overrides the browser's default tab order and follows the one specified instead.
target <a>, <area>, <base>, <form>
title 전역 특성 요소 위에 호버링했을떄 표시될 툴팁의 텍스트
translate 전역 특성 Specify whether an element's attribute values and the values of its Text node children are to be translated when the page is localized, or whether to leave them unchanged.
type <button>, <input> (en-US), <command>, <embed>, <object>, <script>, <source> (en-US), <style>, <menu> 요소의 타입을 정의함
usemap <img>, <input> (en-US), <object>
value <button>, <option>, <input> (en-US), <li>, <meter>, <progress>, <param> (en-US) 페이지가 로드된뒤 요소에 표시될 기본값을 지정합니다.
width <canvas>, <embed>, <iframe> (en-US), <img>, <input> (en-US), <object>, <video> Note: In some instances, such as <div> (en-US), this is a legacy attribute, in which case the CSS width property should be used instead. In other cases, such as <canvas>, the width must be specified with this attribute.
wrap <textarea> (en-US) Indicates whether the text should be wrapped.

Content versus IDL attributes

In HTML, most attributes have two faces: the content attribute and the IDL attribute.

The content attribute is the attribute as you set it from the content (the HTML code) and you can set it or get it via element.setAttribute() or element.getAttribute() (en-US). The content attribute is always a string even when the expected value should be an integer. For example, to set an <input> (en-US) element's maxlength to 42 using the content attribute, you have to call setAttribute("maxlength", "42") on that element.

The IDL attribute is also known as a JavaScript property. These are the attributes you can read or set using JavaScript properties like element.foo. The IDL attribute is always going to use (but might transform) the underlying content attribute to return a value when you get it and is going to save something in the content attribute when you set it. In other words, the IDL attributes, in essence, reflect the content attributes.

Most of the time, IDL attributes will return their values as they are really used. For example, the default type for <input> (en-US) elements is "text", so if you set input.type="foobar", the <input> element will be of type text (in the appearance and the behavior) but the "type" content attribute's value will be "foobar". However, the type IDL attribute will return the string "text".

IDL attributes are not always strings; for example, input.maxlength is a number (a signed long). When using IDL attributes, you read or set values of the desired type, so input.maxlength is always going to return a number and when you set input.maxlength ,it wants a number. If you pass another type, it is automatically converted to a number as specified by the standard JavaScript rules for type conversion.

IDL attributes can reflect other types such as unsigned long, URLs, booleans, etc. Unfortunately, there are no clear rules and the way IDL attributes behave in conjunction with their corresponding content attributes depends on the attribute. Most of the time, it will follow the rules laid out in the specification, but sometimes it doesn't. HTML specifications try to make this as developer-friendly as possible, but for various reasons (mostly historical), some attributes behave oddly (select.size, for example) and you should read the specifications to understand how exactly they behave.

같이 보기