输入

<input>
. 应用最广泛的表单元素 - the most powerful and complex
. 种类 type 很多,默认是 text,单行文本输入
. 更多 <input> 类型和使用,请访问 MDN - <input>更多 <input>
<input type = "text" name = "" id = "">
常用属性
类别 说明
type input 类型,如:单选 radio、多选 checkbox 等
name 提交时,由后端区别不同类型元素的值;还可以对元素分类,如一组单选按钮
value
id 多用于 JavaScript 控制;或配合 <label> 使用,增强用户体验
maxlength 最大字符数
placeholder 内容占位符,显示提示信息
checked 是否选中;selected 表示 select 的默认选中
required 必填字段;否则会把空的当成有效字符
hidden 隐藏
disabled 是否可用;普通元素不具备该特性
autocomplete 提示历史输入,方便自动完成,一般配合 datalist
autofocus 自动获取焦点
pattern 利用正则表达式提供验证功能,如:"\d{6}";请参考 正则表达式
常用类型 - 普通类
属性 说明
text 单行文本输入;默认类型
password 密码输入
radio 单选按钮;多个选一个;使用 name 属性分组;应显式指定 value
checkbox 多选按钮;使用 name 属性分组;应显式指定 value
submit 数据提交按钮;建议使用专门的按钮标签 <button>
reset 数据复位按钮;建议使用专门的按钮标签 <button>
radio本意是只无线电,为什么用做单选?
常用类型 - 应用类
属性 说明
file 文件选择按钮,请参考 file
image 图片
number 数值,如身高、体重;min max step
search 搜索框;语义化
range 指定数值范围选择,如音量选择
color 颜色选择
常用类型 - 验证类
属性 说明
email 电子邮件
url 网址
tel 电话;适用于移动端
常用类型 - 日期类
属性 说明
date 日期
month 年月
time 时分秒
week 星期

. 通常根据 type 修改特定的表单元素;若无特别说明,后续均做初始化处理

. 更多样式,请参考后续内容

[] 单行输入文本框的初始化 - 使用 CSS变量 更加方便维护
:root{
  accent-color: #ff1493;
}

::placeholder {
  color: #089;
} 

::selection {
  color: #fff;
  background-color: #ff1493;
}

input[type=text] {
  width: 100%;
  border: none;
  outline: none;
  font: inherit;
  box-sizing: border-box;
  background-color: transparent;
}
[] 自定义text样式
:focus
::selection
::placeholder
后期利用定位把提示信息和占位符结合起来使用,请参考 一"鹿"有你
. 利用 accent-color,简单粗暴
[] 定制 radio - 利用伪元素 选中伪类选择器:checked相邻兄弟选择器 + 实现
[] 个人网站 - 留言板 - 隐藏 <input>,设计关联的 <label>,如文字、图片、字体图标
. 利用accent-color,简单粗暴
[] 定制 checkbox - 利用伪元素 选中伪类选择器 :checked兄弟选择器 ~定位 position 实现
. 按钮一开始在左边,选中后,移动到右边
. 需要精准计算元素的大小
. 也可以只使用相对定位 relative,让伪元素相对位置发生变化[作为子元素,它本来就在父元素的开始位置]
[] 表单注册和登录
[] 表单登录 - 记住密码
. 隐藏外观 appearance,利用accent-color,配合 路径裁剪 调整为圆形
. 同样适用于单选按钮的设计:调整圆形为矩形
是一个替换元素(replaced element),其内部结构是由浏览器控制的,不允许通过这些伪元素进行自定义
部分系统要求表单元素不能单独使用,必须用在<form>中;还有某些元素如密码,必须指定 autocomplete属性,请注意查看控制台提示信息,如:

xxx field is not contained in a form

Input elements should have autocomplete attributes

总结与作业 Summary & Homework
总结 Summary
. <input> 的常见分类和基本使用
. <input> 样式的设计
. 初步使用组合选择器
. 初步使用CSS函数和CSS变量
作业 Homework
. 留言板或信息采集表的设计
. 标签页的设计