首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向必填字段添加红色星号

向必填字段添加红色星号
EN

Stack Overflow用户
提问于 2017-08-07 23:41:41
回答 3查看 32.6K关注 0票数 13

我想为我的必填字段添加一个红色星号。到目前为止,我已经尝试过这样做:

代码语言:javascript
复制
.required-field::before {
  content: "*";
  color: red;
  float: right;
}
代码语言:javascript
复制
<div class="required-field">Issued By:</div>
<input type="text" id="issuedBy">

但问题是,它总是把星号放得太对了。我希望它就在文本"Status:“和"Issued By:”的旁边。我尝试删除了float属性,但它随后将红色星号放在文本前面。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-08-07 23:43:34

不使用::before,而是使用::after并删除float: right

::before会在您选择的元素之前放置一个伪元素。::after会把它放在后面,所以不是把星号放在你想要的元素之前,然后用一个浮动/位置移动它,你可以把它放在naturally之后。

星号向右移动太多的原因是因为浮动会将元素移动到父容器的右侧(不一定是父元素,如果需要详细说明,请告诉我)。因此,通过向右浮动,您告诉它移动到标签容器的最右侧,这意味着只移动到文本框的左侧,而不是标签文本的右侧。

https://jsfiddle.net/h4depmdf/1/

代码语言:javascript
复制
.required-field::after {
    content: "*";
    color: red;
}
票数 18
EN

Stack Overflow用户

发布于 2017-08-07 23:44:48

嘿,你把星号放在右边了

相反,请使用

代码语言:javascript
复制
.required-field::after {
  content: "*";
  color: red;
  margin-left:2px
}

您正在使用伪::before选择器,该选择器将内容放在元素之前。使用pseudo ::after将其放在元素之后。

票数 5
EN

Stack Overflow用户

发布于 2017-08-08 00:03:02

代码语言:javascript
复制
.required-field::before {
  content: "*";
  color: red;
}
代码语言:javascript
复制
<html>
   <form id="nonUsSafety" method="post">
      <div class="divTable">
         <div class="divTableBody">
            <div class="divTableRow">
               <div class="divTableCell">Status:<span class="required-field"></span></div>
               <div class="divTableCell"><input type="text" id="statusNonUs"></div>
            </div>
            <div class="divTableRow">
               <div class="divTableCell">Issued By:<span class="required-field"></span></div>
               <div class="divTableCell"><input type="text" id="issuedBy"></div>
            </div>
         </div>
      </div>
   </form>
</html>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45550837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档