你可能不知道的一些 HTML 属性

html 属性非常多,或许大家对于一些常见的属性非常了解,但是还有一些不常见但是很实用的属性有的小伙伴可能就不太清楚了。本篇文章将为大家介绍一些不常见但是很有用的 html 属性,相信大家看完之后一定会有所收获

inputmode

inputmode 属性可以定义 input 或者 textarea 元素弹出键盘的类型。这对于移动端开发还是很实用的,比如

js 复制代码
//数字键盘numeric
<input type="text" inputmode="numeric" />
//手机号键盘tel
<input type="text" inputmode="tel" />
//邮箱 email
<input type="text" inputmode="email" />
//链接 url
<input type="text" inputmode="url" />
//邮箱 email
<input type="text" inputmode="email" />
//搜索 search (键盘会出现Go/确认/Return)
<input type="text" inputmode="search" />
//等等

poster

poster 属性一般用于 video 标签,用于设置视频的预览图,如果不设置则取视频第一帧展示

html 复制代码
<video src="xxx.mp4" poster="preview.png"></video>

multiple

multiple 通常用于 input 标签文件选择时候的多选功能,如

html 复制代码
<input type="file" id="files" name="files" multiple />

除此之外,还可以用于 select 标签多选,如

html 复制代码
<label for="cars">请选择一个汽车品牌:</label>

<select name="cars" id="cars" multiple>
  <option value="audi">奥迪</option>
  <option value="byd">比亚迪</option>
  <option value="geely">吉利</option>
  <option value="volvo">沃尔沃</option>
</select>

accesskey

accesskey 用于规定快捷键,用于激活/聚焦元素,比如下面一个超链接

html 复制代码
<a href="https://juejin.cn/" accesskey="j">JueJin</a>

如果你的浏览器是谷歌的话,直接按下 alt+j 就会跳转到掘金链接。当然,激活 accesskey 的操作取决于浏览器及其平台,如下图所示

tabindex

tabindex 可以指示其元素是否可以聚焦,以及它是否/在何处参与顺序键盘导航(通常使用 Tab 键,因此得名)。如下面代码

html 复制代码
<input tabindex="2" type="text" />
<div tabindex="0">可以聚焦的div</div>
<input tabindex="1" type="text" />

当按 tab 键的时候它们会按照 tabindex 顺序聚焦

download

download 一般用于 a 标签中,可以让浏览器直接进行下载,而不是展示链接内容,比如:

html 复制代码
<a href="./a.jpg" download>下载</a>

点击就会下载a.jpg,如果你想改变下载文件名,可以这样写

html 复制代码
<a href="./a.jpg" download="b.jpg">下载</a>

这样下载的文件名就改变了

注意: download 如果下载跨域资源的话会失效

dir

dir 是一个指定元素中文本排版方向属性,它的取值如下

  • ltr,指从左到右,用于那种从左向右书写的语言(比如英语)
  • rtl,指从右到左,用于那种从右向左书写的语言(比如阿拉伯语)
  • auto,根据文字自动判断书写方向

如下用法

html 复制代码
<p dir="ltr">从左往右的文本方向</p>
<p dir="rtl">从左往右的文本方向</p>
<p dir="auto"> اتجاه النص من اليسار إلى اليمين </p>
<p dir="auto"> 从左往右的文本方向</p>

translate

translate 属性用于指定元素是否可被浏览器翻译,比如你想阻止浏览器翻译你的品牌名字可以设置为 no

html 复制代码
<p translate="no">Chicken Is Beautiful</p>

contenteditable

contenteditable 可以指定元素可以进行编辑,如

html 复制代码
<div contenteditable="true">此元素可编辑</div>

此时这个元素就能编辑了

spellcheck

用于检测元素内容是否有拼写的语法错误,注意这个元素需要设置可编辑contenteditable=true或者是 input,textarea 等可编辑元素

js 复制代码
<div contenteditable="true" spellcheck="true">
  what ar you doing
</div>

loading

对于图像加载我们通常会有这样的要求,即当页面滚动到图片与视口底部交汇时才加载图片,没错这就是我们常说的懒加载。而 loading 属性则是为了处理懒加载而生的。我们将其设置为 lazy 便实现了懒加载

html 复制代码
<img src="./a.png" loading="lazy" alt="" />

关注公众号web前端进阶,每天带你进步一点点~

相关推荐
qq_364371721 分钟前
Vue 内置组件 keep-alive 中 LRU 缓存淘汰策略和实现
前端·vue.js·缓存
y先森1 小时前
CSS3中的弹性布局之侧轴的对齐方式
前端·css·css3
new出一个对象4 小时前
uniapp接入BMapGL百度地图
javascript·百度·uni-app
你挚爱的强哥5 小时前
✅✅✅【Vue.js】sd.js基于jQuery Ajax最新原生完整版for凯哥API版本
javascript·vue.js·jquery
y先森6 小时前
CSS3中的伸缩盒模型(弹性盒子、弹性布局)之伸缩容器、伸缩项目、主轴方向、主轴换行方式、复合属性flex-flow
前端·css·css3
前端Hardy6 小时前
纯HTML&CSS实现3D旋转地球
前端·javascript·css·3d·html
susu10830189116 小时前
vue3中父div设置display flex,2个子div重叠
前端·javascript·vue.js
IT女孩儿7 小时前
CSS查缺补漏(补充上一条)
前端·css
吃杠碰小鸡8 小时前
commitlint校验git提交信息
前端
emmm4598 小时前
html兼容性问题处理
html