--- title: ':placeholder-shown' slug: Web/CSS/:placeholder-shown tags: - ':placeholder-shown' - CSS - Pseudo-class - Reference - Selector - セレクター - 擬似クラス browser-compat: css.selectors.placeholder-shown translation_of: Web/CSS/:placeholder-shown ---
:placeholder-shown
は CSS の擬似クラスで、プレイスホルダー文字列が表示されている {{HTMLElement("input")}} または {{HTMLElement("textarea")}} 要素を表します。
/* プレイスホルダーが有効な要素を選択 */ :placeholder-shown { border: 2px solid silver; }
この例は、プレイスホルダーが表示されているときに特殊なフォントと境界線を適用します。
<input placeholder="何か入力してください!">
input { border: 1px solid black; padding: 3px; } input:placeholder-shown { border-color: teal; color: purple; font-style: italic; }
{{EmbedLiveSample("Basic_example", 200, 80)}}
スマートフォンのような狭い画面では、検索ボックスやその他の入力欄の幅はとても狭くなります。これにより、プレイスホルダーの文字列が望ましくない形で切り取られることがあります。 {{cssxref("text-overflow")}} プロパティでこの挙動を修正すると便利です。
<input id="input1" placeholder="Name, Rank, and Serial Number"> <br><br> <input id="input2" placeholder="Name, Rank, and Serial Number">
#input2:placeholder-shown { text-overflow: ellipsis; }
{{EmbedLiveSample("Overflowing_text", 200, 80)}}
以下の例では部署名と ID コード欄をカスタムスタイルで強調します。
<form id="test"> <p> <label for="name">Enter Student Name:</label> <input id="name" placeholder="Student Name"/> </p> <p> <label for="branch">Enter Student Branch:</label> <input id="branch" placeholder="Student Branch"/> </p> <p> <label for="sid">Enter Student ID:</label> <input type="number" pattern="[0-9]{8}" title="8 digit ID" id="sid" class="studentid" placeholder="8 digit id"/> </p> <input type="submit"/> </form>
input { background-color: #E8E8E8; color: black; } input.studentid:placeholder-shown { background-color: yellow; color: red; font-style: italic; }
{{EmbedLiveSample("Customized_input_field", 200, 180)}}
{{Compat}}