分享前端开发中这5个少见却有用的技术
为了让大家编程更轻松一些,挑选一些相对比较少见却有用的前端开发技巧。多余的话我们不多说,直接开车了。
1. 迅速定位
熟悉 inset
CSS 属性吗?它是 top、left、right 和 bottom 的缩写版本。与简写的margin
和padding
类似,我们可以在一行中设置一个元素的所有偏移量。
// Before div { position: absolute; top: 0; left: 0; bottom: 0; right: 0; } // After div { position: absolute; inset: 0; }
2.前端测网速
Chrome 浏览器提供了原始的 API navigator.connection.downlink
可以访问用户当前网络环境的网络带宽。
navigator.connection.downlink;
connection.downlink
返回的并不是用户当前环境的展示的网络传输速度,而是当前网络的带宽,官方说法是:返回以Mb/s
为单位的有效带宽,并保留该值为25kb/s
的最接近的整数倍。
例如,我在我家里 Chrome 浏览器控制台跑一下navigator.connection.downlink
这段语句,结果返回的是10
, 表示下载带宽是10M
的。
3.快速隐藏
要隐藏一个 DOM 元素,不需要 JavaScript。一个原生的 HTML 属性就足以隐藏。其效果类似于添加一个display:none;
。
该段落在页面上是不可见的,它对 HTML 是隐藏的。
不过,这个技巧对伪元素不起作用。
4. 禁止插入文字
当用户在浏览器用户界面发起“粘贴”操作时,会触发
paste
事件。
有时间,我想禁止用户从某个地方复制的文本粘贴到输入框中。通过监听paste
事件并调用其方法preventDefault()
,这可以很容易做到。
<input type="text"></input> <script> const input = document.querySelector('input'); input.addEventListener("paste", function(e){ e.preventDefault() }) </script>
5.禁止拉动刷新
CSS overscroll-behavior
属性允许开发人员在达到内容的顶部/底部时覆盖浏览器的默认溢出滚动行为。使用该案例包括禁用移动设备上的“拉动到刷新”功能,消除过度滚动发光和橡皮筋效果,并防止页面内容在模态/叠加层下滚动
body { overscroll-behavior-y: contain; }
这个属性对于组织模态窗口内的滚动也非常有用–它可以防止主页面在到达边界时拦截滚动。
码云笔记 » 分享前端开发中这5个少见却有用的技术