CSS scroll-snap滚动事件停止及元素位置检测

2019年04月20日 by 张 鑫旭 阅读 7302 次, 今日 11 次

scroll snap头图

CSS Scroll Snap是个非常好用的特性,可以让滚动停止的时候,无需任何JS代码,自动平滑定位到指定元素的指定位置。但实际开发的时候,发现很多场景还需要知道滚动什么时候停止,以及到底滚动到哪个元素上,浏览器目前还没有原生的方法支持,需要我们使用JS进行辅助处理……

阅读全文…

如何disabled禁用所有表单input输入框元素

2019年04月5日 by 张 鑫旭 阅读 9081 次, 今日 10 次

禁用表单元素

经常会遇到需求,需要禁用div中或者form元素中一堆表单控件元素,那有没有什么简单方法轻松禁用所有表单元素呢,而且是真正意义上的禁用呢?

阅读全文…

CSS :focus-visible伪类让我感动哭了

2019年03月24日 by 张 鑫旭 阅读 9481 次, 今日 3 次

focus-visible缩略图

:focus-visible可以让我们知道元素的聚焦行为到底是鼠标触发还是键盘触发,从而可以更有效地控制浏览器中因为focus行为触发的outline轮廓样式,解决了我一个困扰我多年的难题。

阅读全文…

伪类匹配列表数目实现微信群头像CSS布局的技巧

2019年03月11日 by 张 鑫旭 阅读 9801 次, 今日 5 次

子元素数量不同布局效果也不一样,这样的需求还比较常见,其中借助CSS伪类,我们可以纯CSS判断子元素项的个数,从而智能实现我们需要的布局,无需额外的标签指定,很有意思。

阅读全文…

DOM小测28期 – DOM节点文档前后位置判断

2019年03月2日 by 张 鑫旭 阅读 5988 次, 今日 3 次

DOM小测头图

本题主要考察如何判断DOM节点文档前后位置,父子关系等。我看了下最后的回答,近9成的回答使用了非常啰嗦的方法,比例之高,实在出乎意料。实际上,本题答案只需寥寥数行,因为有原生的API,contains()可以判断节点是否有包含关系;compareDocumentPosition()可以判定任意位置关系。

阅读全文…

深入Node.compareDocumentPosition API

2019年03月2日 by 张 鑫旭 阅读 4929 次, 今日 1 次

DOM节点树位置对比头图

Node.compareDocumentPosition()方法可以用来对比两个HTML节点在文档中的位置关系,包括前后,父子,自身以及跨文档。不仅是DOM节点,文本节点,注释节点甚至属性节点的位置关系都可以判定,很强。

阅读全文…

link rel=alternate网站换肤功能最佳实现

2019年02月25日 by 张 鑫旭 阅读 17360 次, 今日 11 次

换脸换肤占位图

大多数前端开发人员实现网站换肤功能要么使用一个全局class控制样式切换,要么改变皮肤link元素的href地址。实际上,浏览器中有HTML属性原生支持网站换肤功能,兼容性好,语义化,体验也好,可谓是换肤功能最佳实现了。

阅读全文…

使用document.scrollingElement控制窗体滚动高度

2019年02月22日 by 张 鑫旭 阅读 9406 次, 今日 7 次

介绍一个更加兼容、更加标准的设置窗体滚动高度的方法,那就是document.scrollingElement,兼容性足矣在实际项目中应用。JS基础API,人人必须了解的特性,学到就是赚到。

阅读全文…

快速了解CSS新出的列选择符双管道(||)

2019年02月11日 by 张 鑫旭 阅读 9534 次, 今日 6 次

列选择符封图

列选择符是规范中刚出现不久的新选择符,写作双管道||,是两个字符,和JavaScript语言中的逻辑或写法一致,这个选择符可以让选择所有属于某一列的对应单元格,哪怕这个单元格元素横跨多列。

阅读全文…

写给自己看的CSS shapes布局教程

2019年02月2日 by 张 鑫旭 阅读 13833 次, 今日 3 次

CSS Shapes布局

本文详细介绍CSS Shapes布局,兼容性不错,移动端项目和中后台项目都可以使用,可以实现很多很棒的布局效果,需要和浮动配合使用。不仅支持基础图形,还支持PNG,SVG图像,以及渐变图形的环绕效果。是非常值得学习的一种布局方式。

阅读全文…