Hướng dẫn can i still use bootstrap 3? - tôi vẫn có thể sử dụng bootstrap 3 chứ?

Bootstrap 4 là một bản viết lại chính của toàn bộ dự án. Những thay đổi đáng chú ý nhất được tóm tắt dưới đây, theo sau là những thay đổi cụ thể hơn đối với các thành phần có liên quan.

Show

Thay đổi ổn định

Chuyển từ Beta 3 sang bản phát hành V4.0 ổn định của chúng tôi, không có thay đổi nào, nhưng có một số thay đổi đáng chú ý.

In

  • Đã sửa lỗi các tiện ích in bị hỏng. Trước đây, sử dụng lớp .d-print-* sẽ bất ngờ ghi đè bất kỳ lớp .d-* nào khác. Bây giờ, chúng phù hợp với các tiện ích hiển thị khác của chúng tôi và chỉ áp dụng cho phương tiện đó (@media print).

  • Mở rộng các tiện ích hiển thị in có sẵn để phù hợp với các tiện ích khác. Beta 3 trở lên chỉ có block, inline-block, inlinenone. Ổn định V4 đã thêm flex, inline-flex, table, .d-*0 và .d-*1.

  • Đã sửa lỗi kết xuất xem trước in trên các trình duyệt với các kiểu in mới chỉ định .d-*2 .d-*3.

Beta 3 thay đổi

Mặc dù Beta 2 đã thấy phần lớn các thay đổi phá vỡ của chúng tôi trong giai đoạn Beta, nhưng chúng tôi vẫn có một số thay đổi cần được giải quyết trong bản phát hành Beta 3. Những thay đổi này được áp dụng nếu bạn đang cập nhật Beta 3 từ Beta 2 hoặc bất kỳ phiên bản Bootstrap cũ nào.

Điều khoản khác

  • Đã loại bỏ biến .d-*4 chưa sử dụng. Chúng tôi không chuyển đổi bất cứ điều gì, vì vậy nó chỉ là mã bổ sung.
  • Gói NPM không còn bao gồm bất kỳ tệp nào ngoài các tệp nguồn và dist của chúng tôi; Nếu bạn dựa vào chúng và đang chạy tập lệnh của chúng tôi thông qua thư mục .d-*5, bạn nên điều chỉnh quy trình làm việc của mình.

Các hình thức

  • Viết lại cả hộp kiểm tùy chỉnh và mặc định và radio. Bây giờ, cả hai đều có cấu trúc HTML phù hợp (bên ngoài .d-*6 với anh chị em .d-*7 và .d-*8) và các kiểu bố cục tương tự (xếp chồng mặc định, nội tuyến với lớp sửa đổi). Điều này cho phép chúng tôi tạo kiểu cho nhãn dựa trên trạng thái đầu vào, đơn giản hóa hỗ trợ cho thuộc tính .d-*9 (trước đây yêu cầu lớp cha) và hỗ trợ tốt hơn xác thực biểu mẫu của chúng tôi.

    Là một phần của điều này, chúng tôi đã thay đổi CSS để quản lý nhiều ____20 trên các hộp kiểm và radio tùy chỉnh. Trước đây, phần tử @media print1 đã bị loại bỏ có màu nền, gradient và svg. Tùy chỉnh độ dốc nền có nghĩa là thay thế tất cả những thứ đó mỗi khi bạn cần thay đổi chỉ một. Bây giờ, chúng tôi có @media print2 để điền và gradient và @media print3 xử lý biểu tượng.

    Để thực hiện kiểm tra tùy chỉnh nội tuyến, thêm @media print4.

  • Bộ chọn cập nhật cho các nhóm nút dựa trên đầu vào. Thay vì @media print5 cho phong cách và hành vi, chúng tôi sử dụng thuộc tính @media print6 chỉ dành cho các hành vi của JS và dựa vào một lớp @media print7 mới để tạo kiểu.

  • Đã loại bỏ @media print8 có lợi cho một @media print9 được cải thiện một chút. Bằng cách này block0 và block1 có thể được sử dụng trên các yếu tố block2 một cách dễ dàng.

  • Đầu vào tệp tùy chỉnh đã nhận được một thay đổi đối với biến SASS block3 của họ. Nó không còn là một bản đồ sass lồng nhau và bây giờ chỉ cung cấp năng lượng cho một chuỗi, nút block4 vì đó bây giờ là yếu tố giả duy nhất được tạo ra từ sass của chúng tôi. Văn bản block5 bây giờ đến từ block6.

Nhóm đầu vào

  • Các addon nhóm đầu vào hiện là cụ thể cho vị trí của chúng so với đầu vào. Chúng tôi đã bỏ block7 và block8 cho hai lớp mới, block9 và inline-block0. Bạn phải sử dụng rõ ràng một phần phụ hoặc một dự bị ngay bây giờ, đơn giản hóa nhiều CSS của chúng tôi. Trong một phần phụ hoặc dự bị, đặt các nút của bạn vì chúng sẽ tồn tại ở bất kỳ nơi nào khác, nhưng bao bọc văn bản trong inline-block1.

  • Các kiểu xác thực hiện được hỗ trợ, cũng như nhiều đầu vào (mặc dù bạn chỉ có thể xác nhận một đầu vào cho mỗi nhóm).

  • Các lớp kích thước phải nằm trên phụ huynh inline-block2 chứ không phải các yếu tố mẫu riêng lẻ.

Beta 2 thay đổi

Trong khi ở Beta, chúng tôi mong muốn không có thay đổi phá vỡ. Tuy nhiên, mọi thứ don luôn luôn đi theo kế hoạch. Dưới đây là những thay đổi phá vỡ để ghi nhớ khi chuyển từ beta 1 sang beta 2.

Phá vỡ

  • Đã xóa biến inline-block3 và việc sử dụng của nó trên inline-block4. Chúng tôi sử dụng hàm tương phản màu để chọn inline-block5 dựa trên inline-block6, do đó biến là không cần thiết.
  • Đổi tên chức năng inline-block7 thành inline-block8 để tránh phá vỡ xung đột với bộ lọc inline-block9 gốc CSS.
  • Được đổi tên thành inline0, inline1 và inline2 thành inline3 và inline4, phù hợp với các bảng màu của chúng tôi được sử dụng ở nơi khác.
  • Các bảng đáp ứng bây giờ tạo các lớp cho mỗi điểm dừng lưới. Điều này phá vỡ từ Beta 1 ở chỗ inline5 mà bạn đã sử dụng giống như inline6. Bây giờ bạn có thể sử dụng inline5 hoặc inline8 khi cần thiết.
  • Hỗ trợ Bower bị rơi với tư cách là người quản lý gói đã không được dùng cho các lựa chọn thay thế (ví dụ: sợi hoặc NPM). Xem Bower/Bower#2298 để biết chi tiết.
  • Bootstrap vẫn yêu cầu JQuery 1.9.1 trở lên, nhưng bạn nên sử dụng phiên bản 3.x vì các trình duyệt được hỗ trợ của V3.x là những người hỗ trợ Bootstrap cộng với V3.x có một số bản sửa lỗi bảo mật.
  • Đã loại bỏ lớp inline9 chưa sử dụng. Nếu bạn đã sử dụng lớp này, thì đó là bản sao của lớp @media print9 tập trung theo chiều dọc .d-*8 với đầu vào liên kết của nó trong bố cục hình thức ngang.
  • Đã thay đổi none2 từ một hỗn hợp bao gồm thuộc tính inline-block5 thành một hàm trả về giá trị, cho phép bạn sử dụng nó cho bất kỳ thuộc tính CSS nào. Ví dụ: thay vì none4, bạn đã viết none5.

Điểm nổi bật

  • Giới thiệu cách sử dụng none6 mới trên phương thức. none7 bên ngoài truyền qua các sự kiện với none8 để xử lý nhấp chuột tùy chỉnh (giúp chỉ có thể nghe trên none9 cho bất kỳ nhấp chuột nào), sau đó chống lại nó cho flex0 thực tế với flex1.

Bản tóm tắt

Dưới đây là các mặt hàng vé lớn mà bạn sẽ muốn biết khi chuyển từ V3 sang V4.

Hỗ trợ trình duyệt

  • Bỏ IE8, IE9 và iOS 6 hỗ trợ. V4 bây giờ chỉ là IE10+ và iOS 7+. Đối với các trang web cần một trong hai, sử dụng v3.
  • Đã thêm hỗ trợ chính thức cho Trình duyệt và WebView của Android V5.0 Lollipop. Các phiên bản trước của trình duyệt Android và WebView vẫn chỉ được hỗ trợ không chính thức.

Thay đổi toàn cầu

  • FlexBox được bật theo mặc định. Nói chung, điều này có nghĩa là một sự di chuyển ra khỏi phao và nhiều hơn nữa trên các thành phần của chúng tôi. In general this means a move away from floats and more across our components.
  • Chuyển từ ít hơn sang SASS cho các tệp CSS nguồn của chúng tôi.
  • Chuyển từ flex2 sang flex3 làm đơn vị CSS chính của chúng tôi, mặc dù các pixel vẫn được sử dụng cho các truy vấn phương tiện và hành vi lưới vì chế độ xem thiết bị không bị ảnh hưởng bởi kích thước loại.
  • Kích thước phông chữ toàn cầu tăng từ flex4 lên flex5.
  • Các tầng lưới được tân trang lại để thêm tùy chọn thứ năm (giải quyết các thiết bị nhỏ hơn ở flex6 trở xuống) và loại bỏ flex7 Infix khỏi các lớp đó. Ví dụ: flex8.
  • Đã thay thế chủ đề tùy chọn riêng biệt bằng các tùy chọn có thể định cấu hình thông qua các biến SCSS (ví dụ: flex9).
  • Xây dựng hệ thống được đại tu để sử dụng một loạt các tập lệnh NPM thay vì càu nhàu. Xem inline-flex0 cho tất cả các tập lệnh hoặc dự án của chúng tôi ReadMe cho nhu cầu phát triển địa phương.
  • Việc sử dụng không đáp ứng của bootstrap không còn được hỗ trợ.
  • Bỏ các tùy chỉnh trực tuyến để ủng hộ tài liệu thiết lập rộng rãi hơn và các bản dựng tùy chỉnh.
  • Đã thêm hàng chục lớp tiện ích mới cho các cặp giá trị tài sản CSS phổ biến và các phím tắt khoảng cách lề/phần đệm.

Hệ thống lưới điện

  • Chuyển đến Flexbox.
    • Đã thêm hỗ trợ cho Flexbox trong các lớp bản phối lưới và các lớp được xác định trước.
    • Là một phần của Flexbox, bao gồm hỗ trợ cho các lớp căn chỉnh dọc và ngang.
  • Cập nhật tên lớp lưới và một tầng lưới mới.
    • Đã thêm một tầng lưới inline-flex1 mới bên dưới inline-flex2 để kiểm soát hạt hơn. Bây giờ chúng tôi có inline-flex3, inline-flex1, inline-flex5, inline-flex6 và inline-flex7. Điều này cũng có nghĩa là mọi tầng đã được tăng lên một cấp độ (vì vậy inline-flex8 trong V3 hiện là inline-flex9 trong V4).
    • inline-flex3 Các lớp lưới đã được sửa đổi để không yêu cầu Infix thể hiện chính xác hơn rằng chúng bắt đầu áp dụng các kiểu ở table1 và không phải là giá trị pixel được đặt. Thay vì table2, nó bây giờ table3. Tất cả các tầng lưới khác yêu cầu infix (ví dụ: inline-flex1).
  • Cập nhật kích thước lưới, mixin và biến.
    • Món máng ăn hiện có một bản đồ SASS để bạn có thể chỉ định độ rộng máng xối cụ thể tại mỗi điểm dừng.
    • Cập nhật các hỗn hợp lưới để sử dụng hỗn hợp chuẩn bị table5 và table6 để đặt flextable8 cho kích thước cột riêng lẻ.
    • Thay đổi các điểm dừng truy vấn phương tiện truyền thông hệ thống lưới và chiều rộng của container để tính đến tầng lưới mới và đảm bảo các cột chia hết cho table9 ở chiều rộng tối đa của chúng.
    • Các điểm dừng lưới và chiều rộng của container hiện được xử lý thông qua các bản đồ SASS (.d-*00 và .d-*01) thay vì một số các biến riêng biệt. Chúng thay thế hoàn toàn các biến ____102 và cho phép bạn tùy chỉnh đầy đủ các tầng lưới.
    • Truy vấn truyền thông cũng đã thay đổi. Thay vì lặp lại các khai báo truy vấn truyền thông của chúng tôi với cùng một giá trị mỗi lần, giờ đây chúng tôi có .d-*03. Bây giờ, thay vì viết .d-*04, bạn có thể viết .d-*05.

Các thành phần

  • Các tấm bị bỏ, hình thu nhỏ và giếng cho một thành phần mới bao gồm các thẻ, thẻ. for a new all-encompassing component, cards.
  • Thả phông chữ biểu tượng glyphicons. Nếu bạn cần biểu tượng, một số tùy chọn là: If you need icons, some options are:
    • Phiên bản Glyphicons ngược dòng
    • Octicons
    • Phông chữ tuyệt vời
    • Xem trang mở rộng để biết danh sách các lựa chọn thay thế. Có đề xuất bổ sung? Vui lòng mở một vấn đề hoặc PR.
  • Bỏ plugin JQuery.
    • Chúng tôi khuyên bạn nên sử dụng .d-*06 thay thế. Xem HTML5 Vui lòng nhập để biết chi tiết và các khuyến nghị polyfill cụ thể. Một gợi ý là sử dụng quy tắc .d-*07 để thực hiện nó (ví dụ: ________ 108)/
    • Nếu bạn đang sử dụng phụ kiện để áp dụng các kiểu bổ sung, không phải là 109, PolyFills có thể không hỗ trợ trường hợp sử dụng của bạn. Một tùy chọn cho việc sử dụng như vậy là thư viện scrollpos-styler của bên thứ ba.
  • Bỏ các thành phần máy nhắn tin vì nó về cơ bản là các nút hơi tùy chỉnh. as it was essentially slightly customized buttons.
  • Được tái cấu trúc gần như tất cả các thành phần để sử dụng nhiều bộ chọn lớp không được lồng thay vì các bộ chọn trẻ em quá cụ thể. to use more un-nested class selectors instead of over-specific children selectors.

Bởi thành phần

Danh sách này nêu bật các thay đổi chính theo thành phần giữa V3.x.x và V4.0.0.

Khởi động lại

Mới đến Bootstrap 4 là phần khởi động lại, một biểu định kiểu mới được xây dựng trên Bình thường hóa với các kiểu thiết lập lại có phần có ý kiến ​​của chúng ta. Các bộ chọn xuất hiện trong tệp này chỉ sử dụng các yếu tố, không có lớp nào ở đây. Điều này cô lập các kiểu thiết lập lại của chúng tôi từ các kiểu thành phần của chúng tôi cho một cách tiếp cận mô -đun hơn. Một số thiết lập lại quan trọng nhất bao gồm là thay đổi .d-*10, chuyển từ .d-*11 sang flex3 đơn vị trên nhiều yếu tố, kiểu liên kết và nhiều thiết lập lại phần tử.

Kiểu chữ

  • Đã chuyển tất cả các tiện ích .d-*13 sang tệp .d-*14.
  • Rơi .d-*15, ngoài biên giới, tất cả các kiểu của nó có thể được áp dụng thông qua các tiện ích.
  • .d-*16 đã bị loại bỏ. Thay vào đó, hãy sử dụng .d-*17 trên .d-*18 và sử dụng các lớp cột lưới (hoặc mixin) trên trẻ em .d-*19 và .d-*20.
  • Kiểu dáng tùy chỉnh ____121 đã được chuyển sang các lớp học.
  • .d-*24 hiện yêu cầu các mục trong danh sách trẻ em của nó có lớp .d-*25 mới được áp dụng cho chúng.

Hình ảnh

  • Đổi tên thành .d-*26 thành .d-*27.
  • Đổi tên thành .d-*28 thành .d-*29
  • Đổi tên thành .d-*30 thành .d-*31

Những cái bàn

  • Gần như tất cả các trường hợp của bộ chọn .d-*32 đã bị xóa, có nghĩa là các bảng lồng nhau giờ đây sẽ tự động kế thừa các kiểu từ cha mẹ của họ. Điều này đơn giản hóa rất nhiều bộ chọn và tùy chỉnh tiềm năng của chúng tôi.
  • Bảng đáp ứng không còn yêu cầu một yếu tố gói. Thay vào đó, chỉ cần đặt inline5 ngay trên .d-*34.
  • Đổi tên thành .d-*35 thành .d-*36 cho tính nhất quán.
  • Đã thêm tùy chọn inline0 mới.
  • Đã thêm các sửa đổi tiêu đề bảng: inline2 và inline1.
  • Đổi tên các lớp theo ngữ cảnh để có ____ 140-prefix. Do đó .d-*41, .d-*42, .d-*43, .d-*44 và .d-*45 đến .d-*46, .d-*47, .d-*48, .d-*49 và .d-*50.

Các hình thức

  • Di chuyển phần tử đặt lại vào tệp .d-*51.
  • Đổi tên thành .d-*52 thành @media print9.
  • Đổi tên thành .d-*54 và .d-*55 thành .d-*56 và .d-*57, tương ứng.
  • Đã giảm .d-*58 các lớp vì sự đơn giản. Sử dụng các lớp .d-*59 thay thế ngay bây giờ.
  • Đã bỏ .d-*60 và thay thế nó bằng .d-*61 cho văn bản trợ giúp cấp khối. Đối với văn bản trợ giúp nội tuyến và các tùy chọn linh hoạt khác, hãy sử dụng các lớp tiện ích như .d-*62.
  • Rơi .d-*63 và .d-*64.
  • Hợp nhất .d-*65 và .d-*66 thành .d-*67 và các lớp .d-*68 khác nhau.
  • Các hình thức ngang được đại tu:
    • Bỏ yêu cầu lớp .d-*69.
    • .d-*70 không còn áp dụng các kiểu từ .d-*17 qua mixin, vì vậy .d-*17 hiện được yêu cầu cho bố cục lưới ngang (ví dụ: .d-*73).
    • Đã thêm lớp @media print9 mới vào các nhãn trung tâm theo chiều dọc với .d-*75s.
    • Đã thêm .d-*76 mới cho bố cục biểu mẫu nhỏ gọn với các lớp lưới (trao đổi .d-*17 của bạn cho .d-*76 và GO).
  • Đã thêm hỗ trợ biểu mẫu tùy chỉnh (cho các hộp kiểm, radio, chọn và đầu vào tệp).
  • Đã thay thế các lớp .d-*79, .d-*80 và .d-*81 với xác thực biểu mẫu HTML5 thông qua CSS tựa ____ ____182 và .d-*83 lớp giả.
  • Đổi tên thành .d-*84 thành .d-*85.

nút

  • Đổi tên thành .d-*86 thành .d-*87.
  • Thả lớp .d-*88 hoàn toàn vì .d-*89 tương ứng nhỏ hơn nhiều so với V3.
  • Tính năng nút trạng thái của plugin jQuery .d-*90 đã bị loại bỏ. Điều này bao gồm các phương thức .d-*91 và .d-*92. Thay vào đó, chúng tôi khuyên bạn nên sử dụng một chút JavaScript tùy chỉnh, điều này sẽ có lợi ích là hành xử chính xác theo cách bạn muốn.
    • Lưu ý rằng các tính năng khác của plugin (hộp kiểm nút, radio nút, nút một lần quay) đã được giữ lại trong V4.
  • Thay đổi nút .d-*93 thành .d-*94 khi IE9+ hỗ trợ .d-*94. Tuy nhiên, .d-*96 vẫn còn cần thiết vì các trường khuyết tật gốc vẫn còn lỗi trong IE11.

Nhóm nút

  • Viết lại thành phần với FlexBox.
  • Đã loại bỏ .d-*97. Để thay thế, bạn có thể sử dụng .d-*98 như một trình bao bọc xung quanh các yếu tố với .d-*99.
  • Đã bỏ lớp @media print00 hoàn toàn được loại bỏ .d-*88.
  • Loại bỏ khoảng cách rõ ràng giữa các nhóm nút trong các thanh công cụ nút; Sử dụng các tiện ích ký quỹ ngay bây giờ.
  • Cải thiện tài liệu để sử dụng với các thành phần khác.

Thả xuống

  • Chuyển từ bộ chọn cha mẹ sang các lớp số ít cho tất cả các thành phần, bộ sửa đổi, v.v.
  • Các kiểu thả xuống đơn giản để không còn vận chuyển với các mũi tên hướng lên hoặc hướng xuống được gắn vào menu thả xuống.
  • Các thả xuống có thể được xây dựng với .d-*6S hoặc @media print03S ngay bây giờ.
  • Các kiểu thả xuống được xây dựng lại và đánh dấu để cung cấp hỗ trợ dễ dàng, tích hợp cho các mục thả xuống dựa trên @media print04 và @media print05.
  • Đổi tên thành @media print06 thành @media print07.
  • Các mặt hàng thả xuống bây giờ yêu cầu @media print08.
  • Thả xuống không còn yêu cầu @media print09 rõ ràng; Điều này hiện được cung cấp tự động thông qua CSS từ @media print10 trên @media print11.

Hệ thống lưới điện

  • Đã thêm một điểm dừng lưới flex6 mới là inline-flex1, có nghĩa là hiện có năm tầng tổng cộng (inline-flex3, inline-flex1, inline-flex5, inline-flex6 và inline-flex7).
  • Đổi tên các lớp sửa đổi lưới phản hồi từ @media print19 thành @media print20 cho các lớp lưới đơn giản hơn.
  • Các lớp sửa đổi đẩy và kéo cho các lớp @media print21 được hỗ trợ Flexbox mới. Ví dụ: thay vì @media print22 và @media print23, bạn đã sử dụng @media print24 và @media print25.
  • Đã thêm các lớp tiện ích Flexbox cho hệ thống lưới và các thành phần.

Danh sách các nhóm

  • Viết lại thành phần với FlexBox.
  • Đã thay thế @media print26 bằng một lớp rõ ràng, @media print27, cho các phiên bản liên kết kiểu dáng và nút của các mục nhóm danh sách.
  • Đã thêm lớp @media print28 để sử dụng với thẻ.

Phương thức

  • Viết lại thành phần với FlexBox.
  • Đã thay thế @media print26 bằng một lớp rõ ràng, @media print27, cho các phiên bản liên kết kiểu dáng và nút của các mục nhóm danh sách.
  • Đã thêm lớp @media print28 để sử dụng với thẻ.

Phương thức

  • Viết lại thành phần với FlexBox.
  • Đã thay thế @media print26 bằng một lớp rõ ràng, @media print27, cho các phiên bản liên kết kiểu dáng và nút của các mục nhóm danh sách.
  • Đã thêm lớp @media print28 để sử dụng với thẻ.

Phương thức

Được chuyển sang Flexbox, sự liên kết của các biểu tượng DISMISS trong tiêu đề có khả năng bị phá vỡ vì chúng tôi không còn sử dụng phao. Nội dung nổi xuất hiện trước, nhưng với Flexbox mà không còn xảy ra. Cập nhật các biểu tượng bãi bỏ của bạn đến sau các tiêu đề phương thức để sửa chữa.

  • Tùy chọn @media print29 (có thể được sử dụng để tự động tải và đưa nội dung bên ngoài vào một phương thức) và sự kiện @media print30 tương ứng đã bị xóa. Thay vào đó, chúng tôi khuyên bạn nên sử dụng khuôn mẫu phía máy khách hoặc khung liên kết dữ liệu hoặc tự gọi jQuery.load.required @media print37 where you choose where to collapse the navbar. Previously this was a Less variable modification and required recompiling.
  • NAVSOne of these is required on each navbar. However, these classes no longer set inline-block6s; instead they essentially only affect inline-block5.
  • Đã giảm gần như tất cả các bộ chọn .d-*32 để tạo kiểu đơn giản hơn thông qua các lớp không được lồng.
  • Thay vì các bộ chọn dành riêng cho HTML như @media print32, chúng tôi sử dụng các lớp riêng biệt cho @media print33S, @media print34S và @media print35S. Điều này làm cho HTML của bạn linh hoạt hơn trong khi mang lại khả năng mở rộng tăng lên.
  • Thanh điều khiển
  • Thanh điều khiển đã được viết lại hoàn toàn trong Flexbox với sự hỗ trợ được cải thiện cho sự liên kết, đáp ứng và tùy chỉnh.
  • Các hành vi của Navbar đáp ứng hiện được áp dụng cho lớp @media print36 thông qua @media print37 cần thiết nơi bạn chọn nơi để thu gọn thanh hải quân. Trước đây đây là một sửa đổi ít thay đổi và yêu cầu biên dịch lại.
  • @media print38 hiện là @media print39, mặc dù @media print40 vẫn giữ nguyên. Một trong số này được yêu cầu trên mỗi thanh hải quân. Tuy nhiên, các lớp này không còn đặt inline-block6s; Thay vào đó, về cơ bản chúng chỉ ảnh hưởng đến inline-block5.
  • Viết lại thành phần với FlexBox.
  • Đã thay thế @media print26 bằng một lớp rõ ràng, @media print27, cho các phiên bản liên kết kiểu dáng và nút của các mục nhóm danh sách.
  • Đã thêm lớp @media print28 để sử dụng với thẻ.
  • Phương thức

Được chuyển sang Flexbox, sự liên kết của các biểu tượng DISMISS trong tiêu đề có khả năng bị phá vỡ vì chúng tôi không còn sử dụng phao. Nội dung nổi xuất hiện trước, nhưng với Flexbox mà không còn xảy ra. Cập nhật các biểu tượng bãi bỏ của bạn đến sau các tiêu đề phương thức để sửa chữa.

  • Tùy chọn @media print29 (có thể được sử dụng để tự động tải và đưa nội dung bên ngoài vào một phương thức) và sự kiện @media print30 tương ứng đã bị xóa. Thay vào đó, chúng tôi khuyên bạn nên sử dụng khuôn mẫu phía máy khách hoặc khung liên kết dữ liệu hoặc tự gọi jQuery.load.
  • NAVS
  • Đã giảm gần như tất cả các bộ chọn .d-*32 để tạo kiểu đơn giản hơn thông qua các lớp không được lồng.
  • Thay vì các bộ chọn dành riêng cho HTML như @media print32, chúng tôi sử dụng các lớp riêng biệt cho @media print33S, @media print34S và @media print35S. Điều này làm cho HTML của bạn linh hoạt hơn trong khi mang lại khả năng mở rộng tăng lên.

Thanh điều khiển

Thanh điều khiển đã được viết lại hoàn toàn trong Flexbox với sự hỗ trợ được cải thiện cho sự liên kết, đáp ứng và tùy chỉnh.

Các hành vi của Navbar đáp ứng hiện được áp dụng cho lớp @media print36 thông qua @media print37 cần thiết nơi bạn chọn nơi để thu gọn thanh hải quân. Trước đây đây là một sửa đổi ít thay đổi và yêu cầu biên dịch lại.

  • @media print38 hiện là @media print39, mặc dù @media print40 vẫn giữ nguyên. Một trong số này được yêu cầu trên mỗi thanh hải quân. Tuy nhiên, các lớp này không còn đặt inline-block6s; Thay vào đó, về cơ bản chúng chỉ ảnh hưởng đến inline-block5.
  • Navbars bây giờ yêu cầu một tuyên bố nền của một số loại. Chọn từ các tiện ích nền của chúng tôi (@media print43) hoặc đặt của riêng bạn với các lớp ánh sáng/nghịch đảo ở trên để tùy chỉnh MAD.
  • Đưa ra các kiểu Flexbox, Navbars hiện có thể sử dụng các tiện ích Flexbox cho các tùy chọn căn chỉnh dễ dàng.
  • @media print44 hiện là @media print45 và có các kiểu khác nhau và đánh dấu bên trong (không còn ba @media print46s).
  • Thả hoàn toàn lớp ____247. Nó không còn cần thiết nữa; Thay vào đó, chỉ cần sử dụng @media print48 và áp dụng các tiện ích ký quỹ khi cần thiết.
  • @media print80 đến @media print81
  • @media print82 đến @media print83
  • @media print84, @media print85, @media print86, @media print87 và @media print88 đã được giảm cho @media print89, .d-*13 và @media print91 Các tiện ích được tạo ra từ bản đồ SASS @media print92 của chúng tôi.

Tiến triển

  • Thay thế các lớp @media print93 theo ngữ cảnh bằng các tiện ích @media print43. Ví dụ, @media print95 trở thành @media print96.
  • Đã thay thế .d-*41 cho các thanh tiến trình hoạt hình bằng @media print98.

Băng chuyền

  • Đại tu toàn bộ thành phần để đơn giản hóa thiết kế và kiểu dáng. Chúng tôi có ít kiểu hơn để bạn ghi đè, các chỉ số mới và biểu tượng mới.
  • Tất cả các CSS đã không được lồng và đổi tên, đảm bảo mỗi lớp được tiền tố với @media print99.
    • Đối với các mục Carousel, block00, block01, block02 và block03 hiện là block04, block05, block06 và block07.
    • block08 hiện cũng là block09.
    • Đối với các điều khiển trước/tiếp theo, block10 và block11 hiện là block12 và block13, có nghĩa là chúng không còn yêu cầu một lớp cơ sở cụ thể.
  • Đã loại bỏ tất cả các kiểu dáng đáp ứng, trì hoãn các tiện ích (ví dụ: hiển thị chú thích trên các chế độ xem nhất định) và các kiểu tùy chỉnh khi cần thiết.
  • Đã xóa hình ảnh ghi đè cho hình ảnh trong các mục băng chuyền, trì hoãn các tiện ích.
  • Tinh chỉnh ví dụ về băng chuyền để bao gồm các kiểu và kiểu mới.

Những cái bàn

  • Đã loại bỏ hỗ trợ cho các bảng lồng nhau theo kiểu. Tất cả các kiểu bảng hiện được kế thừa trong V4 cho các bộ chọn đơn giản hơn.
  • Được thêm biến thể bảng nghịch đảo.

Tiện ích

  • Hiển thị, ẩn, và nhiều hơn nữa:
    • Đã thực hiện các tiện ích hiển thị đáp ứng (ví dụ: block14 và block15).
    • Đã bỏ phần lớn các tiện ích block16 cho các tiện ích hiển thị mới. Ví dụ: thay vì block17, sử dụng block18. Được đổi tên thành các tiện ích block19 để sử dụng sơ đồ đặt tên tiện ích hiển thị. Thông tin thêm theo phần Tiện ích đáp ứng của trang này.
    • Đã thêm các lớp block20 cho phao phản hồi và loại bỏ block21 và block22 vì chúng dự phòng thành block23 và block24.
  • Type:
    • Đã thêm các biến thể đáp ứng vào các lớp căn chỉnh văn bản của chúng tôi block25.
  • Căn chỉnh và khoảng cách:
    • Đã thêm các tiện ích chuyển đổi và phần đệm đáp ứng mới cho tất cả các mặt, cộng với các tốc ký dọc và ngang.
    • Đã thêm thuyền của các tiện ích flexbox.
    • Đã giảm block26 cho lớp block27 mới.
  • ClearFix được cập nhật để bỏ hỗ trợ cho các phiên bản trình duyệt cũ hơn.

MIXIN tiền tố của nhà cung cấp

Các hỗn hợp tiền tố nhà cung cấp Bootstrap 3, được không dùng nữa trong V3.2.0, đã bị loại bỏ trong Bootstrap 4. Vì chúng tôi sử dụng Autoprefixer, chúng không còn cần thiết nữa.

Removed the following mixins: block28, block29, block30, block31, block32, block33, block34, block35, block36, block37, block38, block39, block40, block41, block42, block43, block44, block45, block46, block47, block48, block49, block50 , block51, block52, block53, block54, block55, block56, block57, block58

Tài liệu

Tài liệu của chúng tôi đã nhận được một bản nâng cấp trên bảng là tốt. Ở đây, thấp xuống:

  • Chúng tôi vẫn sử dụng Jekyll, nhưng chúng tôi có các plugin trong hỗn hợp:
    • block59 được sử dụng để liệt kê hiệu quả các mục trên trang Trình duyệt của chúng tôi.
    • block60 là một ngã ba tùy chỉnh của plugin block61 mặc định, cho phép xử lý mã ví dụ dễ dàng hơn.
    • block62 là một ngã ba tùy chỉnh tương tự, nhưng được thiết kế cho các chú thích tài liệu đặc biệt của chúng tôi.
    • block63 được sử dụng để hiển thị các đoạn đánh dấu trong các phần tử HTML như bảng.
    • Jekyll-toc được sử dụng để tạo bảng nội dung của chúng tôi.
  • Tất cả nội dung tài liệu đã được viết lại trong Markdown (thay vì HTML) để chỉnh sửa dễ dàng hơn.
  • Các trang đã được tổ chức lại cho nội dung đơn giản hơn và hệ thống phân cấp dễ tiếp cận hơn.
  • Chúng tôi đã chuyển từ CSS thông thường sang SCSS để tận dụng tối đa các biến Bootstrap, mixin, v.v.

Tiện ích đáp ứng

Tất cả các biến block64 đã được xóa trong v4.0.0. Sử dụng block65, block66 hoặc block67 MIXIN SASS hoặc bản đồ SASS .d-*00 thay thế.

Các lớp tiện ích đáp ứng của chúng tôi phần lớn đã bị xóa để có lợi cho các tiện ích block69 rõ ràng.

  • Các lớp block70 và block71 đã bị xóa vì chúng mâu thuẫn với các phương pháp JQuery tựa block72 và block73. Thay vào đó, hãy thử chuyển đổi thuộc tính block74 hoặc sử dụng các kiểu nội tuyến như block75 và block76.
  • Tất cả các lớp block77 đã bị xóa, tiết kiệm cho các tiện ích in đã được đổi tên.
    • Bị loại khỏi V3: block78 block79 block80 block81 block82 block83 block84 block85 ____386
    • Bị xóa khỏi V4 bảng chữ cái: block94 block95 block17 block97 block98 block99 inline-block00 inline-block01
  • Các tiện ích in không còn bắt đầu với block77 hoặc inline-block03, nhưng với inline-block04.
    • Tên cũ: inline-block05, inline-block06, inline-block07, block19
    • Các lớp mới: inline-block09, inline-block10, inline-block11, inline-block12

Thay vì sử dụng các lớp inline-block13 rõ ràng, bạn có thể hiển thị một phần tử bằng cách không giấu nó ở kích thước màn hình đó. Bạn có thể kết hợp một lớp inline-block14 với một lớp inline-block15 để hiển thị một phần tử chỉ trên một khoảng thời gian nhất định có kích thước màn hình (ví dụ: inline-block16 chỉ hiển thị phần tử trên các thiết bị trung bình và lớn).

Lưu ý rằng các thay đổi đối với các điểm dừng lưới trong V4 có nghĩa là bạn sẽ cần phải đi một điểm dừng lớn hơn để đạt được kết quả tương tự. Các lớp tiện ích đáp ứng mới don don cố gắng phù hợp với các trường hợp ít phổ biến hơn trong đó khả năng hiển thị của một yếu tố có thể được thể hiện dưới dạng một phạm vi kích thước quan điểm duy nhất; Thay vào đó, bạn sẽ cần sử dụng CSS tùy chỉnh trong những trường hợp như vậy.

Bootstrap 3 hay 4 có tốt hơn không?

Trong khi Bootstrap 3 cung cấp điều hướng bỏ qua, các tiêu đề lồng nhau và độ tương phản màu, Bootstrap 4 đã cải thiện khả năng tiếp cận với các thành phần của nó. Kiểu dáng và bố cục từ phiên bản 4 có thể được áp dụng cho một loạt các cấu trúc đánh dấu.Bootstrap 4 has improved the accessibility with its components. Styling and layout from version 4 can be applied to a wide range of markup structures.

Tôi có nên cập nhật Bootstrap 3 đến 4 không?

Bạn nên biết rằng vẫn còn hỗ trợ để tiếp tục sử dụng Bootstrap 3, nhưng do một số thay đổi phát sinh trong cấu trúc của Bootstrap 4 so với phiên bản trước, tốt hơn là bắt đầu phát triển hoặc chuyển các ứng dụng của chúng tôi sang phiên bản mới đáng kinh ngạc này.it is better to start developing or migrating our applications to this incredible new version.

Tôi có thể sử dụng bootstrap 3 và 4 cùng nhau không?

Không thể tích hợp cả Bootstrap3 và Bootstrap 4 vì nhiều lớp của thư viện Bootstrap có cùng tên.Lưu câu trả lời này. because of many classes of the bootstrap library with the same name. Save this answer.

Tôi có thể nâng cấp bootstrap 3 lên 5 không?

@Matin Điểm mấu chốt là Bootstrap 5 không phải là bản nâng cấp của Bootstrap 3 hoặc 4. Đây thực sự là các dự án khác nhau.Nếu bạn đã chọn Bootstrap 3 hoặc 4, chỉ cần tiếp tục sử dụng điều này và không cố gắng "nâng cấp" lên 5. Chuyển đến số bootstrap cao hơn giống như một dự án chuyển đổi và chắc chắn không tầm thường.bootstrap 5 is NOT the upgrade of bootstrap 3 or 4. These are in fact different projects. If you selected Bootstrap 3 or 4, just keep using this and do not try to "upgrade" to 5. Going to a higher Bootstrap number is more like a conversion project and is certainly not trivial.