精华内容
下载资源
问答
  • HTML 表单元素的基本样式

    千次阅读 2018-02-22 17:48:53
    表单元素的样式CSS 表单元素主要包括 label、input、textarea、select、datalist、keygen、progress、meter、output等,以及对表单元素进行分组的 fieldset 和 legend 元素。根据功能的不同,input 元素又包括 text...

    表单元素主要包括 label、input、textarea、select、datalist、keygen、progress、meter、output等,以及对表单元素进行分组的 fieldset 和 legend 元素。

    根据功能的不同,input 元素又包括 text、password、radio、checkbod、file、submit、reset、search、tel、url、email、number、range、color、Date Pickers等类型。

    由于规范只规定了表单元素的功能,并未规定它们的外观。因此,在不同浏览器下,表单元素的外观各不相同。

    为了获得更好的用户体验,在所有浏览器下保持统一的风格,通常需要重新定义表单元素的外观,来覆盖浏览器的默认外观。

    自定义外观时,元素类型不同,需要重新定义的内容也不尽相同。接下来,针对不同的表单元素,进行分别介绍。

    input元素

    在input 元素中,单行文本输入框、文件选择框、单选框和复选框、表单按钮在各浏览器下的外观差别较大,需要专门定义外观,来统一风格。

    1)单行文本输入框

    单行文本输入框,包括text、password、search、tel、url、email、number、Date Pickers,它们的作用是纯粹接受文本,这些文本信息或者由用户手工输入,或者在浏览器的弹出框中选择输入。

    假设在一个用户登录界面上,包含一个 type="text" 和一个 type="password" 的文本输入框,分别用来输入用户名的密码:

    1. <form id="layer" action="" method="post">
    2. <p><label>用户名: </label><input type="text" name="username" /></p>
    3. <p><label>密&nbsp;&nbsp;码: </label><input type="password" name="password" />
    4. </form>

    在外观上,单行文本输入框就是一个添加了边框的矩形区域,而不同浏览器下的默认尺寸、边框、背景等都不尽相同。如,在Google Chrome下的外观如图 7‑4 所示:

    在chrome下的默认外观图7-4 在chrome下的默认外观

    在IE8下的外观如图 7‑5 所示:

    在IE 8下的默认外观图7-5 在IE 8下的默认外观

    可以看出,不同浏览器下的差别很大,即便是相同浏览器的不同版本(如IE6、IE8),也可能有很大差别。因此,为了能够在所有浏览器下表现相同,需要重新定义框的宽度、高度、字体、文本、边框、背景等,来覆盖浏览器的默认外观。如:

    1. input[type="text"] ,
    2. input[type="password"]  {
    3.     width: 240px;
    4.     height: 28px;
    5.     color: #333;
    6.     font-size: 14px;
    7.     background: #fff;
    8.     border: 1px solid #cbcbcb;
    9. }

    有时候,为了突显该文本输入框的作用,比如用户登录表单中,在用户名和密码的输入框中,通过背景图像来添加一个小图标,显得更人性化。设置背景图像后,需要为文本框设置相应的左内边距,来为图像腾出空间。

    1. input[type="text"],
    2. input[type="password"] {
    3.     padding-left: 34px;
    4. }
    5. input[type="text"] {
    6.     background: #fff url(user.gif) 10px center no-repeat;
    7. }
    8. input[type="password"] {
    9.     background: #fff url(pass.gif) 10px center no-repeat;
    10. }

    运行结果如图 7‑6 所示:

    添加图标图7-6 添加图标

    在现代浏览器中,可以通过圆角和内部盒阴影,对文本输入框进行渐进式增强,使它看上去更美观,还能增加一点不错的立体效果。

    1. input[type="text"],
    2. input[type="password"] {
    3.     border-radius: 4px;
    4.     box-shadow: inset 2px 2px 4px #d9d9d9;
    5. }

    运行结果如图 7‑7 所示:

    添加圆角和内部盒阴影图7-7 添加圆角和内部盒阴影

    如果在文本输入框获得焦点时,通过改变边框颜色,并在文本框的外面,添加一个淡淡的盒阴影,这样既能向用户作出反馈,又能增强用户体验。

    由于大多数现代浏览器中,在文本输入框获得焦点时,都是通过改变文本框的轮廓颜色,来向用户作出反馈。如果不希望如此,可以把 outline 属性设置为 none,关闭此功能。

    1. input[type="text"]:focus,
    2. input[type="password"]:focus {
    3.     outline: none;
    4.     border: 1px solid #bbb;
    5.     box-shadow: 2px 2px 8px #b8b7b7;
    6. }

    运行结果如图 7‑8 所示:

    添加外部盒阴影图7-8 添加外部盒阴影

    2)文件选择框

    文件选择框与单行文本输入框不同,它有一个按钮,供用户选择文件。在不同的浏览器下,文件选择框的外观差别很大,情况稍微有点复杂。

    在IE下,文件选择框表现为一个文本输入框和一个“浏览…”按钮。在用户未选择文件时,文本输入框的内容为空,用户选择文件后,文本输入框的内容为文件的绝对路径。如,在IE8下的默认外观如图 7‑9 所示:

    文件选择框在IE下效果图7-9 文件选择框在IE下效果

    并且,在IE的不同版本下,文件选择框的外观还稍有差别,IE6和IE7下,文本输入框是灰色背景,而IE8下是白色背景。因此,要在IE下获得一致的表现,就必须设置背景和边框的样式。

    在Google Chrome浏览器下,它只有一个“选择文件”的按钮,而没有文本输入框。在用户未选择文件时,显示“未选择任何文件”字样,用户选择文件后,在按钮的右侧显示文件的名称。如图 7‑10 所示:

    文件选择框在Chrome下效果图7-10 文件选择框在Chrome下效果

    为了在所有浏览器下保持统一的风格,常常需要为一个表单中的文本输入框定义宽度、背景和边框:

    1. input {
    2.     width: 320px;
    3.     background: #fff;
    4.     border: 1px solid #94B6ED;
    5. }

    当然,上述定义对所有的文本输入框均有效,包括文件选择框。然而,不同的浏览器,对文件选择框应用边框的方式却又不同。

    IE浏览器,会为文本输入框和“浏览…”按钮应用相同的边框样式,互不影响。如图 7‑11 所示:

    应用边框后在IE下效果图7-11 应用边框后在IE下效果

    Google Chrome浏览器,会为“选择文件”按钮和右侧文本同时应用边框,边框出现在“选择文件”按钮和右侧文本的周围。如图 7‑12 所示:

    应用边框后在Chrome下效果图7-12 应用边框后在Chrome下效果

    当然,这个并不是真正想要的效果,我们希望Google Chrome下,仅仅在“选择文件”按钮周围出现边框。

    此时,就可以借助CSS Hack技术中的 '\9',让边框只对IE有效。并使用 webkit 内核专有的 ::-webkit-file-upload-button 伪元素,来设置“选择文件”按钮的样式,使IE和Chrome的按钮风格保持一致:

    1. input {
    2.     width: 320px;
    3.     background: #fff;
    4.     border: 1px solid #7F9DB9\9;
    5. }
    6. ::-webkit-file-upload-button {
    7.     padding: 4px 14px;
    8.     background: #ECE9D8;
    9.     border: 1px solid #7F9DB9;
    10. }

    经过上述处理后,在Google Chrome浏览器中的运行结果如图 7‑13 所示:

    应用边框后在Chrome下效果图7-13 应用边框后在Chrome下效果

    当然,这里只是提供了一种处理问题的思路,并不代表它就是最佳解决方案,显然这种处理方案只对 webkit 内核的浏览器有效,具有很大的局限性。

    既然上述解决方案有很大的局限性,能否换一种思路,设计一个文件选择框,让它在任何浏览器下的表现完全一致呢?

    答案是肯定的。既然大家已经习惯了IE的文件选择框,就可以在表单上包含一个文本框、一个 "浏览..." 按钮和一个文件框,通过文本框和 "浏览..." 按钮,来模拟文件框的外观,而文件框的功能保持不变,只是被隐藏起来了:

    1. <form action="" method="post" enctype="multipart/form-data">
    2.     <input type="text" id="text" />
    3.     <input type="button" value="浏览..." />
    4.     <input type="file" id="file" />
    5. </form>

    首先,设置文本框和按钮的样式,来模仿文件框的外观,主要是设置其宽度和高度。为了兼容IE6和IE7,还需要设置背景和边框样式:

    1. input[type="text"]{
    2.     width: 180px;
    3.     height: 24px;
    4.     line-height: 24px;
    5.     background: #fff;
    6.     border: 1px solid #94B6ED;
    7. }
    8. input[type="button"]{
    9.     width: 70px;
    10.     height: 26px;
    11.     background: #ECE9D8;
    12.     border: 1px solid #94B6ED;
    13. }

    然后,让文件选择框使用绝对定位(先要把 form 设置为相对定位),并控制它的尺寸,让它正好覆盖文本框和按钮,还要保证按两个钮正好对齐。再通过透明度,来隐藏文件选择框。这样,用户点击按钮或文本框(现代浏览器下),就等价于点击文件选择框,可以做到以假乱真了。

    1. form {
    2. position: relative;
    3. }
    4. input[type="file"]{
    5. top: 0;
    6. left: 0;
    7. position: absolute;
    8. width: 260px;
    9. height: 26px;
    10. filter: alpha(opacity:0);
    11. opacity: 0;
    12. }

    使用这种技术设计出来的文件选择框,在任何浏览器下的外观都完全一致。如图 7‑14 所示:

    应用边框后在Chrome下效果图7-14 应用边框后在Chrome下效果

    不过,由于文件框被隐藏,在用户选择文件后,就不能清楚看到自己的选择。其实这也不难,只需少量的 Javascript 代码就可以实现。

    当用户选择文件后,就会触发文件选择框的 onchange 事件,只需在该事件的处理函数中进行相应的处理即可。

    如果是单文件选择框,就非常简单,由于它只能选择一个文件,只需根据 id 获取文件框的值,并将它显示在文本框中即可:

    1. <input type="file" onChange="text.value = this.value" />

    在HTML5中,为文件选择框新增了 multiple 属性,支持选择多文件。如果是多文件选择框,可以通过一个函数,来遍历文件框的值,并显示在文本框中:

    1. <input type="file" onChange="text.value = getFiles(this.files)" multiple />

    对于多文件选择框,当用户选择文件后,会将文件保存在 FileList 对象中,它是一个文件的列表,通过遍历该列表,就可以得到每个文件的信息。

    1. function getFiles(files) {
    2.     var strText = "";
    3.     for(var i = 0; i < files.length; i++) {
    4.         strText += files[i].name + ", ";
    5.     }
    6. return strText;
    7. }

    上述函数中,通过遍历 FileList 对象,通过 name 属性得到每个文件的名称,并把它们用逗号连接起来。于是,用户选择文件后,文本框中就会显示用户所选择的文件列表。如图 7‑15 所示:

    显示选择的文件列表图7-15 显示选择的文件列表

    如果需要,还可以获取文件的大小(size)、类型(type)、最后修改日期(lastModifiedDate)等信息。

    3)单选框和复选框

    单选框和复选框本身很简单,但有一个问题,就是默认情况下,在所有的浏览器中,单选框和复选框都无法与旁边的文本对齐。如图 7‑16 所示:

    单选框和复选框与文本未对齐图7-16 单选框和复选框与文本未对齐

    导致这个问题的原因很复杂,限于篇幅,这里不进行深究,只给出解决方案。其实,这个问题的解决方案也很多,一个比较简单的解决方案,就是让单选框和复选框垂直居中对齐,再设置 -2px 的上外边距和 1px 的下外边距:

    1. input[type="radio"],
    2. input[type="checkbox"]  {
    3.     vertical-align: middle;
    4.     margin-top: -2px;
    5.     margin-bottom: 1px;
    6. }

    经过上述处理之后,选择框与文本已经对齐,并且,在所有的浏览器中的表现基本相同。在IE下运行结果如图 7‑17 所示:

    单选框和复选框与文本对齐图7-17 单选框和复选框与文本对齐

    select元素

    在表单元素中,下拉列表是最令人头疼的一个元素,因为它的外观非常丑陋,而许多样式对它又不生效。如,字体、文本颜色、边框、背景颜色等,都很容易进行美化处理。但是,任凭怎么美化,默认的下拉箭头始终保持不变,无法直接进行处理。

    这个问题有多种解决方案,相对简单的解决方案是,用一个容器来包裹 select 元素。再为容器应用样式,来模拟下拉列表的样式。

    在实际应用中,可以根据上下文需要来选择包裹 select 元素的容器。如果希望 select 元素独占一行,就用块级容器进行包裹;否则,就用行内级容器来包裹。这里以块级容器 div 为例进行说明:

    1. <div class="select">
    2. <select>
    3.     <option value="1">北京</option>
    4.     <option value="2">上海</option>
    5. </select>
    6. </div>

    首先,设置容器的尺寸,再指定一个自定义的下拉箭头,作为容器的背景,并让它出现在预想的位置,以便能够遮盖 select 元素的默认下拉箭头。如果希望 select 元素在行内显示,还需要设置 display 属性。

    1. .select {
    2.     width: 240px;
    3.     height: 34px;
    4.     overflow: hidden;
    5.     background: #fff url(arrow_down.png) 220px center no-repeat;
    6. }

    然后,通过 appearance 属性清除 select 元素的默认样式,并让背景透明,这是本方案的核心,也是最关键的一步。

    再根据需要,设置 select 元素的尺寸、内边界、字体、背景、边框等属性。使用百分比设置尺寸的好处是,在修改容器尺寸时,不必修改 select 元素的样式,让布局更灵活、更独立,可以提高代码的可维护性。

    1. .select  select {
    2.     width: 100%;
    3.     height: 100%;
    4.     padding: 5px;
    5.     font-size: 14px;
    6.     background: transparent;
    7.     border: 1px solid #94B6ED;
    8.     -moz-appearance: none;
    9.     -webkit-appearance: none;
    10. }

    经过上述处理后,下拉列表的运行效果如图 7‑18 所示:

    下拉列表箭头效果图7-18 下拉列表箭头效果

    当然,可以更进一步美化,当用户执行点击操作后,将向下的箭头动态改变为向上的箭头,使下拉列表更加人性化。这个功能只需简单的jQuery即可实现。

    首先,定义一个类,它让容器使用向上的箭头作为背景图像。

    1. .selected {
    2.    background-image: url(arrow_up.png);
    3. }

    然后,当jQuery检测到用户执行点击操作后,为容器添加 .selected 类,来改变箭头的方向。点击操作既可以由容器触发,也可以由下拉列表触发,根据实际情况进行选择。

    1. $(function() {
    2.     $(".select").click(function() {
    3.        $(".select").addClass("selected");
    4.     });
    5. });

    上述这种直接书写代码的方式确实很方便,但它不利于代码的重用。如果把这个点击操作封装为一个函数,再为容器绑定单击事件的处理函数 οnclick="changArrow()" ,可以大大提高代码的重用性。

    1. function changArrow() {
    2.     $(".select").addClass("selected");
    3. }

    而当鼠标移出容器时,需要删除 .selected 类,来恢复箭头的方向。同理,需要为容器绑定鼠标移出事件的处理函数

    1. onmouseout="removeArrow()"
    2. function removeArrow() {
    3.     $(".select").removeClass("selected");
    4. }

    现在,下拉列表趋于完美了,用户点击后,会自动把向下的箭头改为向上的箭头,当鼠标移出时,再恢复箭头的方向。运行结果如图 7‑19 所示:

    改变下拉列表箭头图7-19 改变下拉列表箭头

    表单按钮

    默认的按钮非常丑陋,并且不同浏览器下的外观又不尽相同。如果使用图像按钮,还需要向服务器请求图像,会增加服务器的额外负担。因此,使用原生的表单按钮,再使用纯CSS进行美化,才是最佳的选择。

    HTML中,共有三类表单按钮,分别是提交按钮、重置按钮和普通按钮,无论哪种按钮,美化方法完全相同。

    其实非常简单,首先设置按钮文本的颜色、字体,在通过 padding 属性文本在按钮中的位置,再根据上下文的风格,设置按钮的背景颜色。为了让按钮有一点立体感,可以增加一个边框,让边框跟背景使用相同色系,但颜色稍深一点:

    1. input[type="submit"] { 
    2.     color: #fef4e9;
    3.     font-size: 16px;
    4.     font-family: "Microsoft YaHei";
    5.     padding: .4em 2em .45em;
    6.     background: #f78d1d;
    7.     border: 1px solid #da7c0c;
    8. }

    当鼠标悬停到按钮上时,通过改变背景颜色,来提醒用户:

    1. input[type="submit"]:hover {
    2.     background: #f47c20;
    3. }

    上述按钮可以适应于所有的浏览器,并在所有浏览器下的表现完全相同。为了在现代浏览器下表现得更好,可以通过圆角、文本阴影,对按钮进行渐进式增强,并通过盒阴影和渐变背景,让按钮的立体感更加逼真:

    1. input[type="submit"] { 
    2.    
    3.     border-radius: 4px;
    4.     text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.25);
    5.     box-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
    6.     background: linear-gradient(180deg, #faa51a, #f47a20);
    7. }

    在Chrome浏览器下的运行效果如图 7‑20 所示:

    表单按钮图7-20 表单按钮

    关于作者

    歪脖先生,十五年以上软件开发经验,酷爱Web开发,精通 HTML、CSS、JavaScript、jQuery、JSON、Python、Less、Bootstrap等,著有《HTML宝典》、《揭秘CSS》、《Less简明教程》、《JSON教程》、《Bootstrap2用户指南》、《Bootstrap3实用教程》,并全部在 GitHub 上开源。

    展开全文
  • 【常见的表单元素哪些?各有什么属性? 】 大家好,我是IT修真院北京分院第23期学员。今天小课堂的主要内容是,input表单的应用,还有在html5中新增的属性。 表单元素是允许用户在表单中(比如:文...

    这里是修真院前端小课堂,每篇分享文从

    【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】

    八个方面深度解析前端知识/技能,本篇分享的是:

    【常见的表单元素有哪些?各有什么属性? 】

    大家好,我是IT修真院北京分院第23期学员。今天小课堂的主要内容是,input表单的应用,还有在html5中新增的属性。

    表单元素是允许用户在表单中(比如:文本域,下拉列表,单选框,复选框等等)输入信息的元素,最主要的作用就是收集信息。表单元素是页面中不可缺少的元素,在最新的H5中,表单元素也新增了一些属性,在页面构建中发挥了重要的作用。一般来说,表单包含如下几个部分:

    1. 提示信息:表单中包含的说明性文字

    2. 表单控件:包含了具体的表单功能项

    3. 表单域:容纳所有表单控件和提示信息

    常用的表单元素,包括:

    1. form: 定义供用户输入的表单。

    2. fieldset: 定义域。即输入区加有文字的边框。

    3. legend:定义域的标题,即边框上的文字。

    4. label:定义一个控制的标签。如输入框前的文字,用以关联用户的选择。

    5. input: 定义输入域,常用。可设置type属性,从而具有不同功能。

    6. textarea: 定义文本域(一个多行的输入控件),默认可通过鼠标拖动调整大小。

    7. button: 定义一个按钮。

    8. select: 定义一个选择列表,即下拉列表。

    9. option: 定义下拉列表中的选项。

    接下来是对这些表单元素的具体分析。

    <form name="" action="" method="get">……</form>

    name : 表单名称;action : 用来指定表单处理程序的位置(url);method : 定义表单结果从浏览器传送到服务器的方式,默认为"get"(也可以是post)

    <input type="" name="" value="" size="">

    name:控件名称;value:input控件默认文本值;size:input控件在页面中的显示宽度(必须是正整数)

    input常用type属性如下:

    1. text:单行文本输入框,可以通过正整数的size控制框长度。

    2. password:密码输入框。

    3. radio:单选按钮,同一组的单选按钮必须要有相同的name。

    4. checkbox:复选框,同一组的单选按钮必须要有相同的name。

    5. button:普通按钮。

    6. submit:提交按钮,每出现一次,一个 Submit 对象就会被创建。

    7. reset:重置按钮,会重置当前表单中全部的内容。

    8. image:图像形式的提交按钮,写法是“”。

    9. hidden:隐藏域,隐藏字段对于用户是不可见的。

    10. file:文件域,用于文件上传。

    <select size="" multiple="multiple">

    <option hidden>选项1</option>

    ……

    </select>

    size:下拉菜单的可见选项数;multiple:多选。

    在最新的html5中,有一些表单的新增属性,多用于js,如

    datalist : 定义填写一个input时,提示几个option用于提示。可通过input的list特性与此元素作关联。

    output : 表示计算的结果。可通过for特性与其它能够影响运算的元素(如input)作关联。

    还有一些新增的type属性:

    1. search:input会呈现为搜索框(与text类型的唯一区别在于当鼠标覆盖时尾部出现叉号可快速清除输入的内容)。

    2. tel:编辑电话号码的控件,提交时换行符会自动从输入框中去掉。

    3. url:编辑url的控件,提交时换行符与首位的空格都将自动去除。

    4. email:可输入一个邮件地址。

    5. color : 选择颜色的控件。

    6. date : 选择年月日的控件。

    此外,还有time、datetime、datetime-local、month、week、number、range类型。

    html5中input新增的一些较常用的特性:

    1. list:关联datalist所用的该datalist的id(即datalistform外建立,通过list关联即可)。

    2. pattern:一个正则表达式,用于检查控件的值,可作用于text、search、tel、url、email类型的input。

    3. form:一个字符串(为关联的form表单的id),用于表明该input属于哪个form表单(作用类似list)。

    4. formmethod:表明使用GET还是POST,能覆盖form表单的method。仅在type为image或submit,且上面的form特性被设置的情况下才能使用。相似的有formtarget特性。

    5. readonly:一个boolean值,表明该input值是否能被用户修改,可用于信息展示等页面。作用于type为hidden、range、color、checkbox、radio、file、button的input将被忽略。

    6. maxlength:type为text、emal、search、password、tel或url(都为文本)时允许输入的最大字符个数。

    7. autocomplete:浏览器是否根据之前提交的输入情况对此input自动填值(即以option形式匹配之前的输入值),取值on或off,默认on。如在登陆页面不想显示上一个登陆的用户名等时,可设置为off。

    参考文献

    1. html元素-表单元素及实用属性:http://blog.csdn.net/qq_19865749/article/details/52490882" target="_blank"

    2. W3School HTML 表单 : http://www.w3school.com.cn/html/html_forms.asp" target="_blank"

    3. HTML5-input元素新特性 :http://blog.csdn.net/garvisjack/article/details/63683201#Menu3-date

    相关ppt见:https://ptteng.github.io/PPT/PPT/css-04-%E8%A1%A8%E5%8D%95.html#/

    腾讯视频:https://v.qq.com/x/page/o05246f2ah7.html

    问题整理

    1. 使用input上传文件或图片应该怎么办

    涉及到angularjs,可参考插件https://github.com/nervgh/angular-file-upload

    2. input为什么不使用闭合标签

    input为自闭和标签,详见W3C标准

    3. type="number"在输入框右侧有上下箭头可以加减数字,怎么去掉箭头?

    使用type="tel"时没有右侧上下箭头

    展开全文
  • 下面是layui,form表单 - 页面元素开关按钮控制函数,可做参考: functionchangeOneSwitch(){ if($("input").prop('checked')){ //如果当前是选中,执行此代码 $("input").prop('checked',false) }else{ //如果...

    下面是layui,form表单 - 页面元素开关按钮控制函数,可做参考:

    function changeOneSwitch(){

    if($("input").prop('checked')){
    //如果当前是选中,执行此代码
    $("input").prop('checked',false)
    }else{
    //如果当前是未选中,执行此代码
    $("input").prop('checked',true)
    }
    form.render();
    }

     

    这个input是你要改变的switch的元素,你可以给这个input加一个id,直接获取这个id

    展开全文
  • html元素 —— 表单元素及实用属性

    千次阅读 2016-09-09 22:08:28
    一、常用表单元素 :定义供用户输入的表单。 :定义域。即输入区加有文字的边框。 :定义域的标题,即边框上的文字。 :定义一个控制的标签。如输入框前的文字,用以关联用户的选择。 :定义输入域,常用。可设置type...

    一、常用表单元素

    <form>:定义供用户输入的表单。

    <fieldset>:定义域。即输入区加有文字的边框。

    <legend>:定义域的标题,即边框上的文字。

    <label>:定义一个控制的标签。如输入框前的文字,用以关联用户的选择。


    <input>:定义输入域,常用。可设置type属性,从而具有不同功能。见详解。

    <isindex>:已废弃,用input标签代替。

    <textarea>:定义文本域(一个多行的输入控件),默认可通过鼠标拖动调整大小。

    <button>:定义一个按钮。


    <optgroup>:定义选项组。选项组内需要放选项<option>。下拉列表<select>通常对应一个选项组,故此标签不常用。见详解。

    <select>:定义一个选择列表,即下拉列表。见详解。

    <option>:定义下拉列表中的选项。见详解。

    html5新增:

    <datalist>定义填写一个input时,提示几个datalist内的多个option用于选择。可通过input的list特性与此元素作关联。见详解。

    <output>表示计算的结果。可通过for特性与其它能够影响运算的元素(如input)作关联。见详解。


    二、常用表单元素详解

    1、<input>:

    常用type属性:button、checkbox、file、hidden、image、password、checkbox、radio、reset、submit、text。

    html5新增type属性:

    1)、search:input会呈现为搜索框(与text类型的唯一区别在于当鼠标覆盖时尾部出现叉号可快速清除输入的内容)。

    2:)、tel:编辑电话号码的控件,提交时换行符会自动从输入框中去掉(普通的text并不会,故text类型验证输入值时一般需要trim()函数处理)。

    3)、url:编辑url的控件,提交时换行符与首位的空格都将自动去除。

    4)、email:可输入一个邮件地址。

    此外,还有color、date、time、datetime、datetime-local、month、week、number、range类型。见MDN 网站。

    html5中input新增的个人觉得比较有用的特性:

    1)、list:关联该input对应的<datalist>的id(即datalist在form外建立,通过list属性关联即可)。

    2)、pattern:一个正则表达式,用于检查控件的值,可作用于text、search、tel、url、email类型的input。

    3)、form:一个字符串(为关联的form表单的id),用于表明该input属于哪个form表单(作用类似list)。

    4)、formmethod:表明使用GET还是POST,能覆盖form表单的method。仅在type为image或submit,且上面的form特性被设置的情况下才能使用。相似的有formtarget特性。

    5)、readonly:一个boolean值,表明该input值是否能被用户修改,可用于信息展示等页面。作用于type为hidden、range、color、checkbox、radio、file、button的input将被忽略。

    6)、maxlength:type为text、emal、search、password、tel或url(都为文本)时允许输入的最大字符个数。

    7)、autocomplete:浏览器是否根据之前提交的输入情况提示之前输入的相似数据(即以option形式匹配之前的输入值),取值on或off,默认on。如在登陆页面不想显示上一个登录的用户名等时,可设置为off。


    所有html5新增的特性:https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/input#attr-placeholder

    例:

    <form id="form1" method="POST">
    </span><input type="text" name="name" />
    </span><input type="submit" value="提交">
    </form>
    <input type="image" name="number" form="form1" formmethod="GET" />
    
    上面的表单,实际提交时,将会在浏览器url看到提交了name="name"的input与name=”number“的input,且提交方式为GET。


    2、<select>与<option>:

    例:下面的拉下列表默认选中Back,未指定cheacked,则默认选中首个option。

    <select name="name">
    <option value="Bill">Bill</option>
    <option value="Back" cheacked>Back</option>
    </select>


    三、几点说明

    1、checkbox与radio:复选框与单选框。

    一组复选框或一组单选框类型的input,其name应相同,表明为一组。表单提交时,一组内多个选上的复选框,其键值对分开传递,可从浏览器url查看。一组radio同样name应相同,只能选择一个选项,作用等同于下拉列表。




    展开全文
  • form 属性 在 HTML 5 之前,所有的表单控件必须放在元素内部, ...通过为表单控件指定 form 属性, 可以让表单控件定义在 元素之外, 从而提高灵活性. 上面粗体字代码使用定义了一个多行文本域, 虽然它并不在元素
  • 代码如下 <input type="radio" ng-value="true" name="radio-test" ng-model="radioValue" /> 启用 <input type="radio" ng-value="false" name="radio-test" ng-model="radioVal
  • //使页面不可编辑  function disableOcx() {  var form = document.forms[0];  for ( var i = 0; i  var element = form.elements[i];... //部分元素可以编号 element.name 是元素自定义
  • form元素只是一个数据获取元素的容器,而容器内的元素称为表单控件。最常用的表单控件是input元素 accept、alt、checked、disabled、maxlength、name、readonly、size、src、type、value这11个属性是input元素的传统...
  • H5新增表单元素、控件

    千次阅读 2019-09-24 18:51:43
    • HTML5 增加了多个新的表单输入类型,这些新特性提供了更好的输入控制和验证,主要内容如下。 • ①email、②url、③number、④range • ⑤Date pickers (date, month, week, time, datetime, datetime-local) • ...
  • H5 button元素提交表单

    千次阅读 2016-08-10 08:45:08
    html lang="en"> head> meta charset="UTF-8"> title>button属性控制表单title> head> body> form id="myForm">form> p> label for="username">用户名:label> input type="text" name="usern
  • 常见的块状元素与内联元素 块状元素 内联元素 address – 地址 blockquote – 块引用 center – 居中对齐 dir – 目录列表 ...fieldset – form控制组 ...form – 交互表单
  • 在HTML文档中,表单用于在网页中收集用户输入的数据,负责数据采集功能,表单元素有如下标签。 定义一个表单,用于申明采集数据的区域范围。里面可以嵌套其他表单元素
  • layui 表单元素的选中问题

    万次阅读 2017-05-13 21:15:00
    layui 表单元素的选中问题layui对表单元素都作了美化,比如下拉列表,单选框,多选框.对表单美化后相应元素的操作,其实是在layui处理过后的div上操作,不能真的反映在原始我们编写的表单元素上.这也会出现一个问题,...
  • 这是表单元素的一个属性,可以用于表单验证,该属性主要利用validityState对象,描述元素的有效状态;validityState对象,代表元素是否通过验证,它提供了一些属性,可以用于描述指定元素的验证状态。 语法:表单...
  • HTML form表单新增元素

    千次阅读 2017-08-30 21:44:50
    相信大家对html中表单不陌生吧,下面我们来聊一下在H5里面表单新增的元素和废弃元素。 4表单相关新增元素和属性 4.1表单元素新增和废弃的属性  表单新增的属性可以分成2类: 提交类:提交给服务器设置的相关...
  • 如标题所述,新添加到表单内的表单元素如: 可以看到,是有验证代码的 class="easyui-validatebox" data-options="required:true,invalidMessage:'名称不能为空',missingMessage:'名称不能为空'" 新添加到表单中...
  • 常见的块状元素与内联元素 块状元素 内联元素 address – 地址 blockquote – 块引用 center – 居中对齐 dir – 目录列表 ...fieldset – form控制组 ...form – 交互表单
  • HTML 5新增表单元素(案例详解)

    千次阅读 2019-04-09 15:35:58
    datalist元素定义输入框的选项列表,选项列表是通过该元素内的option元素进行创建的。 该元素与input元素配合使用,来定义input可能的值。 要把这个datalist元素定义的选项列表绑定到输入框,将input元素的list属性...
  • 经常碰到需要控制表单元素输入的类型,然后每次总是百度,然后复制粘贴,特别浪费时间。 这里收集好方便直接使用。提供的方法非常简单使用直接嵌套在标签上使用,无需单独写js方法调用实现, 不能输入特殊字符 &...
  • CSS表单元素样式设置

    2019-04-17 00:16:05
    (1)表单由两部分组成,访问者在页面上可看见并填写的控件、标签和按钮的集合,以及用于获取信息并将其转化为可以读取或计算的的格式的处理脚本。 (2)表单创建,以form标签开始结束,开始和结束form标签之间是...
  • HTML5表单元素的新特性

    千次阅读 2017-08-12 00:11:50
    H5表单新特性 H5表单的新输入类型 H5表单新元素 H5表单新属性 H5表单验证
  • HTML5表单新增元素与属性 (续)

    千次阅读 2015-09-29 18:20:55
    在HTML5中,可以在标签内部放置一个表单元素,并且通过该标签的control属性来访问该表单元素。 示例代码如下: function setValue(){ var label = document.getElementById("label"); v
  • 这一节我们主要要学习的就是v-model指令,v-model用于表单元素上双向绑定数据。 常见的表单元素就是input textarea 单选按钮 双选按钮 下拉列表等。这里,我做了一个简单的注册表单信息提交demo,并将用户提交的...
  • vue 实现input表单元素的disabled

    万次阅读 2018-08-03 16:25:00
    场景 分析 解决 ... 一个API的账号体系增加一个checkbox控制API输出字段,但是有三个是伪控制,...重点是怎么在Vue组件中实现 checkbox的disabled, 哈 这个肯定是需要使用元素绑定的 Vue做这个操作可以实现dis...
  • CSS 表单元素对齐详解

    千次阅读 2015-08-28 10:45:22
    )下图是一些常用表单元素的最终显示效果以及最终代码,大家可以用不同浏览器看一下实际的效果(注:由于演示使用的12px的中文实际只有 11px高,而 IE下文本框等元素的高度是22px,一个是奇数,一个是偶数,所以这些...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 118,109
精华内容 47,243
关键字:

哪些元素是表单控制元素