在我们的第一个Beta版本的Bootstrap 5中,我们将其称为新功能和重大更改。从现在开始,我们仅是在向稳定的v5发行版发布过程中对功能,错误和文档进行了微调。 hoo!
就像v4的开发过程一样,我们的v5文档已临时托管在下一个主要版本的子域中。从今天开始,这些文档将移至主域,而我们以前的v5.getbootstrap.com域将重定向。
此版本中添加了一些非常棒的新功能-RTL !,并且进行了一些重要更改。继续阅读有关低谷的文章,让我们知道您的想法!
多年来,我们对该项目的最大贡献是,我们终于在Bootstrap中添加了RTL支持!请与我一起对@ffoodd(我们的最新贡献者之一以及RTL pull request的作者)致以深深的谢意。拉取请求中包含将近50篇关于现有问题和PR的参考,这些参考和PR试图将功能实现到我们的核心中。
CSS dist文件的新RTL版本,其中包括网格,重新启动,实用程序和标准捆绑包。请参阅目录页面以获取文件的完整列表。
五个新的RTL示例,它们展示了我们新的RTL CSS的运行情况,将我们的Album,Checkout,Carousel,Blog和Dashboard示例转换为所有新的从右到左的等效项。
两个新的备忘单厨房水槽页面-我们的标准CSS和RTL备忘单的默认备忘单。
我们的方法基于RTLCSS,这是一个了不起的项目,可帮助重新处理RTL的现有LTR样式表。我们目前将其归类为实验功能,预计我们会发现其中的一些错误。我们希望社区能够帮助我们完善剩下的待办事项,以完善这一功能。
这个问题有一些尚未完成的待办事项,我们的团队已在计划中解决。看到其他我们可以改善的地方了吗?请考虑打开一个问题或请求请求。
在我们的文档中的Bootstrap中阅读RTL,包括必需的HTML更改,入门模板,有关我们方法的详细信息等等。
我们向Bootstrap添加RTL的方法的一部分是以对我们自己和整个Web都友好的方式添加它。因此,我们秉承了CSS逻辑属性的精神,并重命名了几个类和变量。由于更改的规模和影响,这是一个冒险的更改,但我们希望您能从整体上体会到它的好处!
借助我们的flex实用程序,大多数人已经与逻辑属性进行了交互-它们替换了方向属性(如left和right),以开始和结尾为好。像align-items-end这样的东西也很受欢迎。这使得水平方向类名适用于LTR和RTL,而不会增加任何额外的开销。
例如,在LTR上下文中,使用.ms-3代替左边缘的.ml-3。请务必阅读RTL迁移指南,以获取重命名的类和变量的完整列表。
我们已经将Popper.js从v1.x升级到v2.x,并对其工具提示和弹出窗口进行了一些小改动。这两项更改是为什么我们无法尽快更新到v2.x的原因。
从我们的工具提示/弹出框和下拉菜单中删除了偏移选项;仍然可以使用popperConfig参数来实现。
Popper.js v2还为我们的主要依赖项提供了较小的文件大小,更新的位置计算等。除此之外,我们的工具提示和弹出窗口保持不变,并且功能强大。
我们已将所有数据属性重命名为将bs作为前缀,从而对所有HTML属性进行了命名间隔,这些HTML属性可通过插件实现JavaScript行为。有关详情,请参见#31827。它有助于在整个项目中清楚地识别需要Bootstrap的JavaScript触发器。
进行此更改有点烦人,但很容易通过查找和替换进行补救。新属性的工作方式与旧属性一样,只是更加具体。例如,这是带有新重命名的data-bs-toggle属性的下拉按钮和菜单。
< div class ="下拉列表" > < button class =" btn btn-secondary dropdown-toggle"类型="按钮" id =" dropdownMenuButton" data-bs-toggle ="下拉" aria-expanded =" false" >下拉按钮< / button> < ul class ="下拉菜单" aria-labelledby =" dropdownMenuButton" > < li>< a class =" dropdown-item" href ="#" >动作< / a< / li> < li>< a class =" dropdown-item" href ="#" <另一个动作< / a< / li> < li>< a class =" dropdown-item" href ="#" >这里还有< / a< / li> < / ul> < / div>
在尝试了一些JavaScript定位吐司解决方案之后,借助新的定位实用程序,我们开始采用仅CSS的新方法。这带来了一些小的突破性更改,即对CSS的确切属性进行了一些更改,以及我们如何更改烤面包的可见性,但在很大程度上保持了它们的完整性。
我们的文档也进行了更新,以包括一个新的职位预览选择器,因此您可以看到它们的使用情况。有关更多详细信息,请参见请求请求。
除了命名空间之外,我们还致力于其他一些JavaScript改进和错误修复。以下是新功能的摘要:
Bootstrap 5的最大新功能之一就是我们的实用程序API,这是自定义,添加或删除Bootstrap实用程序的可扩展方式。我们一直在反复进行,我们的最新改进是能够使用state选项添加伪类变体。
使用state选项生成伪类变体。伪类的例子是:hover和:focus。提供状态列表后,将为该伪类创建类名。例如,要更改悬停时的不透明度,请添加状态:悬停,然后在已编译的CSS中会得到.opacity-hover:hover。
$ utilities:(" opacity":((属性:不透明度,类:不透明度,状态:悬停,值:(0:0,25:.25,50:.5,75:.75,100: 1,)));
.opacity-0-hover:hover {opacity:0; } .opacity-25-hover:hover {opacity:.25; } .opacity-50-hover:hover {opacity:.5; } .opacity-75-hover:hover {opacity:.75; } .opacity-100-hover:hover {opacity:1; }
在其他地方,我们进行了其他一些重大更改和改进。最值得注意的更新包括:
修复:删除了某些导致不良性能的表行的默认线性渐变。仅供参考。参见#32277。
更新:面包屑现在具有简化的外观。 使用实用程序可以根据需要恢复填充,背景色和边框半径。 参见#32149。 有关更改的完整列表,请查看v5 Beta项目委员会或此版本中的问题和PR列表。 前往https://getbootstrap.com探索新版本。 我们还将此更新作为npm的预发布版本发布,因此,如果您感到胆大或对新功能感到好奇,可以通过这种方式获取最新信息。 访问我们的Open Collective页面或我们团队成员的GitHub个人资料,以帮助支持维护者为Bootstrap做出贡献。