Safari 中的 HTML5 日期字段和占位符文本

html5web developmentfront end technology更新于 2024/5/23 5:32:17

如果您想在网页中添加一个包含年、月、日的日期选择器,HTML5 为您提供了一个"date"字段。它是 <input> 元素中的一种类型。它在各种 Web 浏览器中都能正常工作,例如 Google Chrome、Internet Explorer 和 Firefox。这里我们将了解它在 Safari(同样也是 Web 浏览器)中的工作原理。

首先,我们来了解一下 Safari。

Safari

Safari 是 Apple 为其用户开发的一款图形 Web 浏览器。它本质上是一款开源软件,专为所有 Apple 设备设计。它主要基于 JavaScript 引擎运行。它具有强大的安全保护、丰富的自定义选项和更长的电池续航时间。就速度而言,它是世界上最快的浏览器。

HTML5 日期输入类型

HTML5 日期输入提供了一个简单的界面,用于选择完整日期格式(即 yyyy-mm-dd)的日期。

让我们通过一个例子来理解这一点。

示例

<html> <head> </head> <body> <form> <label for = "demo"> <input id = " demo" type= "date" name= "example" > </label> </form> </body> </html>

点击下拉图标后,会出现一个日历供您选择日期。

此处,

表单元素

HTML5 中的 <form> 元素用于创建一个容器,供用户输入信息。它由 <form> 标签表示。

表单元素的 action 属性定义了表单数据需要提交到哪里。

<form> 元素包含各种类型的 for 元素。它们包括 <input>、<label>、< button>、<output>、<textarea>、<select> 等。

语法

<form action= " "> </form>

示例

<body> <form> Enter Your Name <input type= "text" name= " username"> </form> </body>

标签元素

HTML5 的标签元素为输入元素提供标签。使用标签可以帮助用户更好地理解输入内容的描述。

label 标签用于表示标签元素。标签元素的 for 属性用于指定与该标签关联的表单元素的 ID。

语法

<label for = " "> </label>

示例

<body> <h2> Which type of games do you like? </h2> <form> <label for= "indoor" > <input id = "indoor" type= "radio" name= "indoor-outdoor "> Indoor </label> <label for= "outdoor"> <input id = "outdoor" type= "radio" name= "indoor-outdoor "> Outdoor </label> </body>

*单选按钮属于input类型。每个单选按钮都嵌套在其自己的label元素中。在这种情况下,选择单个单选按钮会自动取消选择同一组内的其他按钮,确保用户仅提供一个答案。

注意 - label元素的for属性应与input元素的id属性相同。

Input元素

input元素允许用户输入。它由<input>标签表示。它是一个自闭合元素;不需要闭合标签。它具有各种输入类型和属性。

输入类型

input元素的type属性指定用户输入的类型。 type 属性的值如下:

  • text − 文本格式输入。此为默认值。

  • checkbox − 用于可选择多个选项的复选框。

  • radio − 用于仅需选择一个选项的复选框。

  • color − 指定颜色控件。它允许用户在网页上选择颜色。

  • date − 用于选择完整日期格式的日期,即 yyyy-mm-dd。

  • button − 用于显示一个按钮,点击该按钮即可执行指定的功能。

  • datetime-local − 用于选择不带时区的日期和时间。

  • email − 用于输入电子邮件 ID。

  • file − 用于用户选择文件。

  • number − 用于输入数字。

input 元素的其他属性包括 name、id、required、min、max、placeholder、size、src。等等。

示例

<body> <form> <label for = "email"> Enter your email id<input type = "email" name = "information" id= "email" placeholder = "example@gmail.com"></label> </form> </body>

placeholder 属性

占位符是当用户未设置值时显示的表单元素的文本。

示例

<form> <label for= "name"> <input type = "text" placeholder= "username" id= "name"> Enter Your Name </label> </form>

占位符属性不支持 date 类型的输入元素。但是,它在 Safari 浏览器上可以正常工作,因为它不支持 date 类型的输入元素,这意味着该属性会被忽略,默认情况下只显示纯文本字段。

以下代码在 Safari 浏览器中可以正常工作 -

示例

<html> <style> input [type= ‘date’ ] :: after{ color: #fff; content: attr(placeholder); } </style> <body> <form> <input id = "dateofbirth" name = "mydate" value="" type= "date" placeholder= "yyyy-mm-dd"> </form> </body> <html>

<style> 标签用于编写 CSS 代码。

语法

Element {
   //要执行的代码
};

::after 是一个伪元素,用于在元素内容后插入一些内容。

结论

Safari 桌面版不包含原生的 datepicker,但 iOS 版包含。而 Chrome 和其他浏览器会显示日历来选择日期。不过,您可以为日期输入框添加 placeholder 属性(适用于 Safari)。placeholder 属性在支持日期类型的浏览器上不显示。


相关文章