当今的前端开发正呈现出越来越多的特性,新的 CSS 特性也随之不断涌现。在近日的 2023 Google I/O 大会上,有很多新的 CSS 特性被介绍,让我们一起来看看这些最新的功能吧!
以下是最近推出或即将推出的 20 个最令人兴奋的 CSS 功能:
容器查询样式查询:has()nth-oftext-wrap: balanceinitial-letter动态视口单位广色域颜色空间color-mix()嵌套级联层作用域样式三角函数单个变换属性popover定位锚点selectmenu离散属性过渡滚动驱动的动画View transitions新的响应式容器查询浏览器支持:
容器查询最近在所有现代浏览器中已经稳定。它允许查询父元素的大小和样式,以确定应应用于其任何子元素的样式。媒体查询只能访问和利用视口的信息,它是一种更精确的工具,可以支持任意数量的布局或嵌套布局。
在下面的收件箱示例中,主收件箱和收藏夹侧边栏都是容器。它们内部的电子邮件根据可用空间调整其网格布局,并根据需要显示或隐藏电子邮件时间戳。
因为有了容器查询,这些组件的样式都是动态的。 如果调整页面大小和布局,组件将响应它们单独分配的空间。 侧边栏变成了一个有更多空间的顶部栏,布局看起来更像主收件箱。当空间较少时,它们都以紧凑的格式显示。
样式查询浏览器支持:
容器查询规范还允许查询父容器的样式。这目前在 Chrome 111 中部分实现,可以在其中使用 CSS 自定义属性来应用容器样式。以下示例使用存储在自定义属性值中的天气特征(例如下雨、晴天和多云)来设置卡片背景和指示器图标的样式。
@container style(--sunny: true) { .weather-card { background: linear-gradient(-30deg, yellow, orange); } .weather-card:after { content: url(); background: gold; }}
这只是样式查询的开始。将来,将使用布尔查询来确定自定义属性值是否存在并减少代码重复,目前正在讨论的是范围查询,以根据值的范围应用样式。这样就可以使用下雨或云层覆盖几率的百分比值来应用此处显示的样式。
:has()浏览器支持:
:has()选择器是现代浏览器中最强大的新 CSS 功能之一。 使用:has()可以通过检查父元素是否包含特定子元素或这些子元素是否处于特定状态来应用样式,也就是父选择器。
在容器查询示例的基础上,可以使用:has()使组件更加动态。 其中,带有“⭐️”元素的项目会应用灰色背景,而带有选中复选框的项目会应用蓝色背景。
此 API 不限于父级选择,还可以为父级中的任何子级设置样式。 例如,当项目具有 ⭐️ 元素时,标题为粗体。 这是通过.item:has(.star) .title完成的。 使用:has()选择器可以访问父元素、子元素,甚至兄弟元素,这使它成为一个非常灵活的 API。
nth-of浏览器支持:
Web 平台现在有更高级的第 n 个子元素选择。 高级 nth-child 语法提供了一个新关键字(“of”),它允许使用现有的 An+B 语法,并在其中搜索更具体的子集。
如果使用常规的 nth-child,例如:nth-child(2)在特殊类上,浏览器将选择应用了特殊类的元素,也是第二个子元素。 这与:nth-child(2 of .special)形成对比,后者将首先预过滤所有.special元素,然后从该列表中选择第二个。
:nth-child(2 of .highlight) { outline: 0.3rem dashed hotpink; outline-offset: 0.7rem;}
text-wrap: balance从 Chrome 114 开始,可以使用text-wrap属性并设置balance值,对标题使用文字自动换行平衡技术实现排版。
为了平衡文本,浏览器有效地对最小宽度执行二进制搜索,这不会导致任何额外的行,在一个 CSS 像素(不是显示像素)处停止。 为了进一步减少二进制搜索中的步骤,浏览器从平均线宽的 80% 开始。
initial-letterinitial-letter属性可以更好地控制内嵌首字下沉样式。可以在:first-letter伪元素上使用initial-letter指定以下内容:基于字母占据的行数,来指定字母的大小。字母的块偏移量或“下沉”,来指定字母所在位置。
动态视口单位浏览器支持:
Web开发人员面临的一个常见问题是在移动设备上实现准确和一致的全视口大小。作为开发者,希望100vh(视口高度的100%)指的是“与视口一样高”,但vh单位无法考虑到移动设备上缩回的导航栏之类的因素,因此有时它会太长并导致页面滚动。
为了解决这个问题,现在Web平台上有新的单位值,包括:
小视口高度和宽度(svh和svw),表示最小活动视口大小。大视口高度和宽度(lvh和lvw),表示最大活动视口大小。动态视口高度和宽度(dvh和dvw)。当额外的动态浏览器工具栏(例如顶部地址或底部选项卡栏)可见或不可见时,动态视口单位的值会发生变化。
广色域颜色空间Web 平台的另一个重要新增功能是广色域色彩空间。 在 Web 平台上提供广色域颜色之前,可以拍出色彩鲜艳的照片,可以在现代设备上查看,但无法获得按钮、文本颜色或背景来匹配这些鲜艳的值。
现在在 Web 平台上有一系列新的颜色空间,包括 REC2020、P3、XYZ、LAB、OKLAB、LCH和OKLCH。
可以在 DevTools 中看到颜色范围是如何扩展的,那条白线标示出 sRGB 范围的结束位置和广色域颜色范围的开始位置。
color-mix()浏览器支持:
color-mix()函数支持混合两个颜色值,基于颜色通道创建新值。混合颜色的颜色空间会影响结果。在更感知的颜色空间(如oklch)中工作时,将经过与sRGB等不同的颜色范围。
color-mix(in srgb, blue, white);color-mix(in srgb-linear, blue, white);color-mix(in lch, blue, white);color-mix(in oklch, blue, white);color-mix(in lab, blue, white);color-mix(in oklab, blue, white);color-mix(in xyz, blue, white);
color-mix()函数提供了一个备受期待的功能:在保留不透明颜色值的同时,添加一些透明度。现在,可以在不同的不透明度下使用品牌颜色变量创建这些颜色的变体。方法是将颜色与透明混合。当将品牌颜色蓝色与10%透明度混合时,会得到一个90%不透明的品牌颜色。
现在可以在 Chrome DevTools 中看到这一点,在样式窗格中有一个非常漂亮的预览维恩图图标。
CSS基础CSS 嵌套浏览器支持:
CSS嵌套是Sass中很受欢迎的功能,也是多年来CSS开发人员最重要的需求之一,现在终于出现在 Web 平台上。嵌套允许开发人员以更简洁、分组的格式编写代码,减少冗余。
.card {}.card:hover {}/* 嵌套 */.card { &:hover { }}
我们还可以嵌套媒体查询,这也意味着可以嵌套容器查询。在下面的示例中,如果卡片容器足够宽度,卡片将从纵向布局更改为横向布局:
.card { display: grid; gap: 1rem; @container (width >= 480px) { display: flex; }}
当容器有更多(或等于)480px 的可用行内空间时,就会发生对 flex 的布局调整。 当条件满足时,浏览器将简单地应用新的显示样式。
级联层浏览器支持:
开发人员另一个痛点是确保样式胜过其他样式的一致性,解决这个问题的一个部分是更好地控制 CSS 级联。级联层通过让用户控制哪些层比其他层具有更高的优先级来解决这个问题,这意味着可以更好地控制何时应用样式。
作用域浏览器支持:
CSS 作用域样式允许开发人员指定应用特定样式的边界,本质上是在 CSS 中创建原生命名空间。 以前,开发人员依靠第 3 方脚本来重命名类,或特定的命名约定来防止样式冲突,但很快,可以使用@scope。
这里将.title元素限定为.card。 这将防止该 title 元素与页面上的任何其他.title元素发生冲突,例如博客文章标题或其他标题。
@scope (.card) { .title { font-weight: bold; }}
三角函数浏览器支持:
CSS的另一个新功能是将三角函数添加到现有的CSS数学函数中。这些函数现在在所有现代浏览器中都是稳定的,并使您能够在Web平台上创建更有机的布局。一个很好的例子是这个径向菜单布局,现在可以使用sin()和cos()函数进行设计和动画。
在下面的示例中,点围绕中心点旋转。每个点不是围绕其自身的中心旋转然后向外移动,而是在 X 和 Y 轴上平移。 X 轴和 Y 轴上的距离分别通过考虑--angle的cos()和sin()来确定。
、
单个变换属性过去,需要依赖变换函数来应用子函数来缩放、旋转和平移 UI 元素。这涉及大量重复工作,并且在动画中的不同时间应用多个变换时尤其令人沮丧。
.target { transform: translateX(50%) rotate(30deg) scale(1.2);}.target:hover { transform: translateX(50%) rotate(30deg) scale(2); /* Only scale changed here, yet you have to repeat all other parts */}
现在,可以通过分离变换类型并单独应用它们来在 CSS 动画中拥有所有这些细节。
.target { translate: 50% 0; rotate: 30deg; scale: 1.2;}.target:hover { scale: 2;}
这样,平移、旋转或缩放的变化可以在动画期间的不同时间以不同的变化率同时发生。
可定制的组件为了确保通过 Web 平台解决一些关键的开发人员需求,正在与 OpenUI 社区小组合作,并确定了三个解决方案:
具有事件处理程序、声明性DOM结构和可访问默认值的内置弹出功能。用于将两个元素连接在一起以启用锚定定位的CSS API。可自定义下拉菜单组件,用于想要在选择框内部样式化内容的情况。Popoverpopover API 为元素提供了一些内置的浏览器支持,例如:
支持顶层,因此不必管理 z-index。 当打开弹出窗或对话框时,将该元素提升到页面顶部的特殊层。当在元素外部单击时,弹出窗口将被关闭,从可访问性树中删除,并正确管理焦点。这一切意味着可以编写更少的 JavaScript 来创建所有这些功能并跟踪所有这些状态。
popover 的 DOM 结构是声明性的,可以像给popover元素一个id和popover属性一样清晰地编写。 然后,将该id同步到将打开弹出窗的元素,例如具有popovertarget属性的按钮:
X 关闭
推荐内容
- 2017-2021年度北京高校“十佳辅导员”公布
- 最高法建立人民法院立案偏离度预警系统 全方位监督年底
- 最高法:对年底不立案坚决做到“零容忍”
- 全国检察机关实质性化解行政争议 为企业发展“松绑”解困
- 中国邮政储蓄银行:统筹抓好疫情防控和金融服务保障
- 美日澳德加5国战舰在菲律宾海演习
- 中美混双组合亮相世乒赛 这记“落点”背后有几重精彩
- 意大利海空军F-35战机同时登上加富尔号航母
- 第十六届人民企业社会责任案例征集正式启动
- 俄计划打造新反导防御“盾牌”
最近更新
-
Google I/O 2023:最新 CSS 特性解读!
热点
-
【世界独家】加时赛进球算不算总进球数_加时赛进球算不算总进球
热点
-
每日消息!今晚油价或迎年内“最大跌幅”!95号汽油有望回归7元时代
热点
-
环球头条:emmmm是什么意思_emmmm什么意思
热点
-
偌大城市请给“卖崽青蛙”一席之地
热点
-
每日头条!虫儿飞儿歌视频_虫儿飞儿歌
热点
-
富乐德(301297):5月15日北向资金减持11.33万股
热点
-
炒菜做饭屡屡失火 老人常进厨房牢记这四点-世界新要闻
热点
-
全球快消息!5月16日周二这1只新股将公布网上发行中签率!
热点
-
水的化学性质 环球速讯
热点
-
于根伟:津门虎要发现培养一批过硬本土球员 在此基础上融入外援|天天热点评
热点
-
片仔癀:公司正积极准备下一轮的中药一级保护品种申请工作
热点
-
全球速读:朔州一学生在学校附近被抢劫…
热点
-
如何制作农场池塘喷泉_女儿三岁了 送什么礼物_短讯
热点
-
第二十一届中国(海南)荔枝龙眼产销对接活动海口举行_环球快播报
热点
-
米游社怎么联系米游铺售后?米游社联系米游铺售后教程
热点
-
今日周杰伦与蔡依林为什么分手(蔡依林和周杰伦为什么分手啊)
热点
-
当前简讯:“飞阅”西安瞰古今
热点
-
通讯!强创新 兴产业 善管理 展活力重效益 将学习成果转化为惠济发展实效——访惠济区委书记李新军
热点
-
股价和业绩大幅分化!昱能科技怎么了?
热点
-
汶川95后小伙回乡卖光村里的滞销果|天天微头条
热点
-
周一评述及周二预测(5-15) 焦点短讯
热点
-
行驶证号码是哪个号码 行驶证号码是哪个
热点
-
德固特:目前公司生产正常,产能处于饱和状态,谢谢您对公司的关心与支持!
热点
-
各地抢抓农时 扎实推进农业生产
热点
-
问道手游怎么赚人民币2022_问道手游怎么赚人民币 速读
热点
-
那是我们谓之为看不见的东西_世界讯息
热点
-
2023年3月大宗商品-镁价格分析:价格为20500元/吨,同比下降49.59%_环球观天下
热点
-
【世界速看料】酚酞溶液是什么颜色_酚酞溶液
热点
-
香港金管局余伟文:将继续与内地监管部门研究为国际投资者提供更多元化的风险管理工具-全球百事通
热点
-
衡水吧中学分校怎么样_衡水吧
热点
-
全球聚焦:镇魂电视剧百度云链接下载_镇魂电视剧百度云链接
热点
-
师范大学和遵义医科大学哪个更好(遵义师范学院是什么档次的大学)-环球新资讯
热点
-
“燕赵楷模发布厅”发布曲宪忠先进事迹 追授“燕赵楷模”称号
热点
-
这些房企的吸金能力,令人大受震撼
热点
-
热!北京今天或现今年首个高温日 明日高温仍不退场|环球快报
热点
-
雅培2段奶粉价格
热点
-
世界快看:ping 无法访问目标主机是什么原因_无法访问目标主机是什么原因
热点
-
特灵娜的婴儿图片_特灵娜_消息
热点
-
天天观察:tincoco是哪个国家的品牌_什么档次怎么样
热点
-
环球快消息!天麻丸饭前吃还是饭后吃_天麻丸
热点
-
阳朔攻略_阳朔游玩攻略 动态
热点
-
世界最长寿狗度过31岁生日,喜欢吃人类的食物
热点
-
快看:张家口颐养中心有哪些?张家口颐养中心名单
热点
-
粤桂产业协作让更多脱贫村“共享”红利 全球要闻
热点
-
世界快资讯丨烟台15日晴间多云,南风不大 市区最高气温31℃
热点
-
世界热门:dnf安装包md5校验失败错误码7001263 dnf安装包md5校验失败
热点
-
淮北局中分数线_淮北局中
热点
-
华尔街最准分析师:若债务上限引发市场恐慌,美联储将重启QE 天天观天下
热点
-
世界看点:瓜帅的边锋进化论:从逆足边锋到边路组织核心,看碟下菜是关键
热点
-
途经毕节,这条高速预计明年全线达通车条件 天天热资讯
热点
-
2023母亲节考初级会计 你的努力是给母亲最好的礼物! 全球观天下
热点
-
十七部门联合部署平安寄递专项行动 集中整治寄递渠道安全隐患
热点
-
螺纹钢价格持续下行!记者实地探访:钢企降低库存 谨慎排产
热点
-
哪些巨星效力过米兰双雄,他们组成的阵容有多强?
热点
-
什么是离心率_离心率简介-世界播资讯
热点
-
表白的话感人的一段话100字以内_表白的话感人的一段话
热点
-
我的世界没有黑夜指令 我的世界黑夜指令 环球时快讯
热点
-
今日快看!花生油密度是多少_花生油密度
热点
-
5月股市、可转债变化大! 4张图一览其表现 全球观焦点
热点
-
环球今头条!最近流行一种新穿法,叫做上半身露腰、下半身遮脚踝,适合小个子
热点
-
教育项目总投约85亿元!汕头多所新建学校已开工!
热点
-
环球新消息丨【价格早报】2023年05月09日星期二
热点
-
每日快看:宽窄巷子美食攻略排行榜(宽窄巷子美食攻略)
热点
-
产前检查时间计入劳动时间_产前检查时间 世界今日讯
热点
-
银行调整通知存款和协定存款利率的原因及影响
热点
-
播报:南平:着力打造韧性宜居城市 海绵产业新业态初步形成
热点
-
世界球精选!施罗德惨遭驱逐:跟追梦互喷吃第二技犯 勇士悍将拿球堵他嘴
热点
-
pvz_pv
热点
-
高职单招分数怎么排分广西2022查询可以查往年 全球快讯
热点
-
深夜突发!许家印成被执行人,债主瓜分恒大 环球最新
热点
-
全球时讯:时间定了!降!降!降!
热点
-
大同旅游景点大全-大同景点大全
热点
-
制度范文集锦--公司财务管理制度(中英文对照) 关注
热点
-
圆心角定理教学视频_圆心角定理|焦点报道
热点
-
火巴耳朵的幸福生活_关于火巴耳朵的幸福生活介绍
热点
-
围炉煮茶升级成围炉冰茶 新网红消费正走向规模化
热点
-
【播资讯】吾十有五而志于学的下一句_吾十有五而志于学
热点
-
用酷狗蝰蛇音效打开“天赐”金曲,让你听出“头皮发麻”的感觉
热点
-
sqlite3.dll丢失怎么办_sqlite3 dll丢失怎么办_全球热门
热点
-
男朋友在工地上班送什么礼物好_工地上上班送这些礼物好-环球速递
热点
-
全球微速讯:时间过半 我爱我家股东东银玉衡仍未进行减持
热点
-
全球消息!苹果iOS 17意外爆料 苹果严惩
热点
-
股票涨跌怎么看?什么股票值得投资?-全球关注
热点
-
【天天报资讯】云南省首条N型TOPCON电池片生产线在楚雄市贯通
热点
-
65个看图猜成语答案 全球最资讯
热点
-
南阳市淅川县第八小学开展5•12全国防震减灾日:防震减灾 守护安全
热点
-
星火成炬 | 明天会更好
热点
-
环球热资讯!一季度21个自贸试验区进出口额达1.8万亿元
热点
-
野生金雕抓走无人机,桑植县生态资源再现生态优势_全球微资讯
热点
-
环球简讯:Blue Bird股价盘前上涨27%,此前该公司上调了第二季度盈利预期。
热点
-
建安区开展“全国防灾减灾日”主题宣传活动|全球今日讯
热点
-
浓香型代表_浓香型 资讯
热点
-
天天播报:“阿布都兄弟”的功夫梦
热点
-
简讯:“碳寻计划”申报 FAQ
热点
-
资讯:jⅰe是什么汉字
热点
-
海淀城管开展外语标识专项执法检查-今日热闻
热点
-
中建三局承建德州科技职业学院德州校区项目封顶
热点
-
外界评价汾酒高速增长一去不返,山西汾酒回应 全球热头条
热点
-
热头条丨商务部再次表态:如美国胁迫盟友共同遏华,将坚决反对
热点
Copyright © 2015-2022 热讯办公网版权所有 备案号:豫ICP备20005723号-6 联系邮箱:29 59 11 57 8@qq.com