本文为译文,采用意译。
CSS
大约有两百个属性。很多属性都是相互关联的,理清楚每一个属性细节是不可能的。所以,本文分享一些有用的 CSS
小技巧,方便开发者和设计师参考。
Typing-effect-for-text.gif
网页设计变得越来越有创意。在 CSS
动画的协调下,你的网页会像活的一样。在这个例子中,我们将使用 animation
和 @keyframes
属性去实现打字效果。
具体来说,在这个演示中,我们通过 steps()
属性来实现分割文本的效果。首先,你必须指定 step()
中传入的数量,在这个例子中就是文本的长度。
接着,第二步,我们使用 @keyframes
去声明什么时候开始执行动画。
如果你在文本
Typing effect for text
后面添加内容,而不改变step()
中的数字,将不会产生这种效果。
这种效果并不是特别新鲜。然而,很多开发者却使用 JavaScript
库去实现,而不是使用 CSS
。
代码片段
Shadow-for-transparent-images.png
你是否使用过 box-shadow
为透明的图片添加阴影,却让其看起来像添加了一个边框一样?然而解决方案是使用 drop-shadow
。
drop-shadow
的工作方式是,其遵循给给定图片的 Alpha
通道。因此阴影是基于图片的内部形状,而不是显示在图片外面。
代码片段
Set-a-custom-cursor-with-CSS.gif
你不需要强迫你站点访问者使用独特的光标。至少,不是出于用户体验的目的。不过,关于 cursor
属性要说明的是,它可以让你展示图片,这相当于以照片的格式显示提示信息。
一些用户案例,包括比较两个不同的照片,你无需在视图窗口渲染这些照片。比如:cursor
属性可以用在你的设计中,节省空间。因为你可以在特定的 div
元素中锁定特定的光标,所以在此 div
这外可以无效。
目前尝试对图片的大小有限制,读者可以自行更改验证
代码片段
CSS-tooltip-using-attr-property.gif
attr()
属性是我最近发现的,且是最得意的发现。我本打算为我的站点添加 tooltip
的功能,但是发现需要引入一个插件,这就引入了不必要的东西,让我的站点看起来臃肿。感谢的是,可以使用 attr()
来避免这种情况。
attr()
属性工作的方式很简单,我逐步解析一下:
tooltip class
去标志哪个元素需要展示 tooltip
信息。然后为该元素添加你喜欢的样式,这个方便演示,我们使用了 dotted border-bottom
的样式。:before
伪元素,它将包含内容 content
,指向特定的 attr()
。这里指 attr(tooltip-data)
。:hover
伪类,当用户鼠标移动道元素上时,它将设置 opacity
为 1
。此外,你可以包含自定义的样式。这取决于你设定的 tooltp
的数据,你也许需要调整其宽度或者边距。一旦你设定了 tooptip-data arrt()
类,你可以在你设计的其他部分应用。代码片段
Item-Checklist-with-CSS.gif
正如我开头所说的,CSS
正逐步成熟。这个动态清单的演示就是一个很好的例子。
我们使用 checkbox
输入类型,加上一个 :checked
伪类。当 :checked
返回 true
的情况时,我们使用 transform
属性更改状态。
你可以使用这种方法实现各种目标。比如,当用户点点击指定的复选框时候,切花到隐藏其内容。在输入 input
类型的单选和复选框使用,当然,这也可以应用到 <option>
和 <select>
元素。
代码片段
:is()
和 :where()
添加元素样式CSS-is-and-where-properties.png
现代 CSS
框架运行的一种方式是通过使用条件逻辑选择器。换言之,:is()
和 :where()
属性可以用于同时设置多种设计元素的样式。但是,更重要的是,你可以使用这些属性去查询你需单独处理的元素。
下面的 CSS
片段是一个小案例,你可以通过 MDN
学习更多关于 :is()
和 :where()
的内容。
代码片段
Accordion-dropdown-using-keyframes.gif
JavaScript
库,比如 jQuery, Cash
等,即使你想使用一个简单的缩放功能,你都要整个引入。幸运的是,很多 CSS
技巧能够避免这种引入。比如下面的手风琴片段代码。
如果你认真看下当下 web
设计的趋势,你会发现在登陆页面就会发现手风琴这种设计效果。这是一种简缩内容的方式,以节省设计空间。常见问题解答,产品功能,使用提示等功能,都可以放在手风琴内实现。下面是纯 CSS
代码片段对其的实践。
代码片段
Hover-effect-sidebar.gif
有没有可以使用 CSS
就可以实现一个动态 Hover
效果的侧边栏呢?当然,这得多亏 transform
和 :hover
属性。
为了兼容性,我在多种移动端中进行测试,感觉还不错。虽然这种效果在桌面中使用比在移动端中使用顺畅。
在这个练习案例中,使用 position: sticky;
创建一个吸附的侧边栏,其工作的效果良好。
代码片段
letter-dropcap-using-css.png
在 CSS
中,可以选择确定的 first-of-type
元素。在这个例子中,我们使用 ::first-letter
伪类去实现首字母大写的效果。这个类可以让我们更自由的添加样式。所以,你可以调整大写字母的样式以符合你的站点设计风格。
说到这个属性,你可以使用它干很多事。当特定元素在页面中第一次出现,我们可以使用 first-of-type
单独进行添加样式。但是,正如下面代码展示,尽管元素已经出现过,你依然可以使用在多个元素上。
代码片段
Add-an-icon-before-buttons-using-CSS.png
每当我需要链接到外部其他资源的时候,我都会使用自定义的按钮来实现。准确来说,是一个添加图标的按钮。简单的谷歌搜索,你会发现很多 button generators
,但是我对可以随时使用的通用解决方案更感兴趣。
所以,为了实现这个目标,我为特定按钮创建了一个 :before
伪元素。需要声明的是,代码片段中的 content:"\0000a0";
是
的 Unicode
转义。
你可以通过宽高属性来调整图标的尺寸,以更好适应按钮样式。
代码片段
最重要的一点,这些 CSS
技巧凸显了不使用 JavaScript
来实现功能的潜力。你可以使用上面这些小技巧,应用在你的设计上。事实上,很多这样的例子可以混合使用,以创作自由风格的设计。
当然,这还需要更大的进步空间。我不建议单纯的这些小技巧就低估了框架和库的使用。。
但是,不需要写冗长的 JavaScript
函数,通过 CSS
来实现设计的效果正走在路上。
原文:10 Useful CSS Tricks for Front-end Developers[2]
【完】✅
本文由哈喽比特于2年以前收录,如有侵权请联系我们。
文章来源:https://mp.weixin.qq.com/s/HlKgX4SSC1_CYLiR4KuNLw
京东创始人刘强东和其妻子章泽天最近成为了互联网舆论关注的焦点。有关他们“移民美国”和在美国购买豪宅的传言在互联网上广泛传播。然而,京东官方通过微博发言人发布的消息澄清了这些传言,称这些言论纯属虚假信息和蓄意捏造。
日前,据博主“@超能数码君老周”爆料,国内三大运营商中国移动、中国电信和中国联通预计将集体采购百万台规模的华为Mate60系列手机。
据报道,荷兰半导体设备公司ASML正看到美国对华遏制政策的负面影响。阿斯麦(ASML)CEO彼得·温宁克在一档电视节目中分享了他对中国大陆问题以及该公司面临的出口管制和保护主义的看法。彼得曾在多个场合表达了他对出口管制以及中荷经济关系的担忧。
今年早些时候,抖音悄然上线了一款名为“青桃”的 App,Slogan 为“看见你的热爱”,根据应用介绍可知,“青桃”是一个属于年轻人的兴趣知识视频平台,由抖音官方出品的中长视频关联版本,整体风格有些类似B站。
日前,威马汽车首席数据官梅松林转发了一份“世界各国地区拥车率排行榜”,同时,他发文表示:中国汽车普及率低于非洲国家尼日利亚,每百户家庭仅17户有车。意大利世界排名第一,每十户中九户有车。
近日,一项新的研究发现,维生素 C 和 E 等抗氧化剂会激活一种机制,刺激癌症肿瘤中新血管的生长,帮助它们生长和扩散。
据媒体援引消息人士报道,苹果公司正在测试使用3D打印技术来生产其智能手表的钢质底盘。消息传出后,3D系统一度大涨超10%,不过截至周三收盘,该股涨幅回落至2%以内。
9月2日,坐拥千万粉丝的网红主播“秀才”账号被封禁,在社交媒体平台上引发热议。平台相关负责人表示,“秀才”账号违反平台相关规定,已封禁。据知情人士透露,秀才近期被举报存在违法行为,这可能是他被封禁的部分原因。据悉,“秀才”年龄39岁,是安徽省亳州市蒙城县人,抖音网红,粉丝数量超1200万。他曾被称为“中老年...
9月3日消息,亚马逊的一些股东,包括持有该公司股票的一家养老基金,日前对亚马逊、其创始人贝索斯和其董事会提起诉讼,指控他们在为 Project Kuiper 卫星星座项目购买发射服务时“违反了信义义务”。
据消息,为推广自家应用,苹果现推出了一个名为“Apps by Apple”的网站,展示了苹果为旗下产品(如 iPhone、iPad、Apple Watch、Mac 和 Apple TV)开发的各种应用程序。
特斯拉本周在美国大幅下调Model S和X售价,引发了该公司一些最坚定支持者的不满。知名特斯拉多头、未来基金(Future Fund)管理合伙人加里·布莱克发帖称,降价是一种“短期麻醉剂”,会让潜在客户等待进一步降价。
据外媒9月2日报道,荷兰半导体设备制造商阿斯麦称,尽管荷兰政府颁布的半导体设备出口管制新规9月正式生效,但该公司已获得在2023年底以前向中国运送受限制芯片制造机器的许可。
近日,根据美国证券交易委员会的文件显示,苹果卫星服务提供商 Globalstar 近期向马斯克旗下的 SpaceX 支付 6400 万美元(约 4.65 亿元人民币)。用于在 2023-2025 年期间,发射卫星,进一步扩展苹果 iPhone 系列的 SOS 卫星服务。
据报道,马斯克旗下社交平台𝕏(推特)日前调整了隐私政策,允许 𝕏 使用用户发布的信息来训练其人工智能(AI)模型。新的隐私政策将于 9 月 29 日生效。新政策规定,𝕏可能会使用所收集到的平台信息和公开可用的信息,来帮助训练 𝕏 的机器学习或人工智能模型。
9月2日,荣耀CEO赵明在采访中谈及华为手机回归时表示,替老同事们高兴,觉得手机行业,由于华为的回归,让竞争充满了更多的可能性和更多的魅力,对行业来说也是件好事。
《自然》30日发表的一篇论文报道了一个名为Swift的人工智能(AI)系统,该系统驾驶无人机的能力可在真实世界中一对一冠军赛里战胜人类对手。
近日,非营利组织纽约真菌学会(NYMS)发出警告,表示亚马逊为代表的电商平台上,充斥着各种AI生成的蘑菇觅食科普书籍,其中存在诸多错误。
社交媒体平台𝕏(原推特)新隐私政策提到:“在您同意的情况下,我们可能出于安全、安保和身份识别目的收集和使用您的生物识别信息。”
2023年德国柏林消费电子展上,各大企业都带来了最新的理念和产品,而高端化、本土化的中国产品正在不断吸引欧洲等国际市场的目光。
罗永浩日前在直播中吐槽苹果即将推出的 iPhone 新品,具体内容为:“以我对我‘子公司’的了解,我认为 iPhone 15 跟 iPhone 14 不会有什么区别的,除了序(列)号变了,这个‘不要脸’的东西,这个‘臭厨子’。