首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

【CSS】381- 提升你CSS选择器技巧

我已经使用CSS多年了,但直到最近我才深入研究了一下CSS选择器。 我为什么要这样做呢?...(codepen链接:https://codepen.io/dgwyer/embed/ELMoNK) 下面的伪类选择器可以匹配输入值是否有效,以及在提交表单之前检查必填项是否填写。...(codepen链接:https://codepen.io/dgwyer/embed/qYvpMP) 工作电子邮件地址是必填项,并且要求填写正确有效;个人工作电子邮件地址不是必需,但如若填写,需正确有效...最后, :placeholder-shown 匹配占位文字处于显示状态元素,当输入内容后,占位文字不再显示时,该元素将不会被匹配;应谨慎使用此选择器,因为它尚未得到广泛支持。...(codepen链接:https://codepen.io/dgwyer/embed/JvzwJE) 咋一看,内容样式是无序纷杂;你在使用这些类型选择器时要小心,因为你可能得到你没想到结果。

1K40

【CSS】205-CSS“层”峦“叠”翠

demo1: https://codepen.io/verymuch/pen/jdNwOW/ 如上所示,z-index为2元素并没有显示在第二个元素上面。这似乎很奇怪,那到底是为什么呢?...即: 根元素背景和边框 非定位后代块元素,按照在HTML中出现顺序进行堆叠 浮动块 定位后代块元素,按照在HTML中出现顺序进行堆叠 我们稍微修改下示例2中代码,将DIV#1和DIV#3改为浮动元素...demo5: https://codepen.io/verymuch/pen/PVoOoX/ 三、使用z-index自定义堆叠顺序 以上是CSS中对于各类元素默认排序,那我们能否自定义排序呢?...这也解释了本文开头例1为什么不生效了。因为z-index对普通元素没有效果。 如下例6,我们修改了例2中元素z-index。 我们会发现DIV#5和DIV#6并不受z-index影响。...demo7: https://codepen.io/verymuch/pen/QYbPvN/ 示例7中,堆叠上下文层级结构如下: root DIV#1 DIV#2 DIV#4 DIV#5 DIV#6

1K20

括号匹配算法JS简单实现

完整示例 See the Pen 括号匹配算法演示 by 戴兜 (@DaiDR) on CodePen....花了大概一早上写了这个示例,没有使用任何第三方库,完成度也算是比较高,除本文所讲括号匹配算法有效性判定算法以外,涉及不依赖覆盖层canvas点击位置判定、canvas绘制文字间距自定义,蛮有意思。...} 但在出现括号嵌套时,事情似乎变得复杂了起来—— ((1))((2))((3)) 最先出现在 ) 左侧 ( ,可能不再是与其对应括号了。...不过,最内层那对括号(即示例中最靠近数字那几对),似乎依然符合我们之前所找到规律。 既然最内层括号依然能够被匹配,似乎也不是无药可救。既然数字能够被跳过,内部嵌套括号也应该可以被跳过才对。...有效性判定 我们没有办法保证每次匹配字串都是有效,像 )()((()()( 这种情况可能就会抛出错误。所以在匹配前对字符串进行简单校验是必要。 如何校验?

5.2K50

一次性把所有普通和经典网页布局讲得通通透透,多图预警,建议收藏

这是因为我们示例中通过grid-template-areas来声明网格,在使用grid-template-areas创建网格时,其实也隐式创建了网格线,只不过他和grid-template不同是grid-template...在使用CSS Grid布局模块实现12列网格布局,将会运用到repeat()、minmax()、gap和fr等特性。具体来看一个示例吧。 <!...上面的示例使用Firefox浏览器,你看到效果如下: 在CSS Grid布局中,就可以直接使用gap: body { padding: 1vh; } .grid__container {...它们之间: 如果VAL在MIN和MAX之间,则使用VAL作为函数返回值; 如果VAL大于MAX,则使用MAX作为函数返回值; 如果VAL小于MIN,则使用MIN作为函数返回值 我们来看一个示例:...宽度不会大于500px(有点类似于元素设置了max-width: 500px) 首选值VAL为50vw,只有当视窗宽度大于200px且小于1000px时才会有效,即元素.element宽度为50vw

5.6K10

这 12 个实用 HTML标签(组件)建议尽早用上

,这时你可以使用 标签来强调你用内容,示例效果如下所示 示例地址:https://codepen.io/madarsbiss/pen/JjyPQBd 三、音频播放器(Audio...,我们还可以使用 标签调用视频组件,示例效果如下所示: 示例地址:https://codepen.io/madarsbiss/pen/BadBgxJ 五、折叠组件(Accordion)...,主要应用在数值范围筛选上,方便用户进行选择,这时我们可以使用 ,我们可以设置最小值、最大值以及当前值,示例效果如下所示: 示例地址:https://codepen.io...Bar) 进度条组件也是个很常见组件,你可以使用 标签就能轻松完成相关外观设置,示例效果如下: 示例地址:https://codepen.io/madarsbiss/pen...,这时我们可以使用 title 属性就能轻松实现,示例效果如下所示: 示例地址:https://codepen.io/madarsbiss/pen/VwzwZvE 结束语 今天文章就分享到这里,希望在日后项目中你能想起今天分享

87130

又一个前端框架 - dagger.js

dagger.js 采用去组件去 api 设计,没有对第三方代码或工具依赖,模型简单,易于理解。与当前主流前端框架相比,使用整体学习和使用成本更低。...示例链接:https://codepen.io/dagger8224/pen/wvmgRyj 指令综合示例 2 下面的示例代码演示了控制指令 each 和 checked 使用: <label $each...示例链接:https://codepen.io/dagger8224/pen/PoRpROq 各种指令更详细定义和使用方法参见官网文档 。...示例链接:https://codepen.io/dagger8224/pen/zYRQrwP 路由对象字段内容可以在下面的示例中查看: 示例链接:https://codepen.io/dagger8224...示例链接:https://codepen.io/dagger8224/pen/QWmwaLq 3D Carousel 示例链接:https://codepen.io/dagger8224/pen/

2.5K20

8 个 DOM 功能

这是一个 CodePen 演示,演示了如何使用 setTimeout(): CodePen:https://codepen.io/impressivewebs/pen/PgoNEj 单击该按钮时,将会使用传入两个值进行计算...演示,它将显示当前选中单选按钮或默认选中单选按钮,具体取决于你所使用按钮: CodePen:https://codepen.io/impressivewebs/pen/qwWoOr 该示例 defaultChecked...这是一种在 DOM 中移动元素简单方法。 这是使用 insertAdjacentElement() CodePen 演示。...点击按钮可以有效地“移动”目标元素: CodePen:https://codepen.io/impressivewebs/pen/MRjOpj insertAdjacentText()方法工作方式类似...(e.detail); 4}, false); 我已经设置了一个 CodePen 演示,演示了使用许多不同事件结果: CodePen:https://codepen.io/impressivewebs

1.8K20

关于 CSS 反射倒影研究思考

火狐浏览器 element() + mask 用 element() 制作反射 element() 函数(现在仍然有效,必须在火狐浏览器中使用并且添加 -moz- 前缀)给我们提供了一个像真实图片一样可以任意使用图像值....5)') stop(offset='50%' stop-color='#e18728') stop(offset='50%' stop-color='#d14730') 编辑注:我问 Ana 为什么她现在要使用...它方法及代码和之前都是一样,我们不再赘述。...遗憾是,我们不能在第二个 loader 元素上使用 mask ,因为它只在跨浏览器 SVG 元素上有效。Edge 目前还不支持 HTML 元素遮罩效果,但是你可以给官方提建议。...这样一来我们就不能使用图片背景了。渐变背景只在纯色背景或者有限情况下才有效。我们在第二个 loader 元素 ::after 上添加渐变背景并且设置大一点,这样就不会挡住旋转竖条。

2.4K90

给单元素艺术添加动画

通过学习作者编写复杂“单元素”示例,相信你对 CSS 变量以及 CSS 动画会有一个深刻认识。 如果你深入挖掘你工具,你可以使用最基本 HTML 做一些令人称奇东西。...在继续阅读本文之前,可以先看看 Lynn Fisher 这篇文章 她为什么以及如何制作单元素艺术 。 很少使用单个 div 元素做动画。...为了说明这一点,我们将使用多个动画方法来分解下面的示例: See the Pen Single Div Accordion (Animated with CSS Variables) by Dan Wilson...(@danwilson) on CodePen....举一个简单例子,这里有一个“像素艺术”示例使用这种方法,眼睛和眉毛将会在兼容浏览器中移动。在其它浏览器中只显示一个静态图像。这一方法代码量最少,但是兼容性最差。

1.4K50

前端-CSS Grid中陷阱和绊脚石

这篇文章目的是回答其中一些问题,并且将会是Smashing Magazine中有关于CSS Grid一系列文章中一篇。 为什么使用CSS Grid而不是CSS Flexbox?...这里有一个简单示例,突出其区别。第一个布局使用Flexbox,为了能尽可能多使用盒子,以适合可用宽度。这里我们控制了整个行中布局。...DEMO1:https://codepen.io/airen/pen/mxOdYE 第二个示例使用CSS Grid实现相同布局,但是,你可以看到,最后一行中项目始终保持在它们列中。...DEMO2:https://codepen.io/airen/pen/qoqBGe 你还可以在第二个示例中看到,在CSS Grid布局中,我们不需要向网格添加任何内容来进行布局。...例如min-content关键词示例使用它创建一个网格轨道时,将会创建尽可能小网格轨道。 在我例子中,这个词意味着其成为最宽东西,网格轨首缩小以适应它。

4.8K20

你可能不知道 CSS 滤镜技巧与细节

常用用法 既然是标题是你所不知道技巧与细节,那么比较常用一些用法就不再赘述,通常我们见得比较多 CSS 滤镜用法有: 使用 filter: blur() 生成毛玻璃效果 使用 filter: drop-shadow...当然,背景色不一定是白色,我们稍稍修改上面的Demo,简单示意图如下: 燃烧火焰 好,上面介绍完原理,下面看看使用这个效果制作一些强大 CSS 效果,其中最为惊艳就是使用融合效果制作生成火焰...这里会有个很大疑问,增加了 filter: blur(20px) contrast(30); 之后,为什么纯色黑色和黄色中间,生成了一条红色边框?...滤镜动画需要大量计算,不断重绘页面,属于非常消耗性能动画,使用时要注意使用场景。...记得开启硬件加速及合理使用分层技术; blur() 混合 contrast() 滤镜效果,设置不同颜色会产生不同效果,这个颜色叠加具体算法本文作者暂时也不是很清楚,使用时比较好方法是多尝试不同颜色

70410

CSS奇思妙想 -- 使用 background 创造各种美妙背景

CodePen Demo - Repeating-linear-gradient background & mix-blend-mode 尝试不同 mix-blend-mode 那为什么上面使用是...这里仅仅只是一个示例,mix-blend-mode: multiply 在 PS 中意为正片叠底,属于图层混合模式变暗模式组之一。...可以点进去尝试一下,点击鼠标即可随机生成不同效果: CodePen Demo -- CSS Doodle - CSS MIX-BLEND-MODE Background 尝试使用径向渐变 当然,上面使用是线性渐变...CodePen Demo -- CSS Doodle Mix Gradient ---- 感谢坚持,看到这里。上述上半部分主要使用混合模式,接下来,下半部分,将主要使用 mask,精彩继续。...下面两个 DEMO 也是综合运用了上述一些技巧示例,仿佛一个个手机壳图案。 ? CodePen Demo -- CSS Doodle - CSS MASK Background 2 ?

1.2K30

探索Angular 1.3 单次绑定(one -time bindings)

这能够实现是因为当digest循环触发之后,Angular驱动当前作用域及其子作用域中所有的监控器检查所有的模型变化并调用专门监听函数直到模型值不再变化并且没有任何监控器被触发。...下面是例子: See the Pen EIyAi by yijian166 (@yijian166) on CodePen....太多监控器所带来问题 现在知道了Angular中数据绑定工作机制,我们或许会惊讶为什么还需要单次绑定(one-time binding)这个功能。...来让我们看看官方文档说法: 单次表达式(One-time expressions)将会在他们初次稳定也就是在初次digest之后不再被重新计算…… 这就解决了我们上面所提到问题。...还记得吧,我们将按钮设置为更新name为Christioph,好,让我们试一试: 代码示例: See the Pen CDmKr by yijian166 (@yijian166) on CodePen

3K10

几个关于js数组方法reduce经典片段

以下是个人在工作中收藏总结一些关于javascript数组方法reduce相关代码片段,后续遇到其他使用这个函数场景,将会陆续添加,这里作为备忘。...javascript数组那么多方法,为什么我要单挑reduce方法,一个原因是我对这个方法掌握不够,不能够用到随心所欲。另一个方面,我也感觉到了这个方法庞大魅力,在许多场景中发挥着神奇作用。...arr.reduce([callback, initialValue]) 关于reduce用法,这里不再做多述,可以去这里查看 看如下例子: let arr = [1, 2, 3, 4, 5]; /...,比较对象中是否存在相同键值值,然后通过逗号表达式把赋值后对象赋给下一个初始值 See the Pen reduce pick by 糊一笑 (@rynxiao) on CodePen....,然后使用reduce在原数组中删除符合条件值,可以得出最后arr值变成了[1, 3] See the Pen reduce remove by 糊一笑 (@rynxiao) on CodePen.

2.1K100

Astro是2023年最好web框架,原因如下

免费体验 Gpt4 plus 与 AI作图神器,我们出钱 体验地址:体验 以下解释是全面理解为什么 Astro 在2023年成为最佳 web 框架所必需。...是的,所有事情,甚至包括简单基于内容网站... 这当时导致了两个大问题: 后端框架开始针对REST AP I响应进行优化,而不再渲染HTML。...使用AlpineJS或Vue-petite这样令人惊叹东西,它们是即插即用,并且只发送少量JS。...现在 Astro 还支持SSR,这意味着它也可以像一个简单后端框架一样运作,配备有目前最优秀模板引擎。 结论:为什么Astro是2023年最佳Web框架?...希望以上所有内容都让你对Astro创建目的以及为什么它是2023年面向基于内容网站最佳Web框架有了一个很好了解。

19310

Vue.js 系列教程 1:渲染,指令,事件

例子开始。运行如下示例: {{ text }} Nice to meet Vue....使用普通 JS (需要 Babel) ,我们会这样做: 创建一个数组,然后创建一个空字符串,用来存放使用 包裹元素,再用 包裹所有内容,使用 innerHTML 方法添加到 DOM...提交时不再重新加载页面 @click.once 不要和 v-once 混淆,这个 click 事件只触发一次 v-model.lazy 不会自动填充内容,它将在事件发生时绑定 你也可以 自定义指令...你也可以使用 watch 。两者区别是 methods 适合小、同步计算,而 watch 对于多任务、异步或者响应数据变化时开销大操作是有利。我经常在动画中使用 watch 。...在以下例子中,我们使用 hsl(),因为 hue calculated as a circle of degrees of color ,所以每一个位置都有色值。这种方法很有用,因为任何数值都有效

2.7K90
领券