質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

1回答

4194閲覧

pタグ内にinputタグを入れ子とする理由について

ruuuu

総合スコア176

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

1クリップ

投稿2020/04/14 02:22

Formのテンプレートを調べていた際に、こちらのコードを拝見したのですが、「pタグ」内に「input」タグを入れ子としています。pタグは、テキストを囲うタグだと認識しているのですが、一文字も文字を格納していない、inputタグなどを囲うこっていることに、少々疑問を感じました。
formの要素であった場合などはまた違ってくるのでしょうか?
こちらの部分につきまして、ご助言など貰えましたら幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

規則的には問題ないと思います。

許可されている内容 記述コンテンツ

<p>: 段落要素 - HTML: HyperText Markup Language | MDN

 

このカテゴリーに属する要素: <abbr>, <audio>, <b>, <bdo>, <br>, <button>, <canvas>, <cite>, <code>, <command>, <data>, <datalist>, <dfn>, <em>, <embed>, <i>, <iframe>, <img>, <input>, <kbd>, <keygen>, <label>, <mark>, <math>, <meter>, <noscript>, <object>, <output>, <progress>, <q>, <ruby>, <samp>, <script>, <select>, <small>, <span>, <strong>, <sub>, <sup>, <svg>, <textarea>, <time>, <var>, <video>, <wbr> および通常の文字列です(空白文字だけで構成されたものを除く)。

記述コンテンツ | コンテンツカテゴリー - 開発者ガイド | MDN


セマンティックの観点からすると、p要素は段落を表すので、このinput要素が段落を表すならば適切な使い方である、と言えるのでしょうが……
私見ですが、これは、デザインのためだけのためにp要素使っているように見えました。その目的であればdiv要素を使うべきでしょう。

投稿2020/04/14 02:47

Lhankor_Mhy

総合スコア36960

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Trainee2019

2020/04/14 02:55

私もデザインのためだけという意見に同意です。 (CSSのコメントに「/* Every row inside .login-container is defined with p tags */」とわざわざ入れている点からも) このサンプルの作成者は、p要素にすると指定しなくとも改行が入るため、div要素より都合がよい(コーディングが楽だ)と思い使用したのではないかと推測します。
ruuuu

2020/04/14 03:17

ご回答ありがとうございます。 状況によっては、pタグなどのタグもデザインとして利用することは、ありということですね
miyabi_takatsuk

2020/04/14 04:28 編集

横槍すみません。 質問者さん、逆です。 回答冒頭にもある通り、無しというわけではありませんが、 回答の、 > p要素は段落を表すので、このinput要素が段落を表すならば適切な使い方である、と言えるのでしょうが…… > 私見ですが、これは、デザインのためだけのためにp要素使っているように見えました。その目的であればdiv要素を使うべきでしょう。 ここに注目するといいかと。
Trainee2019

2020/04/14 04:50 編集

miyabi_takatsukさん、ありがとうございます。 言葉足らずで申し訳ありませんでした。 作成者は、あくまでもサンプルなので簡潔に記述したかったのだと思います。(サンプルは、表示されているフォーム内だけを意識すればよいので)
miyabi_takatsuk

2020/04/14 05:08 編集

Trainee2019さん > いえいえ、私のお節介だったかもですね 汗 質問者さんは、回答をみた時点での解釈だろうな、ともお見受けしたもので、それでコメントでした。
miyabi_takatsuk

2020/04/14 05:05

ruuuuさん > 混乱させてしまい申し訳ございません。 回答者さんのおっしゃる通り、 ・inputが段落なら、pを使うべき ・デザインのためだけなら、divを使うべき というのは大前提なんです。 その上で、Trainee2019さんのおっしゃる通り、 他の開発や、状況により、(他のページで使ってるpをセレクタとしたcssを当てている、とか)pの方が都合がいい、ないし、せざるを得ない状況というのも、実際存在するので、 pにしているのかと思う、といった内容かと思います。
Lhankor_Mhy

2020/04/14 05:49

>Trainee2019さん >p要素にすると指定しなくとも改行が入るため、div要素より都合がよい(コーディングが楽だ)と思い使用した 些末な話で恐縮ですが、div要素の替わりにp要素を使っても、楽にはならないと思います。 div要素もp要素と同様にブロックを作るので改行します。 またご存知の通り、p要素はデフォルトのスタイルがついている( https://drafts.csswg.org/css2/sample.html )ため、これをリセットする手間が増えるはずですから、むしろ逆にdiv要素の方が楽なのではないかな、と思います。
ruuuu

2020/04/14 09:46

補足頂きありがとうございます。 どうもタグそのものを段落として捉えることに、違和感があるのですよね... 取り敢えずは、状況に応じて使い分けていくことを念頭に置いておきたいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問