制作符合用户体验的漂亮的input输入框

今天来说说鄙人对input输入框在处理上的细节处理和心得,其实制作一个符合CSS标准、FF/IE7/IE6等主流浏览器全兼容、符合用户体验的input其实并不难。先点击看看下面的效果先!

我们-www.jb51.net表单效果

*{
margin:0;
padding:0;
}
body{
font-size:63%;
color:#000;
}
/*input*/
.input_on{
padding:2px 8px 0pt 3px;
height:18px;
border:1px solid #999;
background-color:#FFFFCC;
}
.input_off{
padding:2px 8px 0pt 3px;
height:18px;
border:1px solid #CCC;
background-color:#FFF;
}
.input_move{
padding:2px 8px 0pt 3px;
height:18px;
border:1px solid #999;
background-color:#FFFFCC;
}
.input_out{
/*height:16px;默认高度*/
padding:2px 8px 0pt 3px;
height:18px;
border:1px solid #CCC;
background-color:#FFF;
}
/*form*/
ul.input_test{
margin:20px auto 0 auto;
width:500px;
list-style-type:none;
}
ul.input_test li{
width:500px;
height:22px;
margin-bottom:10px;
}
.input_test label{
float:left;
padding-right:10px;
width:100px;
line-height:22px;
text-align:right;
font-size:1.4em;
}
.input_test p{
float:left;
_margin-top:-1px;
}
.input_test span{
float:left;
padding-left:10px;
line-height:22px;
text-align:left;
font-size:1.2em;
color:#999;
}

  • 姓名:

    请输入您的姓名

  • Email:

    请输入您的Email

  • 网站:

    请输入您的网站

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

鼠标经过input时的颜色会发生变化,此外当点击标题处(<label>的作用)或者输入框时,光标停留所在的input的颜色也和其他input输入框有所不同,这是<input>中JS的作用。在用户体验上告诉的用户什么是可以输入以及当前在什么输入位置。此外通过键盘上Tab键的切换,输入完当前内容移动到下一个输入框变得更方便了,这是CSS合理布局结构的作用。

整体的结构通过<ul>和<li>来组织,每个<li>显示一行内容。<label>标签显示标题,<p>input控制输入框,<span>显示备注信息。这里要特别说一下<input>在各个浏览器下不同的表现,对<input>设置line-height对FF是不起作用的,所以建议用padding来控制文本在输入框的位置。<input>在浏览器下的默认高度和字体一样是16px,加上下边框就是18px。特别是在需要将<input>变大的情况下,用padding来控制比较好。

再来说说JS部分,这里用到onblur(光标离开)、onfocus(光标停留)、onmousemove(鼠标停留)、onmouseout(鼠标离开)这4个属性来控制鼠标的动作。不会JS也没关系,只要定义其所对应的CSS样式就可以了。在这里要特别感谢经典论坛中WellFrog给与我JS上的帮助。

精通一样东西比学会一样东西所付出的精力和时间要多得多,这年头最值钱的东西就是坚持。制作一个符合CSS标准、FF/IE7/IE6等主流浏览器全兼容、符合用户体验的东西出来其实也可以很简单的。

(0)

相关推荐

  • javascritp实现input输入框相关限制用法

    1.取消按钮按下时的虚线框  在input里添加属性值 hideFocus 或者 HideFocus=true 2.只读文本框内容  在input里添加属性值 readonly 3.防止退后清空的TEXT文档(可把style内容做做为类引用)  <INPUT style=behavior:url(#default#savehistory); type=text id=oPersistInput> 4.ENTER键可以让光标移到下一个输入框  <input onkeydown="

  • jQuery 版本的文本输入框检查器Input Check

    复制代码 代码如下: /** * power by wooshoo copyright 2008-2009 * 程序名:JQuery 专用输入检查器 * 内容:专门针对input[text password hidden]以及textarea的用户输入进行检查 * 检查的范围包括:字符数.是否包含特殊字符.是否为整数.是否符合email格式.是否为电话号码. * 是否为网站地址.是否为图片地址.是否为浮点小数.是否为人民币货币.是否为日期格式 * 是否为时间格式.是否为日期时间格式.是否为密码格

  • input输入框的自动匹配(原生代码)

    今天看群里有人发起了人人网以前一些面试题,我以前也转载过一些,恰好闲着,挑选一题来做做,练个手. 本题有以下要求: 1. 使用原生代码实现,不可使用任何框架: 2. 对 input框中输入的字符进行匹配,将匹配到的内容以菜单的形式展现在 input框的下方: 3. 只针对英文字符进行匹配,并且匹配到的内容在菜单中加粗: 4. 通过键盘上的上下箭头可以对菜单进行选择,按下回车后将选中的内容写入到 input框中: 思 路 捕捉输入变化,用用户输入的值(下称输入值)去匹配列表项,这里假设列表项是查询

  • input 输入框内的输入事件详细分析

    1.基础:本次分析原理就是在各个浏览器下input内容变化的时候触发事件的各种不兼容性.在ie下用onpropertychange事件,在其他浏览器里用input事件. 2.用例:对每个浏览器分别测试如下的情况: –输入英文字母时–开启输入法时–大小写不同时–输入运算符时–按下tab键时–输入法中按下空格时–按下控制键时–复制粘贴时–删除文本时–等等 3.测试开始:(只标出特殊情况,没标出的表示正常触发,每次只触发一次事件) chrome: +开启输入法时,可以捕捉到输入事件. +开启输入法的时

  • js监听输入框值的即时变化onpropertychange、oninput

    要达到的效果 很多情况下我们都会即时监听输入框值的变化,以便作出即时动作去引导浏览者增强网站的用户体验感.比如即时显示输入框已经被输入的字节数,或者即时读取输入的值来进行搜索引导,也就是google的关联搜索效果等. 只要我们能捕获即时事件就能做到很多事情. 需要了解的知识 首先,我们需要了解onchange和onpropertychange的不同: IE下,当一个HTML元素的属性改变的时候,都能通过 onpropertychange来即时捕获. onchange在属性值改变时还必须使得当前元

  • 基于jQuery的input输入框下拉提示层(自动邮箱后缀名)

    效果图 代码部分 复制代码 代码如下: // JavaScript Document (function($){ $.fn.extend({ "changeTips":function(value){ value = $.extend({ divTip:"" },value) var $this = $(this); var indexLi = 0; //点击document隐藏下拉层 $(document).click(function(event){ if($(

  • input 输入框获得/失去焦点时隐藏/显示文字(jquery版)

    input 输入框获得和失去焦点时隐藏或者显示文字我们先看下效果图 输入框默认状态:  输入框获取焦点状态:  大家可以看效果图的搜索输入框,默认显示着"用户名/Email"的提示,当这个 input 输入框获得焦点时,就自动清空等待用户输入,当用户啥也没输入就离开这个 input 输入框时,输入框内又再次显示"用户名/Email"的提示.是不是很常见?很多搜索.登录.表单都会用到这个效果,但是我看了N多个网站,有90%以上是这么实现的: 复制代码 代码如下: &l

  • jQuery实现表单input中提示文字value随鼠标焦点移进移出而显示或隐藏的代码

    复制代码 代码如下: <input value="请输入用户名" type="text"> <input value="请输入密码" type="text"> <input value="提交" type="submit"> <script> $(function(){ //输入框中文字颜色控制 $("input:not(:las

  • 制作符合用户体验的漂亮的input输入框

    今天来说说鄙人对input输入框在处理上的细节处理和心得,其实制作一个符合CSS标准.FF/IE7/IE6等主流浏览器全兼容.符合用户体验的input其实并不难.先点击看看下面的效果先! 我们-www.jb51.net表单效果 *{ margin:0; padding:0; } body{ font-size:63%; color:#000; } /*input*/ .input_on{ padding:2px 8px 0pt 3px; height:18px; border:1px solid

  • js验证符合用户体验的网页表单特效

    JS+CSS实现的一种交互体验 @charset "utf-8"; /*元素初始值*/ html {background: #FFF;} body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,p,blockquote,th,td,ins,hr{margin: 0px;padding: 0px;} p{cursor: text;} h1,h2,h3,h4,h5,h6{font-size:100%;} ol

  • jQuery制作仿腾讯web qq用户体验桌面

    jquery ui制作仿腾讯web qq用户界面,酷炫个性的desktop桌面特效展示支持各大主流浏览器IE6以上.jQuery用户体验设计,web qq桌面十分动感酷炫. 查看演示: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <

  • 3个可以改善用户体验的AngularJS指令介绍

    1.头像图片 为了在你的应用中展示头像图片,你需要使用用户的电子邮件地址,将地址转换为小写并使用md5加密该字符串.所以聪明的做法是使用指令来做到这些,并且可以复用. /* * A simple Gravatar Directive * @example * <gravatar-image email="test@email.com" size="50"></gravatar-image> */ app.directive('gravatar

  • 使用Jquery搭建最佳用户体验的登录页面之记住密码自动登录功能(含后台代码)

    需要引入插件jquery.md5.js 可直接在IIS下运行: 用户名:Ethan.zhu 密 码:123456789 完整文件下载:WebApplication1_jb51.rar 首先将按钮单击事件的异步验证提取出来作为一个单独的函数,需要将按钮单击事件里面的变量提取出来定义为全局变量,并且增加一个变量editPass(用来标记是自己输入密码,还是从cookies中读取的密码) 复制代码 代码如下: var wrongTypeName, //用户名的错误类型,可以直接作为错误提示信息数组的下

  • 使用Jquery打造最佳用户体验的登录页面的实现代码

    以下操作默认客服端以及开启js支持,noscript情况请自行编写代码实现 首先贴上展示图片: 默认状态: 出错状态: 等待状态: 工作流程: 在用户登录提交之前,在客户端验证输入框只做空值和长度判断,提交到服务器之后自动对提交来的字符串进行合法性以及长度的验证并且去除非法字符返回合法的字符串,根据返回的合法字符串进行登录验证,然后返回json数据给前台处理,其中登录成功的标记是 loginSuccess=0,服务器返回数据之后所有工作交给前台处理. 这里重点介绍前端处理的过程. 首先在页

  • JavaScript如何实现图片懒加载(lazyload) 提高用户体验(增强版)

    目录: 懒加载的意义(为什么要使用懒加载) 原理 代码 在上篇文章给大家介绍了JavaScript实现图片懒加载(Lazyload),大家可以参考下. 懒加载的意义(为什么要使用懒加载) 对页面加载速度影响最大的就是图片,一张普通的图片可以达到几M的大小,而代码也许就只有几十KB.当页面图片很多时,页面的加载速度缓慢,几S钟内页面没有加载完成,也许会失去很多的用户. 所以,对于图片过多的页面,为了加速页面加载速度,所以很多时候我们需要将页面内未出现在可视区域内的图片先不做加载, 等到滚动到可视区

  • JavaScript实现统计文本框Textarea字数增强用户体验

    现在流行的Twitter等微博客网站,有一个很好的用户体验,就是在文本框中输入文字的时候,会自动统计输入的字符,并显示用户还能输入的字符,在限制了140个字的微博客中,这样的小提示可以很好的增强用户体验. 如果实现这种技术呢,我进行了一些研究,发现实现其实挺简单,几行代码就能完成输入字符统计功能,经过实际测试,其对文字的统计与Twitter等微博客的完全相同. 使用方法是,先增加一个span,用于显示剩余的字数,然后在Textarea中,加入一个onkeydown和onkeyup的事件,调用另一

  • 前端图片懒加载(lazyload)的实现方法(提高用户体验)

    定义 图片懒加载又称图片延时加载.惰性加载,即在用户需要使用图片的时候加载,这样可以减少请求,节省带宽,提高页面加载速度,相对的,也能减少服务器压力. 惰性加载是程序人性化的一种体现,提高用户体验,防止一次性加载大量数据,而是根据用户需要进行资源的请求. 实现 懒加载的难点在于确定某张图片是否是用户需要的资源,在浏览器中,用户需要的是可视区内的资源,因此我们只需要判断图片是否已经呈现在可视区内,当图片呈现在可视区内时,获取图片的真实地址并赋给该图片即可(图片宽高需要指定,可以利用padding处

  • php制作圆形用户头像的实例_自定义封装类源代码

    思路 使用图层的方法设计,共需要创建3个图像层 1.底层:最后生成的图像 2.真实用户头像:作为中间层,用户上传的真实头像图片 3.圆形蒙版:作为最上层,在蒙版中绘制圆形,并设置为透明 如图: 代码如下: 主功能类 avatar.class.php <?php class avatar { private $fileName; //文件的绝对路径(或基于最终调用文件的相对路径) private $rgb; //颜色索引(数组 array(255,255,0) 或 16进制值 ffff00/#ff

随机推荐