The <fieldset>
is used to group several controls as well as labels (<label>
) within a web form.
As the example above shows, the <fieldset>
element provides a grouping for a part of an HTML form, with a nested <legend>
element providing a caption for the <fieldset>
. It takes few attributes, the most notable of which are form
, which can contain the id
of a <form>
on the same page, allowing you to make the <fieldset>
part of that <form>
even if it is not nested inside it, and disabled
, which allows you to disable the <fieldset>
and all its contents in one go.
This element includes the global attributes.
disabled
HTML5
<fieldset>
, are disabled, meaning they are not editable and won't be submitted along with the <form>
. They won't receive any browsing events, like mouse clicks or focus-related events. By default browsers display such controls grayed out. Note that form elements inside the <legend>
element won't be disabled.form
HTML5
id
attribute of a <form>
element you want the <fieldset>
to be part of, even if it is not inside the form.name
HTML5
<legend>
element nested inside it.There are several special styling considerations for <fieldset>
.
Its display
value is block
by default, and it establishes a block formatting context. If the <fieldset>
is styled with an inline-level display
value, it will behave as inline-block
, otherwise it will behave as block
. By default there is a 2px groove border surrounding the contents, and a small amount of default padding. The element has min-inline-size: min-content
by default.
If a <legend>
is present, it is placed over the block-start border. The <legend>
shrink-wraps, and also establishes a formatting context. The display
value is blockified (for example, display: inline
behaves as block
).
There will be an anonymous box holding the contents of the <fieldset>
, which inherits certain properties from the <fieldset>
. If the <fieldset>
is styled with display: grid
or display: inline-grid
, then the anonymous box will be a grid formatting context. If the <fieldset>
is styled with display: flex
or display: inline-flex
, then the anonymous box will be a flex formatting context. Otherwise it establishes a block formatting context.
You can feel free to style the <fieldset>
and <legend>
in any way you want to suit your page design.
Note: as of this writing, there are bugs in Microsoft Edge and Google Chrome which prevent flexbox and grid layouts from being used inside a <fieldset>
. This GitHub issue provides bug tracking links.
This example shows a really simple <fieldset>
example, with a <legend>
, and a single control inside it.
<form action="#"> <fieldset> <legend>Simple fieldset</legend> <input type="radio" id="radio"> <label for="radio">Spirit of radio</label> </fieldset> </form>
This example shows a disabled <fieldset>
with two controls inside it. Note how both the controls are disabled due to being inside a disabled <fieldset>
.
<form action="#"> <fieldset disabled> <legend>Disabled fieldset</legend> <div> <label for="name">Name: </label> <input type="name" id="text" value="Chris"> </div> <div> <label for="pwd">Archetype: </label> <input type="password" id="text" value="Wookie"> </div> </fieldset> </form>
Content categories | Flow content, sectioning root, listed, form-associated element, palpable content. |
---|---|
Permitted content | An optional <legend> element, followed by flow content. |
Tag omission | None, both the starting and ending tag are mandatory. |
Permitted parents | Any element that accepts flow content. |
Permitted ARIA roles |
group , presentation
|
DOM interface | HTMLFieldSetElement |
Specification | Status | Comment |
---|---|---|
HTML Living Standard The definition of '<fieldset>' in that specification. | Living Standard | Definition of the fieldset element |
HTML5 The definition of '<fieldset>' in that specification. | Recommendation | |
HTML 4.01 Specification The definition of '<fieldset>' in that specification. | Recommendation | Initial definition |
Desktop | ||||||
---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | |
Basic support | Yes | Yes | Yes | Yes | Yes | Yes |
disabled |
Yes | Partial
|
Yes | Yes
|
12 | 6 |
form |
Yes | Yes | Yes | Yes | Yes | Yes |
name |
Yes | Yes | Yes | Yes | Yes | Yes |
Mobile | |||||||
---|---|---|---|---|---|---|---|
Android webview | Chrome for Android | Edge Mobile | Firefox for Android | Opera for Android | iOS Safari | Samsung Internet | |
Basic support | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
disabled |
4.4 | Yes | ? | ? | ? | 6 | Yes |
form |
Yes | Yes | Yes | Yes | Yes | Yes | Yes |
name |
Yes | Yes | Yes | Yes | Yes | Yes | Yes |
min-width: min-content
on <fieldset>
.
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/fieldset