跳到内容
新问题

对这个项目有疑问吗?注册一个免费的GitHub帐户以打开一个问题,并联系其维护者和社区。

单击“注册GitHub”,表示您同意我们的服务条款隐私声明。我们偶尔会向您发送与帐户相关的电子邮件。

已经在GitHub上了?登录到您的帐户

WP 6.6的章节样式、配色和字体 #57537

关闭
13项任务中的12项
跟踪人 #59404
艾伦·罗伯肖已打开此问题2024年1月4日·28条评论
关闭
13项任务中的12项
追踪者 #59404

WP 6.6的章节样式、配色和字体 #57537

阿隆·罗伯特肖已打开此问题2024年1月4日·28条评论
受让人
标签
[功能]块样式变化 与块的样式变化相关的问题或请购单 [类型]迭代 跟踪问题或概述问题的工作范围迭代,理想情况下用于主要发布。

评论

@阿隆·罗伯特肖
复制链接
贡献者

阿隆·罗伯特肖 评论2024年1月4日

目标

将有关章节样式、色彩和排版的相关和重叠探索结合在一起。

虽然目前开放的PR可能无法完全实现每个单独的概念,但希望这个问题能够帮助定义6.6应该交付什么。

历史和背景

横断面样式

相关问题

  • 章节特定主题.json
    • 最初的问题仍然相关,因为迄今为止对此的探索要么已经结束,要么没有为块实例完全实现theme.json。
  • 元素颜色集
    • 此问题旨在解决的用户主要难点是,当这些颜色选择与块类型的主要全局样式不同时,需要在多个单独的块实例中重复相同的颜色配置。
  • 扩展块样式变体
    • 当前的方法,详见下文。

探索:

配色和字体

相关问题

  • 元素颜色集
    • 正如上文章节样式部分所述,此问题的部分目的是减轻用户跨不同块重新配置相同颜色或排版设置的需要
    • 这个问题的另一个方面是允许颜色和排版风格之间的一些可组合性,使新网站更容易更快地确定适合他们的外观。
  • 应用色彩和字体集的机制
    • 在Global Styles的主题层面上,我们通过以下途径探讨了这一点#56622。值得注意的是,此探索仅关注根全局样式级别,而不是块实例或“节”。
    • 一些早期对实现块实例的颜色和排版的探索并没有发展到PR草案阶段,因为很明显,这里的主要用户需求已经主要通过提议的扩展块样式变体解决了。
    • 停止对块实例上的颜色和排版的探索,仍然会留下一个空白,即主题.json(设置和样式)没有在单个块或“部分”上完全实现。
  • 块实例或“节”中元素的排版
    • 最近,可以在块实例中配置其颜色的可用元素有展开以包含按钮和标题这是作为第一步,只有在潜在的后续行动中,包括允许在块实例中为这些元素提供排版样式。

原始拟议计划

对于WordPress 6.5,这个建议建议从两个方面推进。

  1. 扩展块样式变体
  2. 在Global Styles中实现主题级的配色和排版

通过扩展块样式变体,主题作者将能够更有效地设置页面和模板中不同于该块全局样式的部分的样式,而无需反复重复相同的配置,例如设置页面上较暗部分的样式。这将包括在块样式变体中设置元素和内部块类型样式的功能。

该特性的功能基本上解决了用户对单个块实例或“部分”上的颜色和排版的主要需求。

色彩和排版的可组合性在Global Styles的主题或“根”级别上具有最大的价值,因为除了释放各种可能性之外,它还将帮助用户更快地实现他们满意的网站整体外观。

单个块或部分上的可组合颜色和排版的优点可能无法保证从UI角度来看所需的增加复杂性和额外工作。特别是在移动时,强大的方块风格变化满足了同样的需求。

这不是100%固定不变的,所以请随时强调问题或就此问题提问。

WP6.5事先计划

注:本计划已修订为以下大纲。对于后代来说,最初的计划可以在上面的历史和背景部分中阅读。

对于WordPress 6.5,计划是:

  1. 广泛减少全球风格的特殊性
  2. 在6.5 beta测试期内,对不同区块和主题的特异性降低进行广泛测试
  3. 在Global Styles中实现主题级的配色和排版
  4. 延迟着陆扩展块样式变化,直到6.6发布计划的早期

将扩展块式变体推迟到6.5之后的想法包括:

  • 该功能需要更多时间来完善
  • 有很多边缘案例,因此多轮测试将是有益的
  • 需要更多的时间来确保确定正确的方法,这可能取决于围绕广泛减少风格特异性而收到的反馈

为什么块样式变化和剖面样式?

通过扩展块样式变体,主题作者将能够更有效地设置页面和模板中不同于该块全局样式的部分的样式,而无需反复重复相同的配置,例如设置页面上较暗部分的样式。这将包括在块样式变体中设置元素和内部块类型样式的功能。

该特性的功能基本上解决了用户对单个块实例或“部分”上的颜色和排版的主要需求。

色彩和排版的可组合性在Global Styles的主题或“根”级别上具有最大的价值,因为除了释放各种可能性之外,它还将帮助用户更快地实现他们满意的网站整体外观。

单个块或部分上的可组合颜色和排版的优点可能无法保证从UI角度来看所需的增加复杂性和额外工作。特别是在移动时,强大的方块风格变化满足了同样的需求。

这不是百分之百的板上钉钉,所以请随时强调问题或就此问题提出问题。

任务

块样式变化

全球风格:配色与排版

  • 从主题风格变体中收集配色和排版,并允许在Global Styles中独立应用它们(公共关系 @邋遢鬼)

抄送/@萨克森F,@米提亚斯,@安娜扎祖,@塔尔丹

@阿隆·罗伯特肖 阿隆·罗伯特肖补充[类型]概述 一个重点领域的全面、高层次视图,通常存在多个跟踪问题 [功能]块样式变化 与块的样式变化相关的问题或请购单标签2024年1月4日
@安娜扎祖
复制链接
贡献者

谢谢你!将路线图更新为6.5帖子以链接到此问题。

@安娜扎祖 安娜扎祖补充这个[类型]迭代 跟踪问题或概述问题的工作范围迭代,理想情况下用于主要发布。标签2024年1月4日
@阿隆·罗伯特肖
复制链接
贡献者 作者

潜在的阻碍因素遇到用于扩展块样式变体。A类详细明细可以在PR上找到问题的。

@阿隆·罗伯特肖
复制链接
贡献者 作者

2024年1月11日更新

经过大量测试、讨论和探索,已就上述潜在阻滞剂达成共识。单个块实例上的元素样式将增加其特殊性,以确保尊重用户的选择,并且这些选择将覆盖块样式变化中的值。

此外,似乎v2自定义SelectControl尚未准备好在编辑器中使用。扩展块样式变化功能不依赖于任何UI更新。他们的目标是允许用户界面随着可用块样式变体的数量而扩展。目前,这不太可能是一个大问题,如果需要,可能会在6.5后发布。

如果时间允许,可以探索一种按钮和popover组合,以实现与早期配色模型相似的UI。

@阿隆·罗伯特肖
复制链接
贡献者 作者

此外,似乎还没有准备好在编辑器中使用v2 CustomSelectControl。

我提出了一种替代方法来更新UI,使用一个简单的下拉菜单从一些早期的配色探索到PR草案(#57780). 如果决定需要UI更新,这可能会提供前进路径。

@阿隆·罗伯特肖
复制链接
贡献者 作者

探索总结和当前方法

块样式变化注册:

添加了一个新的全局函数:古腾堡注册块样式.

这个WP_块_样式_注册表类已标记最终的在内核中,因此添加了此函数,以允许跨多个块类型注册块样式变化。它还可以接受样式对象代替样式表或句柄。

这个WP_Theme_JSON_解算器_古腾堡类将所有样式对象吸收到主题的数据中,就好像在那里定义了变体一样。

或者,可以在不使用任何样式数据的情况下注册块样式变化。然后可以在theme.json中定义其样式,例如。styles.blocks<块类型>.variations<名称>.

主题.json/样式对象:

块样式变体将支持内部元素和块类型的样式。例如:

{“样式”:{“区块”:{“核心/群体”:{“变化”:{“黑暗”:{“元素”:{…},“块”:{…},}}}}}}

由于样式的这种过度增加的特殊性,将不支持变体内部块类型的特定元素。

为了避免在theme.json中重复定义变体的样式,有一个二次公关建议允许引用共享块样式变体定义。

到目前为止,theme.json中的引用只支持引用单个属性值,而不支持引用对象。为了避免在整个代码中必须将引用的值与用户自定义的任何值合并,上面的辅助PR正在更新过程中,因此theme.json解析器将把引用的块样式变体解析为theme.json数据。

参考块样式变体主页的初步建议是:样式.blocks.variations。其中的每个变量还可以定义一个可用的块名称数组。

全球风格:

目标#56540用于按常规生成块样式变化样式,但为其内部元素和块类型样式添加样式。

这种方法目前有两个主要问题;

  1. CSS特异性
  2. 嵌套块样式变体的应用程序

CSS特异性

我们生成的嵌套样式越多,即变体的元素和块类型样式,这些样式的特殊性就越大。目前,这导致CSS对0-2-1例如.wp-block-group.is-style-dark类型标记.

这是一个问题,因为用户在块实例上显式配置的元素的样式只有0-1-1,例如。.wp-elements-123文件,并且块样式变体元素样式将不正确地优先。

为了降低块样式变化的特异性,我们进行了大量的探索,但如果将其降低得太低,则意味着它们不会覆盖全局块样式。

当前的权衡#56540是为了突出块实例元素样式的特殊性,同时进一步探索减少所有全局块样式特异性为零。

嵌套块样式变体

就用户体验而言,这更是一个问题。一个有效的用例是,用户希望将一个变体应用于另一个已经应用了变体的块中的一个块。

用户可能希望页面上有一个深色部分,但要为该部分中的卡片指定浅色样式。

通过简单生成块样式变化的样式#56540,每个块类型定义一次。这意味着所有这些风格都具有相同的特性。

当涉及到另一个块内部块上的块样式变化时,其内部块和元素将匹配这两个选择器,因此样式表中最后定义的块将优先,可能是错误的。

生成的样式无法可靠地重新排序,因此对于#56540.

虽然可以就嵌套变体的用例发生的可能性进行讨论,但对于试图分配块样式变体而没有看到所需更改的用户来说,这将是一次失败的体验。

如果我们忽略UI中的块样式控件,则当当前选定的块具有具有变体的祖先时,尽管某些块的类型相同,但在某些块上看到控件而在其他块上看不到控件可能会令人困惑。这也不会阻止用户将带有变体的块拖动到已经有变体的容器块中。

另一种选择

一些早期的探索成为另一种方法(#57908).

该备选方案建议:

  • 继续使用块样式变体作为定义横断面样式的机制
    • 这包括当前的注册方法和在theme.json中引用共享变体的能力
  • 不是为全局样式样式表中的所有块样式变体生成通用样式,而是在那里省略它们
  • 对应用了变体的块应用唯一类名
  • 使用应用于块的唯一类名为作用域内的块样式变体生成部分样式表
    • 这意味着可以控制样式的定义顺序,并以正确的顺序使级联正常工作。
    • 这有一个不利的方面,即如果使用大量变体,可能会生成更多的CSS,但如果没有将块样式变体应用于块,则会生成更少的CSS。

虽然这种方法可能也不完美。对于解决块样式变体的嵌套应用程序的问题,它看起来确实很有希望。

但要使其发挥作用,将取决于在#57841.

注:早期的探索只是早期的,没有完全的功能或测试。因此,可能会出现更多意想不到的边缘情况。

用户界面

由于该功能有望增加块样式变体的价值和使用,因此它们的数量也有望增加。每个样式的按钮的当前UI伸缩性不强,可能需要进行一些调整。

这里的早期模型包括使用自定义选择控件。目前,自定义SelectControl无法渲染所需的色样,该组件的第二个新版本还没有准备好。然而,新版本可以做到这一点。

作为一项临时措施,还有一项公关使用下拉菜单而不是组件,#57780.

前进的道路

当前面临的问题#56540在6.5测试版发布之前的有限时间内,值得考虑是否有可能将此功能置于合适的状态。

减少这些扩展块样式变体的范围可能意味着不支持它们的内部元素和块类型样式。如果要以MVP的身份登陆,这将严重限制该功能的价值。

这导致了三个主要问题:

  1. 块实例上用户生成的元素样式的特殊性增加可以吗?
  2. 如果认为嵌套块样式变体不受支持,如何减轻应用该变体的能力?
  3. 是否值得从6.5中提取该功能,以便改进该方法并开发新的解决方案?

抄送/@你知道riad,@萨克森F,@里奇塔博,@告诉机器,@安德鲁森,@塔尔丹

很抱歉,我想听听你的想法和反馈,这样我们就可以做出决定,并计划尽快向前迈进🙏

@你知道riad
复制链接
贡献者

块实例上用户生成的元素样式的特殊性增加可以吗?

我认为这本身可能是一个突破性的变化,我们有没有尝试过它如何影响现有插件和试图覆盖这些风格的主题?不是说这是不可行的,而是想知道它的影响。

是否值得从6.5中提取该功能,以便改进该方法并开发新的解决方案?

IMO,如果我们认为我们需要更多的时间来正确处理这个问题,那么我们肯定可以从6.5中去掉这个问题。IMO很重要的一点是,不要在这里运送我们不满意的东西,这可能会在未来对我们造成伤害。


我们能否在某种表格中对现有的样式生成用例进行总结,以帮助我们思考这些特定性问题。(可能会将其添加到架构文档中)。类似于:

风格 选择器
全球风格 身体
块类型样式 .wp-my块
全局元素 .my-元素
块类型中的元素 .wp-my块.my-element
块实例样式(布局) .someinstanceid
块实例元素样式 .someinstanceid.my-element
块样式变化常规样式 .wp-my-block.is-style
块样式变化中的元素 .wp-my-block.is-style.my-element
块样式变化中的块类型 .wp-my-block.is-style.wp-other-block文件
块样式变化中的块类型中的元素 .wp-my-block.is-style.wp-other-block.my-element文件

我想我们可能还想在这个表中介绍一些“全球风格的变化”。

我们可以计算特异性并对其进行适当排序。我希望这能给我们提供更好的线索,让我们更好地配合。

@阿隆·罗伯特肖
复制链接
贡献者 作者

阿隆·罗伯特肖 评论2024年1月18日

我认为这本身可能是一个突破性的变化,

同意。

起初,我的印象是,这会阻碍扩展块样式变体以覆盖内部元素。经过与@告诉机器,@安德鲁斯隆、和@萨克森F.

这些讨论产生的一般想法是,这些样式是由用户决定显式覆盖块实例中的样式而生成的。为此,增加特定性虽然是一种更改,但并不会真正改变预期的功能。

我们尝试过如何影响现有插件和试图覆盖这些样式的主题吗?不是说这是不可行的,而是想知道它的影响。

大多数关注点都在试图找到一种方法,通过#57841&#57908.

的一些初始搜索插件主题对于显式字符串(如.wp-元素-。执行了大量更广泛的搜索可以说.wp文件-类返回的点击数太多,无法以高确定性进行梳理。

我确实在搜索结果的第一页上搜索了主题。大多数情况下,上一次搜索中的主要主题分为以下几种情况:

  • 该样式已被块实例元素样式的当前特定性覆盖,主要是因为元素样式稍后进入队列。
  • 该样式已经比元素样式中建议的凹凸效果更加具体。
  • 与样式相关的主题或块不支持用户选择的元素颜色
  • 链接样式以非块元素为目标

在结果的初始页面中,大多数样式也没有设置颜色,这是目前每个块实例元素样式支持的所有颜色。

当然,这些发现都不是很可靠,我们确实需要广泛的测试。希望它们能提供更多的信息,用于评估特异性增加的严重性和影响。


我们可以在某个表格中总结一下现有的样式生成用例,以帮助我们思考这些特定问题吗。(可能会将其添加到架构文档中)。类似于:

💯 当我们继续发展这些功能时,这无疑是有益的。

我想我们可能还想在这个表中介绍一些“全球风格的变化”。

如果我们谈论的是主题风格的变化,我会将此表视为全球风格变化的范围。

我们可以计算特异性并对其进行适当排序。我希望这能给我们提供更好的线索,让我们更好地配合。

我喜欢这个主意。我认为这样做很可靠。

总的来说,该表适用于大多数情况。不过,有些事情可能会让它变得不正常。

  • 全球风格:这应该可以通过根选择器选项传递给获取样式表然而,目前有一个小虫子在代码中。我很快就会对此进行独立修复。
  • 元素:通常这些只是一个简单的元素,但按钮和标题使用更复杂的选择器。这并不会真正影响实例元素样式,因为那里也使用了相同的元素选择器。
  • 阻碍:所有块选择器都可以通过块选择器API和老人__实验选择器block.json属性。
    • 虽然单个类确实涵盖了大多数块,但并不是所有块,例如表
    • 这就产生了一个问题,即给定的块实例元素样式只使用一个类,而不管块本身实际使用的是什么复杂的选择器
    • 这是目前一些边缘案例中存在的问题
    • 如果我们将块选择器添加到为块实例元素样式生成的类中,我们也会增加其特殊性
  • 特征:也有可能块配置某些功能样式(排版、边框等)以应用于内部标记。
    • 例如,一个块指定将文本装饰应用于内部元素,这样浏览器就不会在块标记中的所有元素上绘制它。
    • 在生成样式时,扩展块样式变体还考虑了块的特征选择器
    • 对于绝大多数用例来说,这不是应用颜色样式所必需的,而且考虑到块实例元素样式目前只支持应用颜色,这可能是一个较小的问题

块样式变体类,.is样式当前已添加到块的选择器中。这也意味着,如果在一个以简单元素作为其选择器的块上使用,它将中断,例如,使用第页。这是一个次要的边缘案例,我们可以单独解决。


IMO很重要的一点是,不要在这里运送我们不满意的东西,这可能会在未来对我们造成伤害。

👍 这也是我的感想。

在这个阶段,我会更有信心给这个特性更多的时间来烘焙,但我想确保我不是太保守。

如果我们能够明确哪些内容需要更改,以及作为MVP我们对交付内容的满意程度,那么我们确实还有一点时间。

我个人目前觉得这有点模糊,特别是考虑到一些解决方案的可行性取决于正在进行的探索(#57841).

也许对于6.5,我们可以:

也就是说,我还没有100%准备好放弃这个版本的功能🤞

附言:对文章长度的回复表示歉意😅

@你知道riad
复制链接
贡献者

目标是只着陆#57841在beta测试期间呼吁大家更加关注它
延迟扩展块样式变化,直到发布后在Gutenberg中为其提供完整的发布周期以进行改进
此外,交付#56622为网站建设提供一些增强功能

你是这里的领导。我认为这个计划对我来说很有意义。这都是关于信心的。对于列表中的第一项,如果计划切换到“增加用户生成元素样式的特殊性”,则为#57841还需要吗?

@长号
复制链接
贡献者

我只想补充一点:
我认为块编辑器中关于“样式”、“样式变化”、“(块)变化”的语言不是最佳的,可能会让开发人员(和用户)感到困惑。这里的示例使用样式其中的键变化键是嵌套的,似乎使这一点更加复杂。“块样式”也可以是指注册的块样式(它添加了是风格-类到块),但也为块注册样式表/内联CSS(请参见寄存器块样式).
这并不反对关于该功能的任何讨论要点。只是想指出,当“变体”在多个地方使用,但含义不同时,在文档或web上搜索有时会非常困难和令人困惑。因此,也许这是可以预见的,并且可以使用更清晰的命名。

@阿隆·罗伯特肖
复制链接
贡献者 作者

对于列表中的第一项,如果计划切换到“增加用户生成元素样式的特殊性”,则为#57841仍然需要

如果我们采用原来的方法(#56540),然后#57841这不是必须的。

使用最初的方法,用户无法可靠地将变体应用于另一变体中的块。这似乎是一个非常理想的用例,也是该方法的障碍。

看起来我们需要采用替代方法(#57908).

@阿隆·罗伯特肖
复制链接
贡献者 作者

非常感谢您的反馈@长号,非常感谢👍

我认为块编辑器中关于“样式”、“样式变化”、“(块)变化”的语言不是最佳的,可能会让开发人员(和用户)感到困惑。

同意。我不得不非常明确地尝试避免一些混淆,但在我看来,这样做会使讨论变得冗长和难以阅读。

此外,“块样式”可以表示注册的块样式(将is-style-class添加到块中),也可以为块注册样式表/内联CSS(请参见register_block_style)。

对的。这些仍然应该得到支持,但这里的目的是打开theme.json,将其作为定义其中一些内容的一种方法,并让用户对调整它们有更多的控制权。

只是想指出,当“变体”在多个地方使用,但含义不同时,在文档或web上搜索有时会非常困难和令人困惑。

100%同意!

因此,也许这是可以预见的,并且可以使用更清晰的命名。

正如你所指出的,许多这样的术语已经过时了,我认为需要共同努力来重命名/重塑它们。以及与社区的一些明确沟通。类似于可重用块如何重命名为模式。

不幸的是,这可能是我们在WP6.5之后需要考虑的问题。

@阿隆·罗伯特肖
复制链接
贡献者 作者

我已将问题描述中的计划更新如下:

对于WordPress 6.5,计划是:

将扩展块样式的变化推迟到6.5版之后的想法包括:

  • 该功能需要更多时间来完善
  • 有很多边缘案例,因此多轮测试将是有益的
  • 需要更多的时间来确保确定正确的方法,这可能取决于围绕广泛减少风格特异性而收到的反馈

与此问题相关的PR正在更新或关闭过程中。完成后,我将提供所有相关链接的另一个更新。

@阿隆·罗伯特肖
复制链接
贡献者 作者

快速更新:

年的工作仍在进行中#57908然而,它现在功能很好,看起来有点前途🤞.

努力实现降低整体块样式的特异性也在取得进展。它需要重新调整加载样式的顺序,而这一顺序刚刚合并到核心(WordPress/WordPress-develop#6010). 古腾堡的等价物现在在#58761.

风格加载顺序的变化将是6.5的全部原因,因为只有解锁区块风格变体才能真正降低特异性。考虑到固执己见的区块风格周围出现的边缘病例,将特异性降低推迟到6.5后将有更多的时间进行测试。

@前列腺增生 前列腺增生更改了标题WP 6.5的章节样式、配色和字体 WP 6.6的章节样式、配色和字体 2024年2月15日
@阿隆·罗伯特肖
复制链接
贡献者 作者

由于增强的块样式变化被延迟到6.6,因此应该可以使用新的v2更新相关的UI自定义选择组件,而不必采取使用下拉菜单的过渡步骤。

鉴于此,我已经更新了#57780相应地。

屏幕截图2024-02-21,下午5点46分45秒

@阿隆·罗伯特肖
复制链接
贡献者 作者

快速更新(4月23日):

#57908在最近受到更广泛关注后,仍在取得进展。

已经解决了大量反馈和一些错误。目前的延迟是试图在获得合并的最终批准之前对功能进行一点优化,并确保令人满意的性能。

根据情况,这可能会影响到该功能是否如之前所希望的那样在18.2着陆。

@阿隆·罗伯特肖
复制链接
贡献者 作者

现在的功能#57908已经有所稳定,计划是将PR拆分为几个较小的PR,在这些PR中,可以评估每个变更子集的性能,并在着陆前进行必要的改进。

这意味着18.2中不会出现剖面样式。

@阿隆·罗伯特肖
复制链接
贡献者 作者

通过对降低块样式变化的选择器专用性的审查,出现了两个需要解决的问题,然后才能实现截面样式(也称为块样式变化)功能。

  1. 块样式:减少默认块样式变体样式的特殊性 #61268
  2. 块样式:避免社交链接编辑UI中的按钮组件 #61269

此外,还需要合并将全局样式数据添加到块编辑器设置中的操作。

这些问题已在该跟踪问题的任务部分中指出。

@杰弗洛波德夫
复制链接

杰弗洛波德夫 评论2024年5月11日

我想知道是否可以解决这个问题#9357可以考虑。谢谢

@阿隆·罗伯特肖
复制链接
贡献者 作者

谢谢你提醒我@杰弗洛波德夫👍

#9357如果能解决这个问题当然很好,但它不属于这个问题的范围。当然,这并不意味着它不能单独处理。

就个人而言,在WP6.6之前,我没有足够的带宽来调查这个问题。

@阿隆·罗伯特肖
复制链接
贡献者 作者

阿隆·罗伯特肖 评论2024年5月14日

状态更新:

主请购单拆分流程(#57908)正在继续,大多数较小的PR已被合并。

虽然该功能即将完成,但还有一些其他功能边缘案例问题在评估block风格变异特异性降低到零时遇到#61032.

这包括一些块库样式没有其特定性的错误,也减少到了零。这导致这些块的全局样式被破坏。

如果通过将块库样式的特定性降至零来修复这些错误,则错误地重置样式将优先,并继续破坏全局样式。这方面的主要例子是社交链接块。

潜在影响

目前尚不清楚这将产生什么样的确切影响。在全球风格特异性首次降至零后,反馈或问题有限#60106.

A类目录搜索对于可能导致问题的常见重置样式,例如ul、ol对于社交链接板块,披露了1800个可能受到影响的主题。要求所有这些主题都必须降低其重置的特异性,例如。:其中(ul,ol),并不理想。

当前的计划是创建一套测试,可以针对目录中的所有主题运行,以量化潜在影响,并告知围绕该功能的任何决策。

选项1

继续向零特性推进,要求一些主题更新其重置样式表。

优势:

  • 这是核心风格的理想状态,具有尽可能低的特异性,并最大限度地简化了定制过程
  • 现在直接转向零特异性意味着需要对其选择器进行任何更新的主题只需要进行一次更改,而不是逐渐降低特异性

缺点:

  • 打破主题风格的潜力更大

通过收集有关变更真实影响的数据以及大量的沟通和文档,可以减轻其中的一些风险。

选项2

同时,正在探索一种折衷的方法,在这种方法中,特异性会大幅度降低,但不会达到零特异性。该方法背后的思想是,所有样式仍然具有“级别”特异性,这是通过将生成的选择器封装在:其中()然后在它们前面加上类似的东西html格式,:root,或身体这将充分提高它们的特异性,以克服常见的元素重置类型,例如ul、ol,小时1等。

探索此选项的公关可以在#61638.

折衷方法的优点:

  • 它不会破坏第三方可能进行的任何重置
  • 特异性仍在全球范围内降低,因此之前的工作和努力并没有完全丧失
  • 主题更容易覆盖核心样式
  • 不需要更新使用默认值的块样式选择器wp-块-*
  • 未来,这将提供一条迁移到CSS层的路径:root选择器可以替换为层。
  • 这并没有完全修改我们的样式系统的工作方式,这意味着不必完全修改部分样式特性。

缺点:

  • 目的:root选择器前缀不是很明显,可能会引起一些混淆
  • A类:root选择器具有与类相同的特性,即。0-1-0所以不会大大降低特异性。可以通过使用html格式身体.

@阿隆·罗伯特肖
复制链接
贡献者 作者

我发表了一篇关于GitHub的讨论WP6.6的CSS特定性希望在这里获得一些前进道路的明确性,并将决策记录在案。

@阿隆·罗伯特肖
复制链接
贡献者 作者

经过一段时间讨论,并考虑到6.6 beta之前的有限时间,可以选择使用:root前缀似乎是最安全的选择,似乎得到了大多数人的支持。

我想强调的是,这并不意味着我们将来不会出现零特定性样式,只是现在不适合WP6.6。在未来的版本中,我们可以朝着这个方向发展,同时也可以利用CSS层。

@阿隆·罗伯特肖
复制链接
贡献者 作者

特异性变化#61638现已合并,这将为获得主要截面样式PR扫清道路(#57908)也进行了审查🎉

@阿隆·罗伯特肖
复制链接
贡献者 作者

剖面样式功能位于古腾堡18.5,正在进行WP6.6🎉

有鉴于此,我将关闭此问题,并在6.6测试版期间跟进功能文档。

感谢所有参与其中的人!🙇

免费注册 在GitHub上加入此对话.已经有帐户了吗?登录以发表评论
标签
[功能]块样式变化 与块的样式变化相关的问题或请购单 [类型]迭代 跟踪问题或概述问题的工作范围迭代,理想情况下用于主要发布。
项目
没有打开的项目
状态:多恩
开发

没有分支或拉请求

6名参与者