仕様
BUTTON要素は、
その内容で
ラベル付けされたボタンを
表します。
button | ボタン (push Button) |
---|---|
カテゴリ |
|
種類 | 通常要素 |
この要素を 使用できる 状態 | フレージング |
許可されて いる内容 | フレージング |
属性 | グローバル
|
text / html での タグの省略 | 省略できません。 |
許可されて いるARIA | checkbox, link, menuitem, menuitemcheckbox, menuitemradio, option, radio, switch, tab. [既定値 : button] |
DOM インター フェイス | HTMLButtonElement
|
レンダリング | フォーム
initial は、プロパティの初期値 (または既定値) を設定する指定なので、 letter-spacing: normal; word-spacing: normal; line-height: normal; text-transform: none; text-indent: 0; text-shadow: none; と置き換えて読んで頂くと判り易いかと思います。 CSS を大雑把に読むと、 テキストの字間のスペースは通常の字間です。 タグや単語の間隔は普通です。 行ボックスの高さはユーザーエージェントに依存します。 テキストを大文字表記に変換しません。 字下げは 0 です。 テキストに影を追加しません。 水平方向の配置をインラインコンテンツは行ボックスの中央に寄せられます。 ブロック要素ボックスを生成しますが、周囲のコンテンツに対しては単一のインラインボックスであるかのように流れるようになります。 width および height プロパティには、コンテンツ、パディング、境界線の領域が含まれますが、マージンは含まれません。 などになります。 |
参加 コンテキスト | インライン |
確立 コンテキスト | インライン |
button要素は、ボタンを表します。button要素は、その内容でラベル付けされたボタンを表します。
| |
参照元
|
使用可能な箇所
フレージングコンテンツを
受け入れる要素に
配置できます。
button要素は、フレージング
フレージング
インタラクティブ
ラベル付け可能な要素なので、他にラベル付け可能な要素がある label要素には配置できません。
フォーム関連要素ですが form属性で要素を form要素に関連付ける事ができるので、form要素の子孫に配置する必然はありません。
<pre>
<button form=
"ifm721">ボタン</button> </pre>
<form id=
"ifm721" action= "./form.htm"></form>
フレージング
<a href=
"./form.htm"> <button>UP PAGE</button>
</a>
<form>
<button formaction=
"./form.htm" >UP PAGE </button> </form>
a要素はインタラクティブ
(文法としては不適切ですが、ブラウザなどがそれなりに対応して表示してくれたりします。)
a要素と同等の事は、formaction属性でできます。form要素の action属性でも同じです。
配置できるコンテンツ
フレージングコンテンツを
配置できます。
button要素は、フレージング
インタラクティブ
<button>
<span>ボタン</span>
</button>
button要素のコンテンツの一部として、フレージング
<button>
<a href="./form.htm">UP PAGE</a>
</button>
href属性のある a要素はインタラクティブ
(文法としては不適切ですが、ブラウザなどがそれなりに対応して表示してくれたりします。)
属性
type属性
<form action=
"./fmreceive.htm"> <button>ボタン</button>
</form>
type属性は、フォームコントロールのタイプを指定します。既定値は submit です。
タイプの種類は、
<form action=
"./fmreceive.htm"> <input name=
"nipText"> <button type=
"submit" name= "nbtSender" value= "./fmbutton.htm">ボタン</button> <br>受信用の<br>ページへ
</form>
type属性が "submit"の時は、button要素は、アクティブ化されたときにフォームを送信するボタンを表します。
type属性が "submit"の時に指定できる属性は、
form,
formaction,
<form action=
"./fmreceive.htm"> <input name=
"nipText"> <button type=
"reset" name= "nbtSender" value= "./fmbutton.htm"> reset </button> <br>リセットします
</form>
type属性が "reset"の時は、アクティブ化されるとフォームをリセットするボタンを表します。
form属性
<form id=
"ifmForm" action= "./fmreceive.htm"> <input name=
"nipText"> </form>
<button form=
"ifmForm" name= "nbtSender" value= "./fmbutton.htm">ボタン</button> <br>受信用の<br>ページへ
form属性は、form要素の id属性値を設定します。要素を form要素に関連付けます。省略したときは、最も近い祖先の form要素に関連付けられます。
受信用の
ページへ
name属性
<form action=
"./fmreceive.htm"> <input name=
"nipText"> <button type=
"submit" name= "nbtSender1" value= "./fmbutton.htm">ボタン</button> <button type=
"submit" name= "nbtSender2" value= "./fmbutton.htm">ボタン</button> <br>受信用の<br>ページへ
</form>
name属性は、要素の名前を指定します。フォームの送信とform.elements APIで使用する要素の名前です。
送信の対象となる button要素は、アクティブ化されたフォームの送信の契機となった要素だけの様です。 なので、複数の送信ボタンがある場合は同じ名前を付けて違う値を送る事でどのボタンで送信されたか判断するのに用いるのが良いと思います。 どのボタンでも同じ値を送りたいなら、input要素の type属性を hidden にしてその項目で送るのがお勧めです。
value属性
<form action=
"./fmreceive.htm"> <input name=
"nipText"> <input type=
"hidden" name= "nipSender" value= "./fmbutton.htm"> <button type=
"submit" name= "nbtName1" value= "value">ボタン</button> <button type=
"submit" name= "nbtName2">ボタン</button> <br>受信用の<br>ページへ
</form>
value属性は、フォーム送信の目的で要素の値を指定します。要素の値は、要素のvalue属性の値(存在する場合)、または空の文字列の値です。
disabled属性
<form action=
"./fmreceive.htm"> <input name=
"nipText"> <button type=
"submit" name= "nbtSender" value= "./fmbutton.htm" disabled>ボタン</button> <br>受信用の<br>ページへ
</form>
disabled属性は、ユーザーがそのコントロールを利用できないことを示す論理属性です。
formaction属性
<form action=
"./fmbutton.htm"> <input name=
"nipText"> <button formaction=
"./fmreceive.htm" >ボタン</button><input type=
"hidden" name= "nipSender" value= "./fmbutton.htm"> <br>受信用の<br>ページへ
</form>
formaction属性は、URLを指定します。form要素の action属性を上書きします。action属性は、ブラウザーがフォーム情報をサーバーに送信する宛先です。
[使用できるタイプ(type属性の値)は、
formenctype属性
<button formenctype=
"application/ x-www-form-urlencoded ">ボタン</button>
formenctype属性は、エンコード方法を指定します。form要素の enctype属性を上書きします。enctype属性は、ブラウザーがフォーム情報をサーバーに送信するために使用するフォームデータのエンコード方法です。
[使用できるタイプ(type属性の値)は、
formmethod属性
<form action=
"./fmreceive.htm" method= "post"> <input name=
"nipText"> <button formmethod=
"get">ボタン</button> <input type=
"hidden" name= "nipSender" value= "./fmbutton.htm"> <br>受信用の<br>ページへ
</form>
formmethod属性は、HTTP メソッドを指定します。form要素の method属性を上書きします。method属性は、ブラウザーがフォーム情報を送信するために使用する HTTP メソッドです。
[使用できるタイプ(type属性の値)は、
formnovalidate属性
<form action=
"./fmreceive.htm"> <input name=
"nipText" required> <button formnovalidate>ボタン</button>
<input type=
"hidden" name= "nipSender" value= "./fmbutton.htm"> <br>受信用の<br>ページへ
</form>
formnovalidate属性は、フォームデータ送信時に内容を検証しないように指定する論理属性です。form要素の novalidate属性を上書きします。
[使用できるタイプ(type属性の値)は、
formtarget属性
<form action=
"./fmreceive.htm" target= "_self"> <input name=
"nipText"> <button formtarget=
"_blank">ボタン</button> <input type=
"hidden" name= "nipSender" value= "./fmbutton.htm"> <br>
新しい枠で<br> 受信用の<br> ページへ </form>
formtarget属性は、表示する場所を指定します。form要素の target属性を上書きします。
target属性は、フォームの送信後に受信したレスポンスを表示する場所を示すユーザー定義の名前、もしくはアンダースコアから始まる標準化されたキーワードで、表示する場所を示します。
[使用できるタイプ(type属性の値)は、
気を付ける点
フォーム関連要素
フォーム関連要素であり type属性が submit の時は送信ボタンとなり送信の契機となりますので注意が必要です。
CSSリセット
button {
font-family: inherit;
font-size: 100%;
line-height: 1.15;
margin: 0;
overflow: visible;
text-transform: none;
}
normalize.css というリセットCSS の一部で、すべてのブラウザでフォントスタイルを変更します。
FirefoxおよびSafariでマージンを削除します。
IEおよびEdgeでオーバーフローを表示する。
Edge、Firefox、IEのテキスト変換の継承を削除します。
詳細は理解していないのですが、いろいろとバグ等の対応も含んでいる様なので、利用する事をお勧めします。
付記
次は、「output要素」です。
アプリケーションによって実行された計算の結果、またはユーザーアクションの結果を表す output要素に関してのページです。
前のページの「optgroup要素」はこちらです。
上位のページの「フォーム」はこちらです。
インタラクティブ