HTML+CSS学习之input框hover和focus时设置边框色

问题描述

实现目标: 实现鼠标hover和focus到input输入框时,输入框外边框是蓝色的
实际问题:hover和focus分别添加border属性和outline属性,但是两边框叠加;而不设置focus的outline属性,focus时外边框颜色会被原本input属性覆盖

  1. hover时正常
    在这里插入图片描述
  2. focus时边框叠加
    在这里插入图片描述
  3. 去掉input:focus则focus边框为黑色
    在这里插入图片描述
<style>
    input:hover{
      border: 1px solid #2288ee;
    }
    input:focus{
      outline: 1px solid #2288ee;;
    }
  </style>

<input type="text">

解决方法

不需要给input:focus加上outline属性,保留input:hover的border属性且在input上去掉原本的outline属性
即outline:none即可

<style>
    input{
      outline: none;
    }
    input:hover{
      border: 1px solid #2288ee;
    }
  </style>
<input type="text" placeholder="请输入搜索关键字">

在这里插入图片描述

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将登录按钮放置在登录的下方,您需要做以下更改: 首先,在 HTML ,将按钮标签放在登录表单标签之外,如下所示: ``` <div class="login-page"> <div class="form"> <form class="login-form"> <input type="text" placeholder="用户名"/> <input type="password" placeholder="密码"/> </form> <button>登录</button> </div> </div> ``` 然后,在 CSS ,添加以下样式: ``` .form button { position: absolute; bottom: -25px; left: 50%; transform: translateX(-50%); } ``` 这将使按钮绝对定位于登录的底部,并将其水平居。`transform: translateX(-50%)` 用于水平居按钮。 完整的代码如下所示: HTML: ``` <div class="login-page"> <div class="form"> <form class="login-form"> <input type="text" placeholder="用户名"/> <input type="password" placeholder="密码"/> </form> <button>登录</button> </div> </div> ``` CSS: ``` body { background-color: #d3d3d3; } .login-page { width: 360px; padding: 8% 0 0; margin: auto; } .form { position: relative; z-index: 1; background: #ffffff; max-width: 360px; margin: 0 auto 100px; padding: 45px; text-align: center; border-radius: 10px; box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2), 0 5px 5px 0 rgba(0, 0, 0, 0.24); } .form input { font-family: "Roboto", sans-serif; outline: 0; background: #f2f2f2; width: 100%; border: 0; margin: 0 0 15px; padding: 15px; box-sizing: border-box; font-size: 14px; } .form button { position: absolute; bottom: -25px; left: 50%; transform: translateX(-50%); font-family: "Roboto", sans-serif; text-transform: uppercase; outline: 0; background: #4CAF50; width: 100%; border: 0; padding: 15px; color: #ffffff; font-size: 14px; cursor: pointer; border-radius: 5px; } .form button:hover, .form button:active, .form button:focus { background: #43A047; } .form .message { margin: 15px 0 0; color: #b3b3b3; font-size: 12px; } .form .message a { color: #4CAF50; text-decoration: none; } .form .register-form { display: none; } .container { position: relative; z-index: 1; max-width: 300px; margin: 0 auto; } .container:before, .container:after { content: ""; display: block; clear: both; } .container .info { margin: 50px auto; text-align: center; } .container .info h1 { margin: 0 0 15px; padding: 0; font-size: 36px; font-weight: 300; color: #1a1a1a; } .container .info span { color: #4d4d4d; font-size: 12px; } .container .info span a { color: #000000; text-decoration: none; } .container .info span .fa { color: #EF3B3A; } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值