Bootstrap 3 vs Bootstrap 4 – ภาพรวม
เผยแพร่แล้ว: 2017-10-06Bootstrap เป็น front-end-framework โอเพ่นซอร์สที่น่าเชื่อถือที่สุดในการพัฒนาเว็บไซต์ที่ตอบสนองและเน้นมือถือเป็นหลัก Bootstrap เป็นเฟรมเวิร์กที่มีชื่อเสียง ทำไม??? เพราะทั้งหมดที่ต้องใช้คือความรู้พื้นฐานเกี่ยวกับ HTML และ CSS และเราสามารถสร้างเว็บไซต์ที่น่าสนใจและใช้งานได้โดยใช้คลาส Bootstrap ที่กำหนดไว้ล่วงหน้าซึ่งดูแลการตอบสนองบนอุปกรณ์ต่างๆ
Bootstrap 3 เปิดตัวในปี 2013 และรุ่นที่เสถียรล่าสุด Bootstrap 3.3.7 วางจำหน่ายในเดือนกรกฎาคม 2559 ในเดือนตุลาคม 2014 Twitter ประกาศว่า Bootstrap 4 อยู่ในระหว่างการพัฒนา Bootstrap 4 รุ่นอัลฟารุ่นแรกเปิดตัวในเดือนสิงหาคม 2558 และตอนนี้ในเดือนสิงหาคม 2560 รุ่น Bootstrap 4.0.0 เบต้าเปิดตัว คุณสามารถดูบทช่วยสอน Bootstrap เชิงลึกนี้ได้ หากคุณต้องการเริ่มเรียนรู้จาก 0
จุดสนใจของโพสต์นี้จะอยู่ที่ความแตกต่าง การเพิ่ม และการลบหลักจากเวอร์ชัน 3 ไปเป็นเวอร์ชัน 4.0.0 เบต้าที่ออกใหม่
สิ่งที่แตกต่างในเวอร์ชัน 4:
ตอนนี้ เราสามารถเริ่มพูดถึงคุณสมบัติใหม่ของ Bootstrap 4 ได้ เนื่องจากเทคโนโลยีมีการพัฒนาอย่างรวดเร็ว ภาษาที่ใหม่กว่าและชาญฉลาดกว่าได้รับการพัฒนาเพื่อทำให้การสร้างเว็บไซต์ที่สะอาดและรวดเร็วนั้นง่ายขึ้นมาก เช่นเดียวกันกับ Bootstrap รุ่นใหม่ล่าสุด ทีมงานกล่าวว่า "เวอร์ชัน 4 นี้เป็นการเขียนซ้ำครั้งใหญ่ของเกือบทั้งโครงการ" เราจะสรุปการเปลี่ยนแปลงที่สำคัญบางประการของการปรับปรุงนี้
การเปลี่ยนแปลงทั่วโลก:
- เปลี่ยนจาก Less เป็น Sass สำหรับไฟล์ CSS ต้นทาง
- เปลี่ยนจาก
px
rem
เป็นหน่วย CSS หลักของ Bootstrap แม้ว่าพิกเซลจะยังคงใช้สำหรับคิวรี่สื่อและพฤติกรรมกริด เนื่องจากวิวพอร์ตของอุปกรณ์ไม่ได้รับผลกระทบจากขนาดประเภท - ขนาดตัวอักษรทั่วโลกเพิ่มขึ้นจาก 14px เป็น 16px
- เพิ่มระดับกริดใหม่สำหรับ ~480px และต่ำกว่า
ระบบกริด:
ขั้นตอนสำคัญในการปรับปรุง Bootstrap 4 คือการเคลื่อนไหวไปสู่การนำ Flexbox มาใช้ เป็นส่วนหนึ่งของ flexbox รวมการรองรับคลาสการจัดตำแหน่งแนวตั้งและแนวนอน Bootstrap 4 ให้ความสำคัญกับการปรับแต่งเป็นอย่างมาก เป็นระบบกริดเทียร์ใหม่ช่วยให้ Bootstrap 4 มีระดับกริดสูงสุด 5 ระดับ (ตัวอย่าง 5 เทียร์: .col-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xl-4 ) สามารถพูดได้อย่างง่ายดายว่า Bootstrap 4 ให้การเข้าถึงระบบกริดที่ปรับปรุงแล้ว
- เพิ่มระดับกริด sm ใหม่ที่ต่ำกว่า 768px เพื่อการควบคุมที่ละเอียดยิ่งขึ้น ตอนนี้มี xs, sm, md, lg และ xl นอกจากนี้ยังหมายความว่าทุกระดับถูกเพิ่มระดับขึ้นหนึ่งระดับ (ดังนั้น .col-md-6 ใน v3 จึงเป็น .col-lg-6 ใน v4)
- เปลี่ยนจุดสั่งหยุดการสืบค้นสื่อของระบบกริดและความกว้างของคอนเทนเนอร์เพื่อพิจารณาระดับกริดใหม่ และตรวจสอบให้แน่ใจว่าคอลัมน์หารด้วย 12 เท่ากันที่ความกว้างสูงสุด
- ขณะนี้จุดสั่งหยุดของกริดและความกว้างของคอนเทนเนอร์ได้รับการจัดการผ่านแผนที่ Sass ($grid-breakpoints และ $container-max-widths) แทนที่จะเป็นตัวแปรแยกจำนวนหนึ่ง สิ่งเหล่านี้แทนที่ตัวแปร @screen-* ทั้งหมด และให้คุณปรับแต่งระดับกริดได้อย่างเต็มที่
- ข้อความค้นหาสื่อก็เปลี่ยนไปเช่นกัน แทนที่จะใช้การประกาศคิวรีสื่อซ้ำด้วยค่าเดียวกันในแต่ละครั้ง ขณะนี้มี @include media-breakpoint-up/down/only ตอนนี้ แทนที่จะเขียน @media (min-width: @screen-sm-min) { … } คุณสามารถเขียน @include media-breakpoint-up(sm) { … }
การสนับสนุนเบราว์เซอร์:
- หยุดการสนับสนุน IE8 และ iOS 6 v4 ตอนนี้เป็นเพียง IE9+ และ iOS 7+ สำหรับไซต์ที่ต้องการอย่างใดอย่างหนึ่ง ให้ใช้ v3.
คลาสยูทิลิตี้:
ใน Bootstrap 4 คลาสยูทิลิตี้ใหม่ถูกรวมไว้โดยไม่ขัดขวางการทำงานที่มีอยู่ แต่อย่างใด การเพิ่มเติมที่สำคัญเช่นคลาสการจัดตำแหน่งข้อความที่ตอบสนอง โฟลตที่ตอบสนอง และการฝังแบบตอบสนอง นอกเหนือจากการเสนอทางลัดมากมาย สิ่งเหล่านี้ตามลำดับ ยังอนุญาตให้เปลี่ยนการจัดตำแหน่งข้อความ การลอยขององค์ประกอบ และการปรับอัตราส่วนของอัตราส่วนกว้างยาวของสื่อฝังตัวใดๆ (ตัวอย่าง: .hidden-md-up
ซ่อนองค์ประกอบบนวิวพอร์ตขนาดกลาง ขนาดใหญ่ และขนาดใหญ่พิเศษ ตอนนี้ แทนที่จะใช้ . .hidden-md-up
ให้ใช้ .d-md-none
)
รูปภาพ:
- เปลี่ยนชื่อ .
.img-responsive
เป็น ..img-fluid
- เปลี่ยนชื่อ .
.img-rounded
เป็น.rounded
- เปลี่ยนชื่อ .
.img-circle
เป็น.rounded-circle
ตาราง:
- ตารางที่ปรับเปลี่ยนตามอุปกรณ์ไม่ต้องการองค์ประกอบการห่ออีกต่อไป กล่าวง่ายๆ ใน Bootstrap 3 ควรเพิ่มคลาส .
.table-responsive
ในพาเรนต์ <div> แต่ใน Bootstrap 4.table-responsive
class จะถูกเพิ่มในองค์ประกอบ<table>
- เพิ่มตัวเลือก .
.table-inverse
ใหม่ - เพิ่มตัวแก้ไขส่วนหัวของตาราง:
.thead-default
และ.thead-inverse
- เปลี่ยนชื่อคลาสตามบริบทให้มี .
.table-
ดังนั้น ..active
.success
,.warning
,.danger
และ .table.table-info
ถึง ..table-active
,.table-success
,.table-warning
,.table-danger
และ.table-info.
การนำทาง:
ใน Bootstrap 4 องค์ประกอบการนำทางได้รับการลดความซับซ้อนในระดับที่ดี จำเป็นต้องมีหนึ่งรายการเพื่อสร้างรายการองค์ประกอบใหม่โดยใช้คลาสพื้นฐานการนำทางล่าสุด มีการเพิ่มเติมล่าสุดบางอย่างเช่นคลาส nav-link, คลาส nav-item และสไตล์แถบนำทางด้วย
- เขียนองค์ประกอบใหม่ด้วย flexbox
-
.navbar-default
ตอนนี้.navbar-light
แม้ว่า.navbar-dark
จะยังคงเหมือนเดิม อย่างไรก็ตาม คลาสเหล่านี้ไม่ได้ตั้งค่าbackground-color
s อีกต่อไป แต่จะมีผลกับcolor
เท่านั้น -
.navbar-toggle
ตอนนี้เป็น.navbar-toggler
และมีสไตล์ที่แตกต่างกันและมาร์กอัปภายใน (ไม่มี<span>
อีกสามรายการ) - ดร็อปคลาส .
.navbar-form
ทั้งหมด ไม่จำเป็นอีกต่อไป เพียงใช้.form-inline
และใช้ยูทิลิตี้ระยะขอบแทนตามความจำเป็น - แถบนำทางไม่รวม
margin-bottom
หรือborder-radius
ตามค่าเริ่มต้นอีกต่อไป
ตารางเปรียบเทียบ Bootstrap เวอร์ชัน 3 และเวอร์ชัน 4
พารามิเตอร์ | Bootstrap 3 | Bootstrap4 |
ไฟล์ CSS ต้นทาง | น้อย | SASS |
ระดับกริด | ระบบ 4 กริดเทียร์ | ระบบระดับ 5 gid |
โครงสร้างแบบเลื่อนลง | สามารถสร้างได้ด้วย <ul> และ <li> | สามารถสร้างได้ด้วย <ul> หรือ <div> |
การแบ่งหน้าเริ่มต้น | ต้องเพิ่ม .pagination ใน <ul> องค์ประกอบ | ต้องเพิ่ม .page-item ในแต่ละองค์ประกอบ <li> และ .page-link ไปยังแต่ละองค์ประกอบ <a> |
รูปภาพที่ตอบสนอง | สมัคร .img-responsive class | สมัคร .img-fluid class |
ตารางตอบสนอง | .table-responsive class ควรเพิ่มใน parent <div> element | .table-responsive class ที่จะเพิ่มใน <table> element |
การจัดตำแหน่งแถบนำทาง | ใช้ .navbar-right, .navbar-left เพื่อจัดตำแหน่งส่วนประกอบ | ใช้ยูทิลิตี้การเว้นวรรค เช่น .mr-auto หรือยูทิลิตี้การจัดตำแหน่ง flexbox |
Glyphicons | ได้รับการสนับสนุน | ไม่รองรับ |
วัตถุสื่อ | รวมคลาสต่างๆ สำหรับอ็อบเจ็กต์สื่อ เช่น .media, .media-body .media-object, .media-heading, .media-right, .media-left และ .media-list และ .media-body | ใช้เพียงคลาส .media สามารถใช้ระยะขอบได้โดยใช้ยูทิลิตี้ตัวเว้นวรรค ออบเจ็กต์สื่อเปิดใช้งาน flexbox ใน Bootstrap 4 ดังนั้นจึงสามารถใช้คลาส flexbox ต่างๆ ได้ (เช่น การเรียงลำดับใหม่ ฯลฯ) |
แถบความคืบหน้า | ไม่ใช้ความคืบหน้าสำหรับแถบความคืบหน้า ให้ใช้คลาสของแถบความคืบหน้ากับองค์ประกอบ div ที่ซ้อนกันแทน | การใช้องค์ประกอบความคืบหน้าถูกยกเลิกในอัลฟ่า 6 ตอนนี้ Bootstrap 4 ใช้องค์ประกอบ div อีกครั้ง |
อย่างที่เราบอกไปแล้วว่าทีม Bootstrap ได้เขียนกรอบงานใหม่ ดังนั้นการเปลี่ยนแปลงข้างต้นจึงเป็นเพียงการเปลี่ยนแปลงที่สำคัญที่เราได้เขียนไว้ที่นี่ หากต้องการอ่านเชิงลึกโปรดไปที่ลิงก์ Bootstrap 4
เราควรย้ายไป Bootstrap 4 หรืออยู่ใน Bootstrap 3
เราได้พูดคุยเกี่ยวกับคุณสมบัติที่ Bootstrap 4 นำเสนอ เราสามารถเห็นได้ว่ามีการทำงานมากมายในการปรับให้เหมาะสมและทำความสะอาดองค์ประกอบและคลาสที่ไม่จำเป็นตลอดเฟรมเวิร์กทั้งหมด Bootstrap 4 สัญญาว่าจะรวดเร็วและคล่องตัวมากขึ้นเพื่อความยืดหยุ่นและความสะดวกที่มากขึ้นเมื่อสร้างเว็บไซต์ที่เหมาะกับมือถือที่ยอดเยี่ยม
Bootstrap 4 ย้ายไปที่ flexbox นี่ถือได้ว่าเป็นหนึ่งในความสำเร็จที่ยิ่งใหญ่ที่สุดและสำคัญ สิ่งนี้จะให้ประโยชน์ดังต่อไปนี้:
- ตารางตาม Flexbox
- ระดับกริด XLl ใหม่
- ตารางเค้าโครงอัตโนมัติล่าสุด
- ตัวเลือกการปรับแต่งแถบนำทาง
- ยูทิลิตี้การเว้นวรรคใหม่
- การกำหนดค่า Sans Glyphicons (เขตปลอดบวม)
- ขนาดตอบสนอง
- ลอยตัวตอบสนอง
- ระยะขอบอัตโนมัติ
- การจัดกึ่งกลางแนวตั้ง
บทสรุป
Bootstrap ช่วยให้ชีวิตของนักพัฒนาง่ายขึ้นเสมอ และด้วยการอัปเดตในเวอร์ชัน ตอนนี้ bootstrap มีคุณสมบัติและตัวเลือกใหม่ ๆ มากมายเพื่อสร้างสิ่งต่าง ๆ ให้ง่ายขึ้นสำหรับนักพัฒนา และนั่นคือสาเหตุที่ผู้คนย้ายจาก Bootstrap 3 ไปเป็น Bootstrap 4 เนื่องจากสะดวกและเข้าถึงได้ง่ายกว่ารุ่นก่อนๆ