【问题标题】:Placing <label> text inside the border of a text input将 <label> 文本放置在文本输入的边框内
【发布时间】:2017-12-22 09:03:11
【问题描述】:

我正在寻找这个代码:

<form id="first_name">
    <div class="form-group">
         <label>First name</label>
         <input type="text" class="form-control input-lg" />
    </div>
</form>

看起来像这样

减去颜色、复选框、值等。基本上我希望它看起来就像字段集中的图例标签一样,但没有标签和文本输入边框内的标签。提前致谢!

【问题讨论】:

  • 页面的background-color和输入的background-color一样吗?您可能只需将相同的 background-color 分配给 &lt;label&gt; 并使用 display: block; 和负边距。
  • 尝试将您引用的图片放在问题正文中,而不是链接到它。

标签: html css forms input


【解决方案1】:

这是您需要的。您可以根据需要更改 CSS 值。同样重要的是将标签的background-color 设置为与表单/html 相同的颜色。

.form-group{
  padding:10px;
  border:2px solid;
  margin:10px;
}
.form-group>label{
  position:absolute;
  top:-1px;
  left:20px;
  background-color:white;
}

.form-group>input{
  border:none;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<form id="first_name">
    <div class="form-group">
         <label>First name</label>
         <input type="text" class="form-control input-lg" />
    </div>
</form>

希望这会有所帮助:)。

【讨论】:

  • 关闭,但我实际上需要图像输入中的文本。如果我将文本放在输入上并放置背景颜色,则背景会位于文本的前面。如果我不放背景色,显然通过测试可以看到边框。
  • 使用您的代码。通过使用非常轻的渐变,能够为我提出一个更好的解决方案。感谢您的帮助!
  • 你应该在 .form-group 中添加 position:relative
【解决方案2】:

您可以使用图例标签。

<!DOCTYPE html>
<html>
<body>

<form>
 <fieldset>
  <legend>Contact</legend>
  Name <input type="text"><br>
  Email <input type="text"><br>
 </fieldset>
</form>

</body>
</html>

【讨论】:

    【解决方案3】:

    我这里看答案的时候,都是为了省时而回答的,就是当背景图变了,做的例子就爆炸了,我的例子没有这个问题,你可以照着用希望

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Input</title>
        <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css"
            integrity="sha384-B0vP5xmATw1+K9KRQjQERJvTumQW0nPEzvF6L/Z6nronJ3oUOFUFpCjEUQouq2+l" crossorigin="anonymous">
        <style>
            .textOnInput {
                position: relative;
            }
            .textOnInput label {
                position: absolute;
                top: -15px;
                left: 23px;
                padding: 2px;
                z-index: 1;
            }
            .textOnInput label:after {
                content: " ";
                background-color: #fff;
                width: 100%;
                height: 13px;
                position: absolute;
                left: 0;
                bottom: 0;
                z-index: -1;
            }
            label {
                font-size: 16px;
                font-weight: 500;
                display: inline-block;
                margin-bottom: .5rem;
            }
            .form-control {
                box-shadow: none !important;
    
            }
        </style>
    
    </head>
    
    <body>
        <div class="col-md-4 mt-5">
            <div class="textOnInput">
                <label for="inputText">Email</label>
                <input class="form-control" type="text">
            </div>
        </div>
    </body>
    
    </html>

    【讨论】:

      【解决方案4】:

      如果你想要多个盒子,你应该添加相对位置并添加一些填充:

      .form-group{
        padding:10px;
        border:2px solid;
        margin:10px;
      }
      .form-group>label{
        padding-left: 5px;
        padding-right: 5px;
        position:relative;
        top:-20px;
        left:20px;
        background-color:white;
      }
      
      .form-group>input{
        border:none;
      }
      <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
      <form id="first_name">
          <div class="form-group">
               <label>First name</label>
               <input type="text" class="form-control input-lg" />
          </div>
           <div class="form-group">
               <label>Second name</label>
               <input type="text" class="form-control input-lg" />
          </div>
      </form>

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-04-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-16
        • 1970-01-01
        相关资源
        最近更新 更多