带你读《2022技术人的百宝黑皮书》——下一代响应式Web设计: 组件驱动式Web设计(27)

简介: 带你读《2022技术人的百宝黑皮书》——下一代响应式Web设计: 组件驱动式Web设计(27)

带你读《2022技术人的百宝黑皮书》——下一代响应式Web设计: 组件驱动式Web设计(26)https://developer.aliyun.com/article/1340867?groupCode=taobaotech


image.png容器查询不应该让组件变得复杂化

组件是有由很多个元素组合在一起构成的:

image.png

 

 

 

虽然容器查询特性到来,可以让组件根据其容器尺寸来做出响应,但要记住的是,做出响应变化应该要有一个度。如果过度设计的话,对于Web开发人员而言,与其使用容器查询特性来实现UI响应,还不如重新构建一个独立的全 新组件。拿用户信息组件(UserProfile)为例,组件内部结构保持不变,或者至少不会增加新的结构,只需稍加调整,比如调整布局就可以实现不同的UI效果,或者让内部元素显示隐藏切换等。在这种情景之中,采用容器查询特性才能显现其魅力:

image.png

 

image.png作用域样式

为了完善容器查询特性,CSS 工作组还在积极讨论作用域样式(Scoped Styles)(地址https://css.odd-bird.net/scope/),以帮助为组件提供适当的命名空间来避免冲突。

image.png
作用域样式允许传递和特定于组件的样式,以避免命名冲突,许多框架和插件(如CSS模块)已经允许我们在框架内这样做。这个规范现在允许我们用可读的CSS为组件编写本机封装的样式,而无需调整标记。


/* @scope (<root>#) [to (<boundary>#)]? { … } */
@scope (.tabs) to (.panel) {
:scope {
/* targeting the scope root */
}
.light-theme :scope .tab {
/* contextual styles */
}
}


我自己对作用域样式也了解的不怎么多,所以在这里不做过多阐述,以免错误不断。

 

作用域样式可以通过不同命名空间样式传递给特定的组件,以避免命名冲突。其实在 CSS  中另一个与容器查询同样被受期待的特性,级联分层,即 @layer 也可以用来解决命名冲突,样式冲突的问题。该特性已得到了 Safari 和Chrome 浏览器支持。如果你对该话题感兴趣的话,可以阅读《初探 CSS 的级联层(@layer)》(地址: https://www.w3cplus.com/css/css-layer.html)一文。

 

带你读《2022技术人的百宝黑皮书》——下一代响应式Web设计: 组件驱动式Web设计(28)https://developer.aliyun.com/article/1340865?groupCode=taobaotech

相关文章
|
1天前
|
XML 网络协议 Java
XML Web 服务技术解析:WSDL 与 SOAP 原理、应用案例一览
XML Web服务是基于WSDL、SOAP、RDF和RSS等标准的网络应用程序组件技术。WSDL描述服务接口和消息格式,SOAP用于结构化信息交换,RDF描述网络资源,RSS则用于发布网站更新。Web服务特点是自包含、自描述,基于开放协议,可重用且能连接现有软件。WSDL文档包含`types`、`message`、`portType`和`binding`元素,定义服务操作和协议。SOAP协议规定消息格式,通过HTTP等传输。
8 1
|
1天前
|
前端开发 JavaScript Java
Java语言在Web前端开发中的技术应用
Java语言在Web前端开发中的技术应用
|
4天前
|
SQL 缓存 监控
基于Java的Web应用性能优化技术
基于Java的Web应用性能优化技术
21 3
|
7天前
|
开发框架 前端开发 .NET
web技术
【5月更文挑战第25天】web技术
17 2
|
8天前
|
域名解析 缓存 网络协议
JavaEE精选-Web组件
JavaEE精选-Web组件
16 1
|
11天前
|
前端开发 JavaScript Java
web 技术中前端和后端交互过程
客户端:上网过程中,负责浏览资源的电脑,叫客户端
24 0
|
13天前
|
前端开发 Java Go
从前端到后端:构建现代化Web应用的技术演进
本文探讨了从前端到后端的技术演进,介绍了前端、后端以及多种编程语言,如Java、Python、C、PHP和Go,以及数据库在构建现代化Web应用中的应用。通过深入剖析各个技术领域的发展和应用,读者将对构建高效、可扩展、安全的Web应用有更深入的理解。
|
16天前
|
前端开发 Java Go
从前端到后端:构建现代化Web应用的技术实践
本文将介绍如何通过前端和后端技术相结合,构建现代化Web应用的技术实践。我们将探讨前端开发、后端架构以及多种编程语言(如Java、Python、C、PHP、Go)在构建高效、可扩展的Web应用中的应用。
|
16天前
|
JavaScript 前端开发 API
Vue中的组件:构建现代Web应用的基石
Vue中的组件:构建现代Web应用的基石