原生details支持手风琴模式了!

1 月 8 日
阅读 5 分钟
1.1k
欢迎关注我的公众号:前端侦探最近details元素新增了一个name属性,如下别看这只是一个普普通通的属性,这可是带来了一个全新的模式,一起了解一下吧一、快速了解 details有些同学可能从来没有用过details这个标签,这里简单介绍一下。details通常和summary配合使用,天然支持展开收起的效果。例如 {代码...} 效果如下虽...
封面图

原生“跨组件”通信方式

2023-11-13
阅读 4 分钟
891
相信大家平时在vue或者react中都碰到过“跨组件”通信的需求,通常我们需要将数据放在一个公共的父级上,然后用context之类的方式传递下去,或者借用pinia这样的开源库去更好的管理这些数据。
封面图

借助 input range 实现图片对比功能

2023-07-31
阅读 4 分钟
4.1k
欢迎关注我的公众号:前端侦探之前在项目中做了一个图片对比的工具,演示如下有一些有趣的小细节,一起看看如何实现的吧一、布局布局比较简单,两张图片上下重叠在一起就行了 {代码...} 这里可以只给第一个图片设置绝对定位,有几个好处第1张图片层级自动就高了第1张图片仍在原处,也无需设置 left、top第1张图片不占空...
封面图

纯 CSS 实现带连接线的树形组件

2023-07-04
阅读 7 分钟
6k
之前在这篇文章(CSS 实现树状结构目录)中实现了一个树状结构,效果是这样的整个实现没有用到任何 JavaScript,非常巧妙,有兴趣可以回顾一下。不过有时候还需要那种带连接线的样式,这样看起来层级会更清晰,就像这样这是如何实现的呢?一起来看看吧~一、details 和 summary简单回顾一下,整体结构需要利用到 details ...
封面图

原生popover终于来了!

2023-05-29
阅读 5 分钟
3.7k
欢迎关注我的公众号:前端侦探提到 popover,相信大家都很熟悉,没错,就是组件库里经常见到的悬浮层(或者叫“气泡卡片”),比如 Ant Design现在,这个好用的特性终于在Chrome 114上正式支持了~下面花几分钟快速了解一下吧一、popover 属性其实这个名称以前叫做popup,后来才更改成了popover😂。popover是一个全局属性。...
封面图

你可能不需要JS!CSS实现一个计时器

2023-04-17
阅读 5 分钟
5.9k
CSS现在可不仅仅只是改一个颜色这么简单,还可以做很多交互,比如做一个功能齐全的计时器?样式上并不复杂,主要是几个交互的地方数字时钟的变化开始、暂停操作重置操作如何仅使用 CSS 来实现这样的功能呢?一起看看吧一、数字时钟的变化这个功能之前在这篇文章中有详细介绍,有兴趣的可以回顾一下还在使用定时器吗?CSS...
封面图

CSS 如何让auto height完美支持过渡动画?

2023-02-06
阅读 5 分钟
5.5k
欢迎关注我的公众号:前端侦探众所周知,高度在设置成auto关键词时是不会触发transition过渡动画的,下面是伪代码 {代码...} 效果如下如果希望展开时有过渡动画,例如这样通常是借助 JS 动态去获取元素的高度(还有些麻烦的,需要渲染后才能知道高度)。其实CSS 也有一个巧用max-height适配动态高度的解决方案,下面是伪...
封面图

你可能不知道的dialog弹窗

2023-01-30
阅读 6 分钟
1.8k
想必大家都知道 HTML5 中有 dialog 这样一个标签,顾名思义,就是“弹窗”。除了有良好的语义外,随着浏览器的不断更新迭代,还出现了许多你可能不知道的特性,快速了解一下吧~
封面图

快速了解 inert 属性

2022-10-11
阅读 3 分钟
4.6k
欢迎关注我的公众号:前端侦探介绍一个全新的、和用户行为息息相关的属性:inert。HTMLElement.inert - Web APIs | MDN (mozilla.org)有了这个属性,可以更加轻易地控制很多交互行为,花几分钟了解一下吧一、inert 是什么?inert是 HTMLElement 的一个布尔属性,意为"惰性",简单来说,可以禁用一切交互,包括鼠标点击、...
封面图

CSS transition 小技巧!如何保留 hover 的状态?

2022-09-27
阅读 6 分钟
8.7k
欢迎关注我的公众号:前端侦探通常情况下,hover 是无法保存状态的。鼠标移入触发额外样式,一旦移出就还原了 {代码...} 这就意味着,如果需要保留hover的状态,可能就不得不借助JS了,比如下面是某某书院的首页排行榜效果这里的主要交互有以下几个鼠标滑过触发选中态鼠标移出列表后仍然保留上一次的选中态(重点)默认...
封面图

如何让CSS计数器支持小数的动态变化?

2022-08-30
阅读 7 分钟
6.1k
最近在几篇文章中都用到了 CSS 计数器,可以将 CSS 变量通过伪元素content动态展示出来,还可以做出很多有趣的动画。有兴趣的可以先回顾一下之前的这几篇文章:
封面图

快速了解navigator API setAppBadge

2022-08-09
阅读 3 分钟
6.1k
欢迎关注我的公众号:前端侦探在很多客户端应用程序中,一般会通过应用图标的角标来显示当前消息的数量,例如其实,web 中也有类似的设定,花两分钟了解一下吧一、navigator.setAppBadge现在的navigator早已不是以前的navigator了,印象中的navigator通常用于获取设备的信息,浏览器发展这么多年,现在navigator也赋予了...
封面图

提升web输入体验!JS 如何自动配对标点符号?

2022-08-01
阅读 11 分钟
6.8k
欢迎关注微信公众号前端侦探温馨提示:在阅读本文之前,可以先回顾这篇文章:Web 中的“选区”和“光标”,有很多你可能不太知道的原生 API,以下内容是对该内容的实践运用在写作编辑中,有很多需要成对出现的标点符号,比如引号、括号、书名号等,如下所示:为了方便输入,某些输入法自带了标点自动配对功能。什么意思呢?...
封面图

动画合成小技巧!CSS 实现动感的倒计时效果

2022-07-11
阅读 6 分钟
8.6k
欢迎关注微信公众号: 前端侦探介绍一个 CSS 动画合成小技巧。先看效果这是一个非常“动感”的倒计时效果,通常在一些活动开场中比较常见,分析一下整个动画过程,不难发现,有以下几类动画数字的变化缩小和放大透明度变化不知道小伙伴能否观察出来呢?下面来一起来看看具体实现吧一、数字的变化先来看数字的变化。这个技...
封面图

CSS层级小技巧!如何在滚动时自动添加头部阴影?

2022-07-04
阅读 4 分钟
4.9k
在网页中,经常会用阴影来突出层级关系,特别是顶部导航,但有时候设计觉得没必要一开始就显示阴影,只有滚动后才出现。比如下面这个例子,注意观察头部阴影
封面图

视觉还原小技巧!CSS 实现角标效果

2022-06-27
阅读 4 分钟
5.5k
欢迎关注微信公众号: 前端侦探最近在项目中碰到一个这样的角标设计,如下像这种可以文字可变化,自适应大小的布局,自然首选 CSS 了~下面看看如何实现的(两分钟读完)一、圆角矩形和三角形从设计上可以拆分成两部分,一个圆角矩形和一个三角形假设 HTML 是这样的 {代码...} 圆角很好实现,border-radius就行,如下 {代...
封面图

CSS实现可拉伸调整尺寸的分栏布局

2022-06-20
阅读 6 分钟
7.5k
很多页面布局,特别是那种工具类的、比如编辑器、可视化平台等,为了充分的利用屏幕空间,都会提供拖拽调节各个分栏尺寸的功能,比如像 vscode
封面图

CSS 实现头像名称首字符自动占位

2022-06-06
阅读 5 分钟
4k
在 web 中经常会见到这样的设计,很多 UI 组件库也称之为 Avator 组件,也就是头像的意思,当头像未设置时,会显示名称的首字符充当默认头像,如下所示:
封面图

如何自定义 drag 样式

2022-05-23
阅读 5 分钟
6.6k
欢迎关注我的公众号:前端侦探在 web 中,图片默认是可以拖拽的,通常是一个半透明的预览图(下面简称“预览图”),如下这个预览图是系统自动生成的,一般无法进行自定义,但有时候会觉得拖拽的预览图尺寸太大了,不方便放置,例如在这种场景下这是一个拖拽图片保存的功能,需要将图片拖拽至指定区域触发保存操作。由于拖...
封面图

CSS 实现树状结构目录

2022-05-09
阅读 13 分钟
5.4k
如果用到了 Ant Design 这样的框架,那可以直接用现成的组件。如果没有用到这样的框架呢?其实纯 CSS 也是可以搞定的,下面看看如何实现的,还有很多你可能不知道 CSS 小技巧哦~
封面图

没有框架怎么办?原生 CSS + JS 实现一个标签输入框

2022-04-29
阅读 5 分钟
3.3k
欢迎关注我的公众号:前端侦探最近在项目中需要做一个标签输入框,还挺实用的,演示效果如下主要交互要求是这样的点击输入框可以输入内容按回车可以生成标签按退格键可以删除标签点击标签上的关闭按钮可以删除标签习惯了各种 react 框架或者UI库,大家有多久没接触没有原生开发了呢?有时候页面比较简单,没必要引入一个...
封面图

CSS 绘制一个时钟

2022-04-25
阅读 8 分钟
4k
欢迎关注微信公众号:前端侦探练习 CSS 一个很好的方法就是绘制各式各样的 UI,比如这样一个时钟?你也可以访问这个 CSS clock查看实际效果CSS 绘制这样一个布局有几个难点:环形排列的刻度环形分布的数字自动运行的指针下面就来一一实现它,相信能学到很多 CSS 绘制和动画的小技巧一、环形排列的刻度提到“环形”,可以想...
封面图

了解一下 ::target-text 选择器

2022-04-11
阅读 3 分钟
2.9k
欢迎关注我的公众号:前端侦探最近在 MDN 官网看到了一个从未见过的选择器,::target-text。简单研究了一下,觉得还有点意思,也有点实际用处,现在分享一下。一、::target-text 是干什么的想必大家都用过:target这个选择器,可以很方便的从URL中匹配到页面上的内容,并且实现锚定定位。比如文档目录上经常看到这样的但...
封面图

还在使用定时器吗?CSS 也能实现电子时钟

2022-04-06
阅读 5 分钟
8.9k
欢迎关注我的公众号:前端侦探通常要做一个时钟,肯定离不开 JS 定时器。今天换一种思路,用 CSS 来实现一个时钟,如下:你也可以访问这个CSS time (codepen.io)查看实际效果当然借用了一点点 JS 用于初始化时间,整个时钟的运行都是由 CSS 完成的,有很多你可能不知道的小技巧,一起看看吧一、数字的变换先看看数字是如...
封面图

CSS 也能自动补全字符串?

2022-03-21
阅读 5 分钟
7k
欢迎关注我的公众号:前端侦探很多时候都会碰到字符串补全的需求,典型的例子就时间或者日期中的补零操作,例如 {代码...} 通常的做法是 {代码...} 后来,JS 中出现了原生的补全方法padStart()和padEnd(),如下 {代码...} 其实呢,在 CSS 中也是可以实现这样的效果的,并且有多种方案,下面一起看看吧,相信能有不一样的...
封面图

Web 中的“选区”和“光标”

2022-02-24
阅读 13 分钟
11.8k
在 web 开发中,有时不可避免会和“选区”与“光标”打交道,比如选中高亮、选中出现工具栏、手动控制光标位置等。选区就是用鼠标选中的那一部分,通常是蓝色
封面图

使用 button 的 5 个理由

2021-12-06
阅读 4 分钟
3.2k
button 是平时使用最广泛的一个 HTML 元素了,只要有点击交互的地方都推荐使用这个。但是,仍然有大部分网站使用的还是div,比如某博,所到之处几乎都是 div
封面图

CSS 自适应内容宽度的输入框

2021-11-29
阅读 3 分钟
5k
通常我们见到的输入框都是宽度固定的,但有时也会碰到自适应内容宽度的,像这样目前我所知道的有两种方式,相信不难找到给普通 div 标签设置 contenteditable="true",设置 inline-block 以后,就可以自适应内容宽度了将 input 的输入内容同步到一个透明的 div ,父级宽度跟随 div 的宽度,然后设置 input 为绝对定位并...
封面图

CSS 实现搜索相关交互

2021-11-02
阅读 5 分钟
2.9k
先来看一个很常见的搜索框的交互,大概逻辑如下当输入框有内容才显示清除按钮点击清除按钮输入框会清空当输入框有内容并且处于聚焦情况下才显示搜索结果浮层点击搜索条目后关闭整个搜索结果浮层示意如下看着逻辑好像很多的样子,其实也是可以纯 CSS 实现的,花两三分钟一起看看吧一、输入框清除按钮的交互首先来看原生的...
封面图

CSS 实现文本"不定行数"截断

2021-10-25
阅读 4 分钟
4.9k
偶然发现,在某乎热榜页有一个很有意思的布局,这里的标题会制约内容的行数,所以文本超出是"不定行"的。详细规则如下:整个容器高度是固定的,标题和内容总共 3 行标题最多2行,超出省略内容由剩余空间决定,如果标题占2行,则内容超出1行省略;如果标题占1行,则内容超出2行省略是不是很灵(离)活(谱)的交互?可以...
封面图