コンテンツ編集可能な<p>
とタイプsubmitの入力があります。したがって、<p>
の中に値がない場合は、デフォルトのテキスト(たとえば、「コメントを追加...」)を表示したいと思います。 contenteditableにフォーカスがある場合は、デフォルトのテキストを削除します。今度は、contenteditableにフォーカスがなく、ユーザーが何らかのテキストを入力した場合は、ユーザーが入力したテキストを残してください。ただし、contenteditableにフォーカスがない場合、値が設定されていないとデフォルトのテキストが表示されます。どのように私はCSSまたはJavaScript(jqueryなし)でこれを行うことができますか? :empty
擬似クラスと擬似要素とおそらく値がない場合、pタグ内にデフォルトのテキストを表示
#add_comment {
width: 100%;
max-width: 720px;
margin: 1px auto;
background: white;
}
#divLeft {
vertical-align: top;
display:table-cell;
width: 100%;
}
#add_comment #comment {
display: block;
padding: 10px;
margin: 10px;
outline: 1px solid lightgrey;
}
#divRight {
display:table-cell;
width: 120px;
vertical-align: top;
}
#divRight #submit {
background: #2ec76e;
border: none;
color: white;
padding: 10px;
margin-top: 10px;
margin-right: 10px;
border-radius: 3px;
cursor: pointer;
}
<div id="add_comment">
<div id="divLeft">
<p id="comment" contenteditable="true"></p>
</div>
<div id="divRight">
<input type="submit" value="Comment" id="submit" />
</div>
</div>
ような何かを行うことができます'input'の代わりに' p'要素を持っている特定の理由はありますか?後者の場合は、 'placeholder =" Add comment ... "を使って、あなたが探している機能を提供することができます。さらに、JS対応のブラウザを使わずに作業しながら、個々のスタイリングを可能にします。 – TheThirdMan
@ TheThirdManコンテンツを追加すると、その高さが増えます。 – Karl
ああ、私はその推論を見ることができます...しかし、スクリーンリーダーや自動ツールがあなたのページで何が起こっているのかを分析するのが難しくなるので、アクセシビリティを気にするもの。 – TheThirdMan