Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 使用CSS将“*”添加到具有“required”属性的输入字段标签中_Html_Css_Sass - Fatal编程技术网

Html 使用CSS将“*”添加到具有“required”属性的输入字段标签中

Html 使用CSS将“*”添加到具有“required”属性的输入字段标签中,html,css,sass,Html,Css,Sass,我想知道当标签的for属性用于具有所需html属性的输入元素时,是否有一种仅使用CSS向label元素添加星号的方法。或者,如果标签后面紧跟着一个具有所需属性的输入元素,我们可以使用逻辑 工作原理是这样的: 输入[必需]+标签:之后{ 内容:“*”; 颜色:红色; } 名称 年龄 我建议您保留旧的html并使用css flex来排序位置 输入[必需]+标签:之后{ 内容:“*”; 颜色:红色; } div{ 显示器:flex; 文本对齐:居中; 调整项目:灵活启动; } div输入{ 宽度:

我想知道当标签的for属性用于具有所需html属性的输入元素时,是否有一种仅使用CSS向label元素添加星号的方法。或者,如果标签后面紧跟着一个具有所需属性的输入元素,我们可以使用逻辑

工作原理是这样的:

输入[必需]+标签:之后{ 内容:“*”; 颜色:红色; } 名称 年龄
我建议您保留旧的html并使用css flex来排序位置

输入[必需]+标签:之后{ 内容:“*”; 颜色:红色; } div{ 显示器:flex; 文本对齐:居中; 调整项目:灵活启动; } div输入{ 宽度:100px; 高度:20px; 顺序:2; } div标签{ 宽度:100px; 高度:20px; 顺序:1; } 名称 年龄
我建议您保留旧的html并使用css flex来排序位置

输入[必需]+标签:之后{ 内容:“*”; 颜色:红色; } div{ 显示器:flex; 文本对齐:居中; 调整项目:灵活启动; } div输入{ 宽度:100px; 高度:20px; 顺序:2; } div标签{ 宽度:100px; 高度:20px; 顺序:1; } 名称 年龄
如果没有SASS/SCSS,CSS也无法按照您想要的方式向后渲染

一种解决方案是向对应于必填字段的标签添加一个必需的类

<style>
    label.required:after { content: '*';color:red; }
</style>

<form>
  <div>
    <label for="name" class="required">Name</label>
    <input id="name" type="text" required />
  </div>
  <div>
    <label for="age">Age</label>
    <input id="age" type="text" />
  </div>
</form>

如果没有SASS/SCSS,CSS也无法按照您想要的方式向后渲染

一种解决方案是向对应于必填字段的标签添加一个必需的类

<style>
    label.required:after { content: '*';color:red; }
</style>

<form>
  <div>
    <label for="name" class="required">Name</label>
    <input id="name" type="text" required />
  </div>
  <div>
    <label for="age">Age</label>
    <input id="age" type="text" />
  </div>
</form>
您可以使用“标签浮动”将标签放置在左侧,如下所示:

标签{ 浮动:左; } 输入[必需]+标签:之后{ 内容:“*”; 颜色:红色; } } 名称 年龄 您可以使用“标签浮动”将标签放置在左侧,如下所示:

标签{ 浮动:左; } 输入[必需]+标签:之后{ 内容:“*”; 颜色:红色; } } 名称 年龄
所以label+input[required]:before不起作用?这不是我真正想要的。如果标签和输入元素显示为:块;所以他们在不同的线路上,这是行不通的。我喜欢你来自哪里。所以label+input[必选]:before不起作用?这不是我真正想要的。如果标签和输入元素显示为:块;所以他们在不同的线路上,这是行不通的。我喜欢你来自哪里。酷。有SASS/SCSS是什么意思?我想要一个使用SASS/SCSS的答案。但是SASS/SCSS不会被传输到CSS中吗?还想知道如何使用SCSS做到这一点。。。你能告诉我们吗?Jaxon,是的,SCSS和SASS确实被编译成CSS。SASS和SCSS的优点在于,它比手动编码的样式表更易于维护。我将更新我的答案以反映SASS/SCSS.cool。有SASS/SCSS是什么意思?我想要一个使用SASS/SCSS的答案。但是SASS/SCSS不会被传输到CSS中吗?还想知道如何使用SCSS做到这一点。。。你能告诉我们吗?Jaxon,是的,SCSS和SASS确实被编译成CSS。SASS和SCSS的优点在于,它比手动编码的样式表更易于维护。我将更新我的答案以反映SASS/SCSS.Nice解决方案。我使用了类似的方法,但我创建了一个容器并使用display:flex;弯曲方向:柱反向;让标签和输入元素交换位置。很好的解决方案。我使用了类似的方法,但我创建了一个容器并使用display:flex;弯曲方向:柱反向;要使标签和输入元素切换到位。
div {
    display:-webkit-flex;
    display:flex;
    label {
        order:1;
    }
    input {
        order:2;
        &[required] + label:after {
            content: '*';color:red;
        }
    }
}