可浮动placeholder,让你的登录不再枯燥

可浮动placeholder,让你的登录不再枯燥前言在登录twitter的时候发现他的输入框的placeholder是可以浮动的。当输入框获取到焦点的时候,placeholder会跑到上面去。我觉得这样的登录方式的好处是:可以减少一个label,同时往上浮动又可以保证用户在输入的时候知道输入什么内容。pointer-eventspointer-events属性设置HTML元素如何响应鼠标/触摸事件/单击/点击事件以及光标是否可见。虽然pointer-events属性有11个可能的值,但其中8个值都用于SVG。任何HTMl元素的三个

大家好,又见面了,我是你们的朋友全栈君。

大家好,我是半夏?,一个刚刚开始写文的沙雕程序员.如果喜欢我的文章,可以关注➕ 点赞 ? 加我微信:frontendpicker,一起学习交流前端,成为更优秀的工程师~关注公众号:搞前端的半夏,了解更多前端知识! 点我探索新世界!

原文链接 ==>http://sylblog.xin/archives/69

前言

在这里插入图片描述

pointer-events

pointer-events属性设置 HTML 元素如何响应鼠标/触摸事件/单击/点击事件以及光标是否可见。
虽然pointer-events属性有11 个可能的值,但其中8个值都用于 SVG。任何 HTMl 元素的三个有效值是:

  • none 阻止指定 HTML 元素上的所有单击、状态和光标选项
  • auto 默认功能
  • inherit 将使用pointer-events元素的父元素的值

pointer-events:auto; 穿透元素!

允许单击或点击行为“穿过”一个元素到 Z 轴上它下面的另一个元素。

示例


    <p>
      我是在下面的文字,你双击试试。
    </p>
    <div class="events-none">我无法识别鼠标的双击</div>

当你双击的时候,下面的文字可以被选中。
在这里插入图片描述

浮动label

上面我们学习了pointer-events的用法。接着就回到正题,实现前言中的效果。

实现登录框

    <div class="login-form">
      <h2>登录</h2>
      <form>
        <div class="login-info">
          <input type="text" name="" required=""/>
          <label>请输入用户名</label>
        </div>
        <div class="login-info">
          <input type="password" name="" required="" />
          <label>请输入密码</label>
        </div>
      </form>
    </div>

修改式样。将login-info设置为position: relative,同时设置label的位置,使他正好处于input框中。

到这一步我们还没有添加position-events:none;

  .login-form {
        position: absolute;
        width: 400px;
        padding: 40px;
        background: #fff;
        box-sizing: border-box;
        box-shadow: 0 15px 25px rgba(160, 149, 149, 0.432);
        border-radius: 10px;
      }

      .login-form h2 {
        margin: 0 0 30px;
        padding: 0;
        color:#000;
        text-align: center;
      }

      .login-form .login-info {
        position: relative;
      }

      .login-form .login-info input {
        width: 100%;
        padding: 10px 10px;
        font-size: 16px;
        color: #000;
        margin-bottom: 30px;
        border: none;
        border: 1px solid #000;
        outline: none;
        background: transparent;
      }
      .login-form .login-info label {
        position: absolute;
        top: 0;
        left: 0;
        padding: 10px 10px;
        font-size: 16px;
        color: rgb(15, 20, 25);;
        transition: 0.5s;
      }

在这里插入图片描述

添加input:focus的效果

 .login-form .login-info input:focus  ~ label {
    top: -20px;
    left: 0;
    color: rgb(29, 155, 240);
    font-size: 12px;
    z-index: 1;
  }
  .login-form .login-info input:focus{
    border: 1px solid rgb(29, 155, 240);
  }

在这里插入图片描述

但是这样存在一个bug。当你鼠标点击输入用户名的时候,并不会发生任何效果,只有点击后面的空白处,label才会浮动。

在这里插入图片描述

pointer-events:none;

在label上设置pointer-events:none,穿透。

 .login-form .login-info label {
        position: absolute;
        top: 0;
        left: 0;
        padding: 10px 10px;
        font-size: 16px;
        color: rgb(15, 20, 25);;
pointer-events: none; 
        transition: 0.5s;
      }

最终的效果:

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/158359.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • IDEA 激活服务器破解方法

    IDEA 激活服务器破解方法,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
  • PKI系统深入的介绍

    PKI系统深入的介绍

    2021年12月31日
  • docker 修改容器时间_docker开放容器端口

    docker 修改容器时间_docker开放容器端口前言用docker搭建的Jenkins环境时间显示和我们本地时间相差8个小时,需修改容器内部的系统时间查看时间查看系统时间date-R进入docker容器内部,查看容器时间dockere

    2022年7月31日
  • administrator改名字_win10改了用户名无法登录

    administrator改名字_win10改了用户名无法登录网友求助:xp用administrator_XP系统修改administrator的用户名_xpadministrator问题不想添加多一个用户的办法?????????????????最佳答案说实话没有看懂题主的要求。我只能从你题面对描述,即将高级管理员帐户“Administrator”改变成其他名字来解答。要想将WindowsXP中要将默认的系统用户名改变成其他名称是可以实现的,但是需要调用“组…

    2022年10月14日
  • Qt树形控件QTreeView使用1——节点的添加删除操作[通俗易懂]

    Qt树形控件QTreeView使用1——节点的添加删除操作[通俗易懂]QTreeView和QStandardItemModel的使用QtreeView是ui中最常用的控件,Qt中QTreeWidget比QTreeView更简单,但没有QTreeView那么灵活(QTreeWidget封装的和MFC的CTreeCtrl很类似,没有mvc的特点)。1. QStandardItemModel在QTreeView中的使用使用QTree

    2022年6月5日
  • origin如何绘制双y轴柱状图_Graphpad柱状图双Y轴

    origin如何绘制双y轴柱状图_Graphpad柱状图双Y轴origin横坐标的标注如何修改成双行显示呢?shift+enter,可以换行思路:在两个图层上分别绘制两个柱状图,然后将两个图层合并。第一步:建立一个X列,四个Y列。其中,两列数据中间加上两个空列第二步:绘制第一个柱状图第三步:绘制第二个柱状图第四步:两图层合并点击合并按钮第五步:接下来就是坐标轴的显示基本上就完成了…

    2022年9月30日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号