我正在创建一个带有必填字段的表单。为了标记这些字段为必填项,我将星号(*)作为
我的问题在于,有几个字段是使用CSS网格(positioned with CSS Grids)定位的,而当我向网格添加
为什么CSS网格会将
以下是基本的HTML/CSS:
::before
元素,并将其向右浮动,使其位于字段的右上角。我的问题在于,有几个字段是使用CSS网格(positioned with CSS Grids)定位的,而当我向网格添加
::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>
Here's a fiddle: https://jsfiddle.net/zbqucvt9/