制作符合用户体验的漂亮的input输入框
2008-01-10 16:26
736 查看
今天来说说鄙人对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; }
[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等主流浏览器全兼容、符合用户体验的东西出来其实也可以很简单的。
脚本之家-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等主流浏览器全兼容、符合用户体验的东西出来其实也可以很简单的。
您可能感兴趣的文章:
相关文章推荐
- 不让input表单的输入框保存用户输入的历史记录
- js验证符合用户体验的网页表单特效
- HTML输入框优化以此来提高用户体验和易用度
- 用户体验之登录输入框(EditText)
- 简述12个符合用户体验的网站首页设计
- Kendo+Bootstrap 开发出不一样的强大用户体验的漂亮的UI
- js验证符合用户体验的网页表单特效
- 基于用户体验的网页人机交互才符合网站建设目的
- input 的用户体验提升
- 简述12个符合用户体验的网站首页设计
- js监听input输入框,让用户在使用拼音输入法的状态下无法输入除数字外的任何字符
- 输入框--仿placeholder,oninput检测用户输入事件
- CSS制作用户登录和用户注册的用户体验表单
- 今天碰到一个问题,怎么限制用户在固定宽度的input输入框里输入的长度,由此涉猎到了maxlength属性和size属性以及它们的区别。
- 打破设计惯例 注册时“暴露”密码更符合用户体验
- 怎样使产品体验更加符合用户心理及行为规律?
- 使用TextInputLayout提升EditText的输入用户体验
- jQuery制作仿腾讯web qq用户体验桌面
- 打破设计惯例 注册时“暴露”密码更符合用户体验
- 什么样的内容排版才符合用户体验