首頁 web前端 Bootstrap教程 Bootstrap 5 Alpha發布囉!不再依賴jQuery,放棄支援IE

Bootstrap 5 Alpha發布囉!不再依賴jQuery,放棄支援IE

Jun 19, 2020 am 11:53 AM
ie jquery

Bootstrap 5 的第一個 Alpha 版發佈了!

幾個月來我們一直在努力完善 v4 班中開始的各項工作,並對自己的進步感到很滿意,但我們要做的事情還有很多。

我們一直在努力簡化 v4 到 v5 的遷移過程,但也不會駐足於那些已經過時或不再合適的內容上。因此,隨著 v5 的發布我們很高興地宣布,Bootstrap 不再依賴 jQuery,並且 我們放棄了對 Internet Explorer 的支援。我們的重心是建立面向未來的工具,雖然我們還沒有完全做到這一點,但承諾帶來CSS 變數、更快的JavaScript、更少的依賴項和更好的API,對我們來說肯定是正確的選擇。

在更新之前,請記住 v5 現在處於 Alpha 狀態,在我們的第一個 Beta 版本發布之前還會有新的重大變更。我們還沒有完成所有的增刪工作,因此如果你有任何疑問或回饋,請檢查 open issue 和 PR。

推薦學習:《bootstrap影片教學

#下面我們來深入探討這個新版本的一些亮點!

新外觀

我們以 v4.5.0 版本內部文件首頁的改進為基礎,為其他文件帶來了新的外觀和體驗。我們的文件頁面不再以完整寬度呈現,以提高可讀性,讓我們的網站更像是內容風格而非應用程式風格。此外我們還升級了側邊欄,以使用可擴展的部分(由我們自己的 Collapse 插件提供支援)來實現更快的導航。

Bootstrap 5 Alpha發布囉!不再依賴jQuery,放棄支援IE

我們還打造了一個全新的 Logo!詳情在新版穩定下來後會進一步介紹,現在可以說的就是我們想給 Logo 點新風貌。

Bootstrap 5 Alpha發布囉!不再依賴jQuery,放棄支援IE

受一開始創建這個專案的 CSS 的啟發,我們的 Logo 有一種規則集的感覺——由花括號包圍的樣式。我們很喜歡它,希望大家也能喜歡。隨著我們不斷改進和發布新版本,預期它會逐漸更新到我們的文件和部落格中。

jQuery 和JavaScript

在過去的十五年中,jQuery 為數以百萬計(甚至數以十億計?)的人們帶來了對複雜JavaScript 行為的強大支援。就我個人而言,我將永遠感激它為我提供的能力和支持,它為我編寫前端程式碼、學習新知識並利用社群中的插件提供了很多幫助。也許最重要的是,它永遠改變了 JavaScript,而這也是 jQuery 成功的里程碑。感謝所有 jQuery 貢獻者和維護者,他們為今天的一切付出良多。

得益於前端開發工具和瀏覽器支援的進步,我們現在可以移除 jQuery 這個依賴項了,而使用者並不會有什麼感覺。我們的主要 JavaScript 維護者 @Johann-S 負責了這項艱鉅的工作。 它是這個框架多年來最大的變化之一,也意味著基於 Bootstrap 5 構建的專案將大幅縮減檔案大小,並提升頁面載入速度。

除了移除 jQuery 外,我們還對 v5 中的 JavaScript 做了其他一些更改和增強,主要專注於提升程式碼品質並試圖彌合 v4 和 v5 之間的鴻溝。我們的一大變化是放棄了 Button 外掛的多數內容,而僅使用 HTML 和 CSS 來切換狀態。現在,toggle 按鈕由 checkbox 和 radio 按鈕提供支持,並且更加可靠。

你可以在 GitHub 上的第一個 v5 alpha 專案中查看 JS 相關變更的完整清單。

https://github.com/twbs/bootstrap/issues?q=label%3Ajs+project%3Atwbs%2Fbootstrap%2F11+is%3Aclosed
登入後複製

CSS 自訂屬性

如前所述,由於放棄了對 Internet Explorer 的支持,我們得以開始在 Bootstrap 5 中使用 CSS 自訂屬性。在 v4 版中我們只包含了一些顏色和字體的根變量,現在我們加入了 CSS 自訂屬性,讓許多元件和佈局選項受益。

以我們的.table 元件為例,其中加入了一些局部變量,讓開發人員更容易做出striped、hoverable 和active 的表格樣式:

.table {
  --bs-table-bg: #{$table-bg};
  --bs-table-accent-bg: transparent;
  --bs-table-striped-color: #{$table-striped-color};
  --bs-table-striped-bg: #{$table-striped-bg};
  --bs-table-active-color: #{$table-active-color};
  --bs-table-active-bg: #{$table-active-bg};
  --bs-table-hover-color: #{$table-hover-color};
  --bs-table-hover-bg: #{$table-hover-bg};
  // Styles here...
}
登入後複製

我們正在努力利用Sass和CSS 自訂屬性的強大能力,以打造更靈活的系統。你可以在 Tables 文件頁面中查閱更多相關資訊。不久的將來我們也會在按鈕之類的元件中見到這些特性的應用。

https://v5.getbootstrap.com/docs/5.0/content/tables/#how-do-the-variants-and-accented-tables-work
登入後複製

改進的自訂文件

我們對文件做出了許多改進,提供了更多解釋,消除了歧義,並為Bootstrap 的擴展提供了更多支持。首先要說的是全新的「自訂」部分。

https://v5.getbootstrap.com/docs/5.0/customize/overview/
登入後複製

Bootstrap 5 Alpha發布囉!不再依賴jQuery,放棄支援IE

v5 的“自定义”(Customize)文档在 v4 的“主题”(Theming)页面上进行了扩展,提供了更多内容和代码段,帮助开发人员基于 Bootstrap 的源 Sass 文件构建内容。我们在这里加入了更多内容,甚至提供了一个入门 npm 项目,帮助用户快速上手。它也是 GitHub 上的一个模板存储库,因此你可以自由 fork。

https://github.com/twbs/bootstrap-npm-starter
登入後複製

Bootstrap 5 Alpha發布囉!不再依賴jQuery,放棄支援IE

我们也在 v5 中扩展了调色板。借助内置的丰富颜色系统,你可以更轻松地自定义应用的外观,过程中无需离开代码库。我们还做了一些工作来改善色彩对比度,甚至在色彩文档中提供了色彩对比度指标。希望这能为 Bootstrap 支持的站点带来更好的可访问性。

表单更新

除了新的“自定义”部分外,我们还对“表单”(Forms)文档和组件进行了全面修订。我们将所有表单样式合并到了一个新的“表单”部分(包括输入组组件),以给予它们应有的重视。

Bootstrap 5 Alpha發布囉!不再依賴jQuery,放棄支援IE

除了新的文档页面外,我们还重新设计了所有表单控件,移除了重复内容。在 v4 版中,我们引入了一套丰富的自定义表单控件(check、radio、switch、file 等),但这些功能是对各款浏览器提供的默认设置的补充。在 v5 中,我们实现了完全自定义。

Bootstrap 5 Alpha發布囉!不再依賴jQuery,放棄支援IE

如果你熟悉 v4 的表单标记,新内容接受起来也会很容易。表单控件合并为一组,并重新设计现有元素(而不是做新元素或伪元素)后,我们就能提供更加一致的外观和体验。

<div class="form-check">
  <input class="form-check-input" type="checkbox" value="" id="flexCheckDefault">
  <label class="form-check-label" for="flexCheckDefault">
    Default checkbox
  </label>
</div>
<div class="form-check">
  <input class="form-check-input" type="radio" name="flexRadioDefault" id="flexRadioDefault1">
  <label class="form-check-label" for="flexRadioDefault1">
    Default radio
  </label>
</div>
<div class="form-check form-switch">
  <input class="form-check-input" type="checkbox" id="flexSwitchCheckDefault">
  <label class="form-check-label" for="flexSwitchCheckDefault">Default switch checkbox input</label>
</div>
登入後複製

每个 checkbox、radio、select、file、range 等元素都包含自定义外观,以统一跨 OS 和浏览器的表单控件的样式和行为。这些新的表单控件都是基于完全语义化的标准表单控件构建的,不再需要多余的标记,只有表单控件和标签。

请查阅新的表单文档,告诉我们你的看法。

https://v5.getbootstrap.com/docs/5.0/forms/overview/
登入後複製

使用程序 API

我们很高兴看到有很多人都在构建新颖有趣的 CSS 库和工具包,不断改进我们构建 Web 内容的方式。因此,我们在 Bootstrap 5 中实现了全新的实用程序(utility)API。

$utilities: () !default;
$utilities: map-merge(
  (
    // ...
    "width": (
      property: width,
      class: w,
      values: (
        25: 25%,
        50: 50%,
        75: 75%,
        100: 100%,
        auto: auto
      )
    ),
    // ...
    "margin": (
      responsive: true,
      property: margin,
      class: m,
      values: map-merge($spacers, (auto: auto))
    ),
    // ...
  ), $utilities);
登入後複製

自从实用程序成为一种首选的构建方式以来,我们一直在寻找适当的平衡点,以便在 Bootstrap 中实现它们的同时提供控制和自定义功能。在 v4 中,我们使用了全局 $enable-* 类来实现它,在 v5 中则更进一步。但采用基于 API 的方法后,我们在 Sass 中创建了一种语言和语法,让你可以及时创建自己的实用程序,同时还可以修改或删除我们提供的实用程序。

我们认为这对于那些基于我们的源文件构建内容的开发人员来说是一大利好,欢迎大家尝试。

注意! 我们将之前的一些 v4 实用程序移到了新的“帮助程序”(Helper)部分。这些帮助程序是一些代码段,比你常用的 property-value 更长一些。这改善了命名操作和我们的文档内容。

增强网格系统

从设计上来说,Bootstrap 5 并没有对 v4 推倒重来。我们希望大家都能更轻松地升级到这个新版本上。因此,我们将大部分构建系统保留在原位(只是拿掉了 jQuery),并且我们还保留了现有的网格系统。

以下是我们在网格中所做更改的摘要:

  • 我们添加了一个新的网格层!那就是 xxl。

  • .gutter 类已被.g* 使用程序替代,它很像我们的 margin/padding 实用程序。我们还为网格 gutter spacing 添加了一些选项,以配合大家熟悉的 spacing 实用程序。

  • https://v5.getbootstrap.com/docs/5.0/layout/gutters/

  • 表单布局选项已替换为新的网格系统。

  • 添加了 Vertical spacing 类。

  • 列默认不再是 position: relative。

下面是一个新的网格 gutter 类的快速示例:

<div class="row g-5">
  <div class="col">...</div>
  <div class="col">...</div>
  <div class="col">...</div>
</div>
登入後複製

查看文档以了解更多信息。

https://v5.getbootstrap.com/docs/5.0/layout/
登入後複製

CSS 网格布局正在日益完善,我们也在持续关注并学习它。预计将来的 v5 版本会进一步与之产生交集。

文档

我们将文档静态站点生成器从 Jekyll 切换到了 Hugo。长期以来,Jekyll 一直是我们的首选生成器,因为它安装和运行起来非常容易,并且部署到 GitHub Pages 也十分简单。

但这些年来,我们在 Jekyll 上遇到了两大问题:

1、Jekyll 要求安装 Ruby

2、站点生成速度非常缓慢

相比之下,Hugo 使用 Go 编写的,因此它没有外部运行时依赖项,并且速度更快。我们构建当前的主分支站点(包括文档的 Sass->CSS 转换)只用了 1.6 秒。我们的本地服务器重新加载的时间从 8-12 秒缩短到了毫秒计,大大改善了处理文档的体验。

即将推出:RTL、offcanvas 等

我们的第一个 Alpha 时间不够,还有很多内容没有加入进来,预计它们会在之后的版本中实现。这里先提前预告一下相关内容。

  • RTL 即将到来!我们已经用 RTLCSS 做了一个 PR,并且还将继续探索逻辑属性。就我个人而言,很抱歉花了这么长时间才解决这个问题,我们知道社区为此付出了多大努力。希望等待是值得的。

  • 我们的 modal 有一个分叉的版本,实现了 offcanvas 菜单。这里还需要做很多工作来控制开销,改善体验。但有了 offcanvas 包装器后,大家就可以放很多适合侧边栏的内容(导航,购物车等)了。

  • 我们正在评估其他许多更改,包括 Sass 模块系统、更多 CSS 自定义属性的应用,将 SVG 嵌入 HTML 而不是 CSS 等等。

未来还会有很多改进,包括更多文档改进、错误修复和体验增强。请务必查看我们的 open issue 和 PR,以提供反馈、测试社区 PR 或分享看法。

试用

可以访问官网获取新版本:

https://v5.getbootstrap.com/
登入後複製

或在命令行中输入:

npm i bootstrap@next
登入後複製

下一步计划

在 v5 中我们还有很多工作要做,其中包括一些重大更改。我们将尽可能听取反馈,与大家保持同步。我们的目标是在 3-4 周内再发布一次 Alpha 版,此后可能还会再发布几次。我们还将发布 v4.5.1 版本,以修复一些旧问题。

除此之外,请密切关注 Bootstrap Icons 项目,我们的 RFS 项目(现在在 v5 中已默认启用)和 npm starter 项目的更新信息。

https://icons.getbootstrap.com/
https://github.com/twbs/rfs
https://github.com/twbs/bootstrap-npm-starter
登入後複製

以上是Bootstrap 5 Alpha發布囉!不再依賴jQuery,放棄支援IE的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1670
14
CakePHP 教程
1428
52
Laravel 教程
1329
25
PHP教程
1276
29
C# 教程
1256
24
jQuery引用方法詳解:快速上手指南 jQuery引用方法詳解:快速上手指南 Feb 27, 2024 pm 06:45 PM

jQuery引用方法詳解:快速上手指南jQuery是一個受歡迎的JavaScript庫,被廣泛用於網站開發中,它簡化了JavaScript編程,並為開發者提供了豐富的功能和特性。本文將詳細介紹jQuery的引用方法,並提供具體的程式碼範例,幫助讀者快速上手。引入jQuery首先,我們需要在HTML檔案中引入jQuery函式庫。可以透過CDN連結的方式引入,也可以下載

jQuery中如何使用PUT請求方式? jQuery中如何使用PUT請求方式? Feb 28, 2024 pm 03:12 PM

jQuery中如何使用PUT請求方式?在jQuery中,發送PUT請求的方法與發送其他類型的請求類似,但需要注意一些細節和參數設定。 PUT請求通常用於更新資源,例如更新資料庫中的資料或更新伺服器上的檔案。以下是在jQuery中使用PUT請求方式的具體程式碼範例。首先,確保引入了jQuery庫文件,然後可以透過以下方式發送PUT請求:$.ajax({u

jQuery小技巧:快速修改頁面所有a標籤的文本 jQuery小技巧:快速修改頁面所有a標籤的文本 Feb 28, 2024 pm 09:06 PM

標題:jQuery小技巧:快速修改頁面所有a標籤的文字在網頁開發中,我們經常需要對頁面中的元素進行修改和操作。使用jQuery時,有時候需要一次修改頁面中所有a標籤的文字內容,這樣可以節省時間和精力。以下將介紹如何使用jQuery快速修改頁面所有a標籤的文本,同時給出具體的程式碼範例。首先,我們需要引入jQuery庫文件,確保在頁面中引入了以下程式碼:&lt

使用jQuery修改所有a標籤的文字內容 使用jQuery修改所有a標籤的文字內容 Feb 28, 2024 pm 05:42 PM

標題:使用jQuery修改所有a標籤的文字內容jQuery是一款受歡迎的JavaScript庫,被廣泛用於處理DOM操作。在網頁開發中,經常會遇到需要修改頁面上連結標籤(a標籤)的文字內容的需求。本文將介紹如何使用jQuery來實現這個目標,並提供具體的程式碼範例。首先,我們需要在頁面中引入jQuery庫。在HTML檔案中加入以下程式碼:

jQuery如何移除元素的height屬性? jQuery如何移除元素的height屬性? Feb 28, 2024 am 08:39 AM

jQuery如何移除元素的height屬性?在前端開發中,經常會遇到需要操作元素的高度屬性的需求。有時候,我們可能需要動態改變元素的高度,而有時候又需要移除元素的高度屬性。本文將介紹如何使用jQuery來移除元素的高度屬性,並提供具體的程式碼範例。在使用jQuery操作高度屬性之前,我們首先需要了解CSS中的height屬性。 height屬性用於設定元素的高度

了解jQuery中eq的作用及應用場景 了解jQuery中eq的作用及應用場景 Feb 28, 2024 pm 01:15 PM

jQuery是一種流行的JavaScript庫,被廣泛用於處理網頁中的DOM操作和事件處理。在jQuery中,eq()方法是用來選擇指定索引位置的元素的方法,具體使用方法和應用場景如下。在jQuery中,eq()方法選擇指定索引位置的元素。索引位置從0開始計數,即第一個元素的索引是0,第二個元素的索引是1,依此類推。 eq()方法的語法如下:$("s

Win10開啟IE自動跳到Edge怎麼取消_IE瀏覽器頁​​面自動跳轉的解決方法 Win10開啟IE自動跳到Edge怎麼取消_IE瀏覽器頁​​面自動跳轉的解決方法 Mar 20, 2024 pm 09:21 PM

近期不少的win10用戶們在使用電腦瀏覽器的時候發現自己的ie瀏覽器總是自動的跳到edge瀏覽器,那麼win10打開ie自動跳轉edge怎麼關閉?。下面就讓本站來為用戶們來仔細的介紹一下win10打開ie自動跳轉edge關閉方法吧。 1.我們登入edge瀏覽器,點選右上角...,找下拉的設定選項。 2.我們進入設定後,在左側欄點選預設瀏覽器。 3.最後我們在相容性中,勾選不允許IE模式下重新載入網站,重啟ie瀏覽器即可。

使用jQuery為表格新增一行的方法介紹 使用jQuery為表格新增一行的方法介紹 Feb 29, 2024 am 08:12 AM

jQuery是一個受歡迎的JavaScript函式庫,廣泛用於網頁開發。在網頁開發過程中,經常需要透過JavaScript動態地在表格中新增一行。本文將介紹如何使用jQuery為表格新增一行,並提供具體的程式碼範例。首先,我們需要在HTML頁面中引入jQuery函式庫。可以透過以下程式碼在標籤中引入jQuery庫:

See all articles