发布网友 发布时间:2022-04-19 21:50
共1个回答
热心网友 时间:2023-09-02 22:29
HTML5对于初学者甚至是非程序员来说都有着十足的吸引力。实际上,只要你访问网站,就会和HTML打交道。如果能够熟悉一些关键的编程技巧,当你对网站做一些细节调整或优化基本的Web元素时就能节省大量的时间(甚至是金钱)。因此,本文精选了10个对于Web开发者来说非常实用的HTML编程技巧,而且它们不需要花太多时间精力就可以轻松掌握。
1.可与本地缓存媒体资源交互
HTML5FileSystemAPI一开始被认为是AppCache的替代方案,用来实现资产的动态缓存。但是你知道吗,其实你还可以用它来实现与用户本地设备上存储文件的交互。
例如,你可以在应用中添加以下功能:
断点上传:将文件拷贝到本地沙盒中,然后分批上载。在发生连接中断,浏览器崩溃之后,可以重新开始上传操作。对于媒体密集的应用,如游戏,音乐播放器,照片编辑器,启用本地缓存。为内容查看创建离线模式,例如离线视频、电子邮件附件和文本等。注意:FileSystemAPI仅被Chrome支持。
如果你想尝试离线存储功能,还可以参考以下资源和代码教程:
EricBidelman:如何使用HTML5FileSystemAPI[1]。管理HTML5离线存储[2]。HTML5中的脱机文件:FileSystemAPI[3]。2.进行自动表单验证
对于网站安全性和流畅的用户体验来说,表单验证非常重要。所以我们应该让用户更轻松地在你的网站上输入各种正确类型的值。
在HTML5中有几种新的输入类型可用,这些类型已经打包进了预定义的验证功能:
'email''url''tel'但当你需要用户提供某些标准输入未指定的数据时(例如一个包含特殊字符的用户名),往往就会出问题了。这就是“pattern”属性派上用场的时候。
Pattern可让你定义自定义规则,然后使用正则表达式(RegEx)验证表单输入。RegEx指定了<input>元素值将要检查的表达式。
下面是一个添加新规则的示例。例如,你要指定密码不应超过15个字符,并且只能包含小写字母:
为了更好地说明规则,你还可以添加一条自定义消息,告诉用户为什么他们输入的密码不符合要求。只需再加上一行来自定义弹出消息即可:
3.为HTML5代码元素创建缩写
Emmet[4]是一个很好用的文本编辑器插件,可以简化你的HTML/CSS编码流程。这个工具使用的语法类似于CSS的选择器,可让你为标准HTML代码元素创建各种缩写。
下面是一个例子。如果你输入:
div#header>h1.logo>a{website}
则会收到:
<divid="header"><h1class="logo"><ahref="">website</a></h1></div>
你可以使用cheatsheet[5]中的多种已有组合,也可以为任意HTML标签创建自定义组合,然后按Tab或Ctrl+E将其添加到文本编辑器中。
4.实现更优的视频传输
使用video标签,可以将支持视频播放的媒体播放器无缝嵌入到网页中。
你可以选择:
使用getUserMedia()或WebRTC启用来自摄像头的实时流。使用src属性播放本地托管的视频:<videosrc="file.avi"/>。此外,你必须为视频指定“控件”(例如播放、暂停和音量调节),否则用户将没有任何控件可用。这里的示例代码如下:
<videowidth="768"height="432"autoplay<sourcesrc="video.mp4"type="video/mp4"></video>
为了进一步改善观看体验,你还可以尝试使用以下属性:
disablePictureInPicture[6]:禁止浏览器显示画中画上下文菜单或自动请求画中画。loop:提示浏览器在结束播放后自动重播视频。muted:自动使视频中的音频静音。poster:将自定义图像显示为视频缩略图。否则,浏览器将显示视频的第一帧作为缩略图。preload:向浏览器指示哪些参数将带来最佳的用户体验。你可以将它设置为none(无预加载要求);metadata:仅会预取视频元数据;auto:即使用户不希望观看整个视频,也要下载全部视频数据。注意:autoplay属性的优先级高于此属性。你可以在这个HTML速查表[7]中找到更多使用方便的多媒体文件标签。
5.改善图像的显示方式
<picture>标签有助于优化图像的显示方式。
它通常用于:
风格:指定媒体在不同情况下的显示方式(例如,为较小的屏幕装载较小版本的图像)。它是创建响应式设计的一个关键环节。提高速度:根据用户的屏幕规格指定图片所需载入的尺寸。Browser支持:在各种浏览器中提供不同的图像格式,以正确显示内容。示例:
<picture><sourcemedia="(min-width:846px)"srcset="img_1.jpg"><sourcemedia="(min-width:300px)"srcset="img_2.jpg"><imgsrc="img_3.jpg"alt="快速掌握HTML5必备技巧""html5css3基础教程""logo"></picture>
<picture>标签包含两个附加子元素:
<source>:指定媒体元素的媒体资源。<img>:定义一个图像。要启用其他样式选项,请将以下属性添加到<source>元素:
srcset(必需):使用它来定义图像的目标URL。media(类似于媒体查询):是一个条件,用户代理为每个<source>元素评估这个条件。sizes:指定宽度描述符。type:提供MIME类型定义。<img>元素可用来确保在不支持<picture>元素的浏览器中正确显示图像。
6.提升首屏页面的加载速度
如果你希望你的网站在搜索结果中获得靠前的排名,并提供出色的用户体验,那么就需要重点关注页面的加载速度。
但是,要在GooglePageInsights中拿到高分并不是那么容易。虽然这一工具的确会标出你的网站上应该修复的内容,但是对于从头开始对网站进行编码的人们并没有提供明确的优化指导。
谷歌对于首屏设计的官方建议[8]有些含糊不清:
调整你的HTML结构,以首先加载关键的首屏内容。减少你的资源使用的数据量。所以我们来将其分解为更可操作的几个步骤:
确保你的CSS是内联的。尽量减少、合并和消除不必要的外部CSS文件。自动减少阻碍渲染的CSS数据。使用CSS媒体类型和媒体查询,将某些CSS资源指定为非渲染阻碍类型[9]。将<content>部分放在<sidebar>之前。推迟加载JavaScript。生成可嵌入的字体数据以加快字体加载速度,并选择web安全的字体[10]。然后再次运行检查任务,看看是否还有需要修复的内容。
7.网站加速
只要将.zip文件而不是index.html文件发送给浏览器,就可以节省大量带宽和下载时间。
图片来自betterexplained[11]
要设置.gzip压缩,你需要在web主机/服务器上找到htaccess文件,并使用以下代码对其进行修改:
<ifMolemod_gzip.c>mod_gzip_onYesmod_gzip_dechunkYesmod_gzip_item_includefile.(html?|txt|css|js|php|pl)$mod_gzip_item_includehandler^cgi-script$mod_gzip_item_includemime^text/.*mod_gzip_item_includemime^application/x-javascript.*mod_gzip_item_excludemime^image/.*mod_gzip_item_excluderspheader^Content-Encoding:.*gzip.*</ifMole>
如果这样做不起作用,请参考下面这些针对不同web服务器类型的教程:
Apache: