Web开发人员都在广泛的使用HTML。无论你使用什么框架或者选择哪个后端语言,框架在变,但是HTML始终如一。尽管被广泛使用,但还是有一些标签或者属性是大部分开发者不熟知的。虽然现在有很多的模版引擎供我们使用,但是我们还是需要尽可能的熟练掌握HTML内容,就像CSS一样。 D0 o+ V. s% B0 z- P
前端开发中最好尽可能使用HTML特性来实现我们的功能,而不是使用JavaScript实现相同的功能,尽管编写HTML可能会是重复的和无聊的。许多开发人员每天都在使用HTML,但他们并没有尝试改进自己的项目,也没有真正利用HTML的一些鲜为人知的特性。下面这5个通过HTML标签/属性实现的功能虽然不常提及但也很有用。: _* u% V; a5 f9 d# j
注:所提到的标签和属性的兼容性需要大家根据实际场景来选取是否使用。 7 k4 ?4 t, w. z! I( p6 V一、图片懒加载4 I1 ^% z" W) U1 P5 I
图片懒加载可以帮助提升网站的性能和响应能力。图片懒加载可以避免立即加载那些不在屏幕中立即显示的图片素材,当用户滚动临近图片时再去开始加载。8 E. ?: z3 h H, L
换言之,当用户滚动到图片出现时再进行加载,否则不加载。这就降低了屏幕内容展示过程中的图片素材的请求数量,提升了站点性能。 & r$ x, o7 F. ~$ u* v6 m 往往我们都是通过javascript来实现的,通过监听页面滚动事件来确定加载对应的资源。但是在不完全考虑兼容性的场景下,我们其实可以通过图片文件添加loading="lazy"的属性来实现。 9 U- M, ]& Z- O' v N+ E. d
三、Picture标签 C( f8 C, A, y: F$ `
你是否遇到过在不同场景或者不同尺寸的设备上面的时候,图片展示适配问题呢?我想大家都遇到过。针对只有一个尺寸的图片素材的时候,我们往往可以通过CSS的object-fit属性来进行裁切适配。但是有些时候需要针对不同的分辨率来显示不同尺寸的图片的场景的时候,我们是否可以直接通过HTML来实现呢? 9 s, k' _2 \/ O* M# G" A HTML提供了<picture>标签,允许我们来添加多张图片资源,并且根据不同的分辨率需求来展示不同的图片。 3 b8 d' ?) E w8 g; N! Q( N" e
我们可以定义不同区间的最小分辨率来确定图片素材,这个标签的使用有些类似<audio>和<video>标签。* a- _9 ^+ G) ]' t2 c! S' r 四、Base URL" N" A# S+ Y. k* t7 }1 D; l9 S' T
当我们的页面有大量的锚点跳转或者静态资源加载时,并且这些跳转或者资源都在统一的域名的场景时,我们可以通过<base>标签来简化这个处理。例如,我们有一个列表需要跳转到微博的不同大V的主页,我们就可以通过设置<base>来简化跳转路径。 ; X" Y( e* h. K2 N. r$ M