使用 HTML 将静态文本放置在输入字段的末尾

rya*_*ins 5 html javascript css twitter-bootstrap

我想做的是将一段静态文本放置在输入字段的末尾。不是占位符,其想法是使用 HTML 和 CSS 在输入元素字段的末尾添加类似“@gmail.com”的内容。我的问题是如何实现这一点?我从引导验证状态图标中得到了这个想法。

例如,输入字段看起来像..

在此输入图像描述

我希望这是有道理的..如果您有任何问题,请随时提出。

当用户键入时,该文本应保持静态,这就是它与输入字段的区别。

这是我的一些代码:

<form id="loginForm">
    <fieldset>
        <legend>Login</legend>
        <div class="form-group">
            <input id="usernameField" class="loginField form-control" name="username" type="text" placeholder="john.doe" required>
        </div>
        <br>
        <div class="form-group">
            <input id="passwordField" class="loginField form-control" name="password" type="password" placeholder="password" required>
        </div>
        <br>
        <span class="visible-lg">
            <button class="btn btn-danger loginBtn"><i class="fa fa-signin"></i> Login <i class="fa fa-spinner icon-spin icon-white loginSpinner"></i></button>
        </span>
        <span class="hidden-lg">
            <button class="btn btn-danger loginBtn btn-large"><i class="fa fa-signin"></i> Login <i class="fa fa-spinner icon-spin icon-white loginSpinner"></i></button>
        </span>
        <br>
    </fieldset>
</form>
Run Code Online (Sandbox Code Playgroud)

我的CSS:

.loginSpinner{
    display: none !important;
}

#badLogin{
    display: none;
}

#badRequest{
    display: none;
}

#createAccountForm{
    display: none;
}

.createSpinner{
    display: none !important;
}

#forgotPassword{
    display: none;
    color: red;
}

#usernameField:before{
    content:"@gmail.com";
    background-color:yellow;
    color:red;
    font-weight:bold;
}
Run Code Online (Sandbox Code Playgroud)

JSFiddle: http: //jsfiddle.net/UMBRd/

小智 5

这里有一些东西可以帮助您继续,本质上您需要将输入包装在 div 中并将其宽度调整为与输入相同(我通过浮动 div 来做到这一点,但还有其他方法)。这将为您提供一个坐标系,用于将伪元素与您所需的文本一起放置。

超文本标记语言

<div class="input-container">
    <input type="text"/>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS

.input-container {
    position: relative;
    float: left;
}

.input-container:after {
    position: absolute;
    right: 0;
    top: 0;
    content: '@gmail.com';
}
Run Code Online (Sandbox Code Playgroud)

看看这个小提琴

请注意,使用伪元素的纯 CSS 方式将无法像本文中讨论的那样工作。