css中浮动的label的介绍(附案例)

本篇文章给大家带来的内容是关于css中浮动的label的介绍(附案例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

在web项目中,有一个很重的模块就是登陆/注册模块,这个模块的主体部分就是一个form表单,这个form表单包含两个重要input组(用户名/密码),每个input组都包含label和input,而关于 label+input 的布局方案多种多样,不同的设计师有不同的设计风格,不同的前端工程师又有不同的实现方式。通过对比发现,现在的方案是既注重美观,又注重性能。

那么,关于label和input都有哪些布局方案呢?

label+input的布局方案

将label和input(palcholder关键字提示)分为上下两部分; // 很久以前采用,现在偶尔使用

立即学习“前端免费学习笔记(深入)”;

将label和input(palcholder关键字提示)分为左右两部分(label占据一定的宽度,而label中的字体采用左对齐,右对齐,两端对齐这三种常见的方案); // 案例:微博登陆,jd wap登陆页面等

label和input(palcholder关键字提示)还是分为左右两部分,不同的是label中的字体使用图标代替; // 案例:segment fault社区登陆页面等

只包含input(palcholder关键字提示); // 案例:手淘的登陆页面,掘金开发社区的登陆页面等

只显示input(palcholder关键字提示),而label采用浮动并隐藏,当触发input的焦点事件时label显示。 // 案例:手淘的之前登陆页面,或者参考JVFloatLabeledTextField等

这几种方案各有优劣,使用label字体用图标代替更形象,但是增加了图标的url访问;label的中的字体个数不一致,看起来不美观,字数相同,这种方案只能说中规中矩;而直接丢弃label,可以使界面简洁美观,但是label有label的作用(下面会详细说label和placeholder的作用);使用浮动的label,增加了动画效果,但需要引入js,这种方案性能,比起不使用js的明显要高(有一种不用js,但兼容性不是太好的方案)。

label vs placholder

label: 描述表单元素的角色,用来指定input的是唯一字段名称

placeholder: 它提示用户输入内容的格式

它们两个看似类似,但是它们的职责不同,很多同学在这里犯了比较大的错误。

如果需要知道它们更多的内容可参考MDN

带动画的label(no-js)

在做用户交互的页面时,带上动画的用户交互,往往更容易打动用户。下面就介绍一个用伪类实现的浮动label。

HTML代码:

基本布局css代码:

.input-group {    position: relative;    margin: 100px 20px;    font-size: 16px;}.input-group>input {    display: block;    box-sizing: border-box;    width: 100%;    padding: 16px;    font-size: 16px;    line-height: 1.0;    border: none;    border-bottom: 1px solid #cdcdcd;    border-radius: 0.4em;    transition: box-shadow 0.3s;}.input-group input::placeholder {  color: #cdcdcd;}.input-group>input:focus {    outline: none;    box-shadow: 0.2em 0.8em 1.6em #cdcdcd;}.input-group>label {    position: absolute;    bottom: 50%;    left: 0;    z-index: -1;        visibility: hidden;    color: #050505;    opacity: 0;}

首先,设置了 label 的位置(posiion: absolute),并定义了它的层级(z-index: -1), 显隐性为(visibility: hidden),透明度(opacity: 0);

然后,设置了input的 placeholder样式,可使用伪元素 ::placeholder 设置其样式;

最后,设置了一个过渡动画效果,当input元素标签获得焦点时,使用伪类 :focus 定义了input元素标签获得焦点时的阴影样式(box-shadow)和轮廓样式(outline)。

label浮动效果样式

 .input-group>label {      ...      -webkit-transform-origin: 0 0;              transform-origin: 0 0;      -webkit-transform: translate3d(0, 0, 0) scale(0);              transform: translate3d(0, 0, 0) scale(0);      -webkit-transition:          opacity 0.3s,          visibility 0.3s,          transform 0.3s,          z-index 0.3s;                        transition:                  opacity 0.3s,                  visibility 0.3s,                  transform 0.3s,                  z-index 0.3s; }.input-group>input:focus ~ label {    z-index: 1;    visibility: visible;    opacity: 1;    -webkit-transform: translate3d(0, -36px, 0) scale(1);        transform: translate3d(0, -36px, 0) scale(1);}

在定义 label 样式的集合内,添加它的初始 transform 形变效果,同时设置 transition 过渡效果样式 ,然后定义当 input 获得焦点时,它的兄弟元素 label 的样式即可。

这种label浮动的效果和JVFloatLabeledTextField的效果不同,前者是获取到焦点,label立马开始浮动,而后者是当用户输入内容时(也就是placeholder消失时),label开始浮动。

要使两者的效果相同,我们可以使用伪类可以嵌套的特性,修改 .input-group>input:focus ~ label 为 .input-group>input:focus:not(:placeholder-shown) ~ label ,这里的 :placeholder-shown 可以定义 placeholder 的显隐效果,但它的兼容性不太好,ie/edge 压根不支持,chrome和safari,以及Firefox还可以。案例:demo

以上就是css中浮动的label的介绍(附案例)的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1612494.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 02:59:52
下一篇 2025年12月24日 03:00:01

相关推荐

  • CSS中filter属性定义了元素的可视效果的介绍

    本篇文章给大家带来的内容是关于css中filter属性定义了元素的可视效果的介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 blur 给图像设置高斯模糊。”radius”一值设定高斯函数的标准差,或者是屏幕上以多少像素融在一起, 所以值越大越模糊。 如果…

    2025年12月24日 好文分享
    000
  • css中Flex布局要素的介绍(附代码)

    本篇文章给大家带来的内容是关于css中flex布局要素的介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 flex布局为 “弹性布局”,任何一个元素都可以通过设置css属性 display:flex; webkit内核浏览器为 display: …

    好文分享 2025年12月24日
    000
  • css中display属性的介绍(附实例)

    本篇文章给大家带来的内容是关于css中display属性的介绍(附实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 css定位属性Positioning display: none 不再页面渲染元素 css-test .content { display: none; } 这一…

    2025年12月24日
    000
  • css实现文字溢出省略号的四种方法(附代码)

    本篇文章给大家带来的内容是关于css实现文字溢出省略号的四种方法(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 在项目中有涉及实现一行或者第几行后加省略号,在实现第几行后加省略号的时候,使用的是-webkit-line-clamp、-webkit-box-orient属性…

    2025年12月24日
    000
  • web前端中常用的封装方法介绍(代码示例)

    本篇文章给大家带来的内容是关于web前端中常用的封装方法介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 1、放大镜 //页面加载完毕后执行window.onload = function () {var oDemo = document.getElementById…

    2025年12月24日
    000
  • css专业术语有哪些?css专业术语介绍

    本篇文章给大家带来的内容是关于css专业术语有哪些?css专业术语介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 1. 属性 如height、color等,称作css的属性。 2. 值 在css中,如:10px, 50%, #ccc等这些都称作css的值。比较常见的类型值有:整…

    好文分享 2025年12月24日
    000
  • CSS3学习之页面加载动画(二)

    本篇文章给大家分享6种css3的页面加载动画。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 在之前的文章【CSS3学习之页面加载动画(一)】中已经分享了四个CSS3的加载动画,今天继续(标题接上一次)。 请注意:代码中的关键帧动画有的用的linear曲线,而有的用的是ease曲线…

    2025年12月24日 好文分享
    000
  • CSS3学习之页面加载动画(三)

    本篇文章再给大家分享6种css3的页面加载动画。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 在之前的文章【CSS3学习之页面加载动画(二)】中又分享了6个CSS3的加载动画,今天继续分享(标题接上一次),图片看得不真切。 十一、效果十一 四个小球分别包含于四个正方形p,将小球相…

    2025年12月24日 好文分享
    000
  • CSS堆叠上下文是什么?有什么作用?

    本篇文章给大家带来的内容是关于css堆叠上下文是什么?有什么作用?有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 CSS 堆叠上下文是啥? 我们有一个基本样式的div,样式如下: div{ width: 200px; height: 200px; border:10px solid …

    2025年12月24日 好文分享
    000
  • CSS如何实现反方向圆角?(代码)

    本篇文章给大家带来的内容是关于css如何实现反方向圆角?(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 原理 父级元素 relative,子元素 absolute,然后通过top、left、right、bottom来设置具体出现位置。 DOM结构 CSS样式 .wrappe…

    2025年12月24日
    000
  • css改变单选框颜色的方法实现(附代码)

    本篇文章给大家带来的内容是关于css改变单选框颜色的方法实现(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 是否曾经被业务提出”能改改这个单选框的颜色吧!让它和主题颜色搭配一下吧!”,然后苦于原生不支持换颜色,最后被迫自己手撸一个凑合使用。若抛开i…

    2025年12月24日
    000
  • css如何实现图片大于div时的居中显示(代码实例)

    本文给大家介绍css如何实现图片大于div时的居中显示(代码实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 当图片大于p时,想要图片居中显示,如果图片等比例缩小可能会导致图片不能填充整个p,如果直接将图片不设置宽高,将其外层p设置overflow:hidden;这时即使外层…

    好文分享 2025年12月24日
    000
  • CSS长度单位之em介绍

    本文给大家带来css长度单位之em介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 一、为什么使用em em也是css中的一种单位,和px类似。很多人会疑惑为什么有了px之后还要使用em,而且em使用起来相对于px来讲比较麻烦。 em主要是应用于弹性布局,下面给出一个小栗子说明…

    2025年12月24日 好文分享
    000
  • CSS什么是图标字体(IconFont)?有什么用?

    本篇主要介绍一种非常好用的图标大法——图标字体(iconfont)。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 什么是图标字体?顾名思义,它是一种字体,只不过这个字体显示的并不是具体的文字之类的,而是各种图标。 网站上经常会用到各种图标,之前网页上使用图标主要采用精灵图(背景位…

    2025年12月24日 好文分享
    000
  • CSS如何实现滚动的图片栏(代码实例)

    本文给大家介绍css如何实现滚动的图片栏(代码实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 在一些网站上可以经常看到有一些图片进行持续不断的滚动,这个效果可以通过css的动画效果来实现。具体效果如下 主要原理是通过动画向左移动。 首先给出两组一样的图片(同一行上),让整体…

    2025年12月24日
    000
  • CSS如何设置背景属性(详解)

    本文给大家详解css如何设置背景属性,有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 背景相关属性主要有: background-color  背景颜色  background-image 背景图片 background-repeat 是否平铺 repeat (默认平铺) | re…

    好文分享 2025年12月24日
    000
  • css如何设置颜色值?rgb()设置颜色(代码实例)

    css如何设置颜色值?本篇文章就给介绍在css中如何用rgb()来设置颜色,让大家可以了解rgb()设置颜色的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 首先我们来了解一下rgb是什么意思? RGB:一种色彩模式 ,是工业界一种颜色标准;可以通过对红(R)、绿(G)、蓝(…

    2025年12月24日
    000
  • 如何使用纯CSS实现热气球的效果(附源码)

    本篇文章给大家带来的内容是关于如何使用纯css实现热气球的效果(附源码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 源代码下载 https://github.com/comehope/front-end-daily-challenges 代码解读 定义 dom,容器中…

    2025年12月24日
    000
  • css如何对文本进行修饰?css修饰文本样式的9种属性(总结)

    css如何对文本进行修饰?本篇文章就给大家总结了css修饰文本文字的一些方法,介绍一些css 修饰文本的属性,让大家了解css修饰文本文字的9种属性有哪些。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 1、css设置文本文字颜色的属性 color属性:设置文本文字颜色。用法如下:…

    好文分享 2025年12月24日
    000
  • 如何利用css的background绘制图形 (附代码)

    本篇文章给大家带来的内容是关于如何利用css的background绘制图形 (附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 相信大家在平时工作中少不了会被要求在某些元添加一些特殊的背景图片,这时候通常就拿起ps就是切切切。不说这种方式麻烦,有ui给你切好的情况已经不错,没…

    2025年12月24日 好文分享
    000

发表回复

登录后才能评论
关注微信