javascript - 如何将图标和输入类型文本框分开并将div移动到右 Angular ?

标签 javascript html css reactjs

预期输出:

expected output

实际输出:

actual output

背景图像缩放得不一样,并且 div 没有向右移动,我需要用黑线分隔图标和文本框,但这也不起作用。

我的login.js是:

import React, { Component } from "react";
import 'bootstrap/dist/css/bootstrap.css'
import css from './login.css'
import { Button, Form, FormGroup, Label, Input } from 'reactstrap';

import logo from '../images/pam-logo-.png';

export default class Login extends Component {
    render() {
        return (
            <div style={{width:"350px",height:"320px"}}>
            <form className="login-form" style={{marginTop:"20px"}} >
                <FormGroup>
                <img src={logo} width="150" height="70" style={{marginLeft:"65px"}} />
                </FormGroup>
                <FormGroup>
                    <Input type="email" id="icon1" placeholder="Enter Email Address" style={{width: "250px",marginLeft:"13px"}} />
                    </FormGroup>
                    <FormGroup>
                    <Input type="password" id="icon2" placeholder="Enter Password"  style={{width: "250px",marginLeft:"13px"}} />
                    </FormGroup>
                    <FormGroup>
                    <Button color="info"  style={{width:"250px",marginLeft:"13px"}}>Login</Button>
                    </FormGroup>


            </form>
            </div>
        );
    }
}

我的login.css是:

@media all and (min-width: 480px) {
    .Login {
      padding: 60px 0;
    }

    .Login form {
      margin: 0 auto;
      max-width: 320px;
    }
  }
  .logindiv
{
  margin-left:50px ;
}
.login-form {
    width: 100%;
    max-width: 330px;
    padding: 25px;
    margin: auto;
    height: 100%;

  }

  #icon1{
    background: white url(../images/login-mail.png) left no-repeat;
    padding-left: 37px;
    margin-left: 37px;
  }

  #icon2{
    background: white url(../images/login-password.png) left no-repeat ;
    padding-left: 37px;
    margin-left: 37px;
    display: inline-block;
    border-left: 1px solid black;

  }
  .col {
    display: inline-block;
    border-right: 1px solid black;
    padding: 5px;
  }

请有任何想法..!如果我移动 div 背景空白只会放大而不是元素,并且 div 也需要在预期输出中 flex

最佳答案

将电子邮件地址字段和密码字段封装在 div 内,如下所示。

<div class="email_wrap">
                    <Input type="email" id="icon1" placeholder="Enter Email Address"/>
</div>
<div class="password_wrap">
<Input type="password" id="icon2" placeholder="Enter Password"/>
</div>
    <style>
.email_wrap{width:100%;float:left;position:relative;}
.password_wrap{width:100%;float:left;position:relative;}
.email_wrap::before{content:url(../images/login-mail.png);position:absolute;left:5px;top:5px;}
.password_wrap::before{content:url(../images/login-password.png);position:absolute;left:5px;top:5px;}
</style>

注意:根据您的设计调整 BEFORE 元素的顶部和左侧 CSS 以适合您的设计。

关于javascript - 如何将图标和输入类型文本框分开并将div移动到右 Angular ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60111677/

相关文章:

javascript - 使用 Jquery 将类添加到 TextBox 时出现问题

css - IE8 - 文本区域焦点上的站点背景更改

javascript - 如何使用 Jquery 声明一个函数

html - 相对于父级的父级定位元素

javascript - 如何在上传多个选定视频之前进行多个视频预览

javascript - 如何在成功和错误之间捕获ajax回调中的错误?

css - 在 jquery mobile 中显示平面按钮

javascript - 谷歌翻译覆盖选择更改事件

javascript - 使 html 按钮显示为文本

javascript - Jquery 不允许在文本区域中换行