提问者:小点点

如何更改div(css)内部元素的颜色


我正在尝试更改div中元素的颜色。正如您所看到的,在下面的代码中,我尝试更改“I”类,以便在聚焦输入字段时,侧图标(来自字体awesome)以道奇蓝色突出显示。

*:focus {
  outline: none;
}

 ::placeholder {
  color: #696969;
}

body {
  margin: 0;
  padding: 0;
  background-color: #ced4da;
  font-family: sans-serif;
}

.wrapper {
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

.email-input-field,
.password-input-field {
  position: relative;
}

input:focus+i {
  color: dodgerblue;
}

.email-input-field i {
  position: absolute;
  padding: 9px 8px;
  color: darkgrey;
  transition: 0.3s;
}

.password-input-field i {
  position: absolute;
  top: 1px;
  padding: 9px 12px;
  color: darkgrey;
  transition: 0.3s;
}

input[type="email"],
input[type="password"] {
  width: 210px;
  height: 28px;
  margin-bottom: 7px;
  padding-left: 50px;
}

input[type="submit"] {
  border: none;
  width: 267px;
  height: 28px;
  color: white;
  background-color: #42BB97;
}

input[type="submit"]:hover {
  background-color: #3BA384;
}
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<div classs="login-form">
  <form action="Login.php" method="POST">
    <div class="wrapper">
      <div class="email-input-field">
        <i class="fa fa-envelope fa-lg" aria-hidden="true"></i>
        <input type="email" name="emailPost" placeholder="Email" required>
      </div>
      <div class="password-input-field">
        <i class="fa fa-lock fa-lg" aria-hidden="true"></i>
        <input type="password" name="passwordPost" placeholder="Password" required>
      </div>
      <div class="submit-button">
        <input type="submit" name="submit" value="Login">
      </div>
    </div>
  </form>
</div>

共1个答案

匿名用户

是一个同级选择器,用于选择当前元素旁边的任何元素。因此,当您使用它时,它不会转到

<div class="email-input-field">
  <input type="email" name="emailPost" placeholder="Email" required>
  <i class = "fa fa-envelope fa-lg" aria-hidden = "true"></i>
</div>
<div class="password-input-field">
  <input type="password" name="passwordPost" placeholder="Password" required>
  <i class = "fa fa-lock fa-lg" aria-hidden = "true"></i>
</div>

我改变的位置

另外,不要忘记给以下CSS。

.email-input-field i {
  position: absolute;
  padding: 9px 8px;
  color: darkgrey;
  transition: 0.3s;
  left: 0;
  top: 0;
}

缺少左侧和顶部属性。