フィールドを必要とするフォームを作成しています。これらを必要に応じてマークするには、アスタリスク(*)を::before
要素に置き、フィールドの右上隅にあるように右に浮動させます。CSSグリッドのグリッドアイテムのように動作する擬似要素
これらのフィールドのいくつかはCSSグリッドに配置されており、グリッドに::before
要素を追加すると、別のグリッドアイテムとして扱われ、すべてが新しいグリッド行にプッシュされます。
CSSグリッドが::before
要素を別のグリッド項目として扱うのはなぜですか?どのようにアスタリスクを入力要素のように配置するのですか?ここで
は、基本的なHTML/CSSです:
html {
width: 75%;
}
ul {
list-style: none;
}
input {
width: 100%
}
.grid {
display: grid;
grid-template-columns: .33fr .33fr .33fr;
}
li.required::before {
content: '*';
float: right;
font-size: 15px;
}
<ul>
<li class="required">
<input type="text">
</li>
<li class="grid required">
<p>one</p>
<p>two</p>
<p>three</p>
</li>
<li class="required">
<input type="text">
</li>
</ul>
ここでフィドルです:https://jsfiddle.net/zbqucvt9/
擬似要素は、実際の要素はないボックスの同じ種類を生成します。 CSSのレイアウトに関しては、擬似要素ボックスと実際の要素ボックスは2種類あります。他の状況でも、実際の要素ボックスと同じように動作する疑似要素ボックスを見つけることができます。 – BoltClock