Flexbox ใช้เค้าโครง

โกลอฟนา ซากาลเนฉันต้องการทราบเกี่ยวกับ FlexBox

โมดูลเค้าโครง Flexbox (กล่องแบบยืดหยุ่น - "บล็อกแบบยืดหยุ่น" ปัจจุบันคำแนะนำผู้สมัคร W3C) ติดตั้งรายละเอียดเพิ่มเติมวิธีการที่มีประสิทธิภาพ

เค้าโครง การตรวจสอบ และการกระจายช่องว่างระหว่างองค์ประกอบในคอนเทนเนอร์ ในกรณีที่ไม่ทราบขนาดและ/หรือไดนามิก (จากคำว่า "น้อย")แนวคิดหลักของเค้าโครงแบบยืดหยุ่นในคอนเทนเนอร์ที่กำหนดคือการเปลี่ยนความกว้าง/ความสูง (และลำดับ) ขององค์ประกอบเพื่อให้เติมเต็มพื้นที่ได้ดีขึ้น (ในกรณีส่วนใหญ่เพื่อรองรับจอแสดงผลและขนาดหน้าจอทุกประเภท iv).

ภาชนะที่มีความยืดหยุ่นจะยืดองค์ประกอบต่างๆ เพื่อเติมเต็มพื้นที่ว่างหรือบีบอัดเพื่อป้องกันไม่ให้ออกจากวงล้อม สิ่งสำคัญที่สุดคือ เค้าโครง Flexbox ไม่ควรวางทับเค้าโครงเดิมโดยตรง (บล็อกจะซ้อนกันในแนวตั้ง และองค์ประกอบออนไลน์จะซ้อนกันในแนวนอน)เนื่องจากรูปแบบเริ่มต้นเหมาะสำหรับหน้าเว็บ จึงไม่มีความยืดหยุ่นในการรองรับโปรแกรมขนาดใหญ่หรือซับซ้อน (โดยเฉพาะถ้าคุณไปทางขวาเพื่อเปลี่ยนการวางแนวหน้าจอ เปลี่ยนขนาด ยืดออก nnya ด้วย)

เพราะ

Flexbox เป็นโมดูลทั้งหมด และไม่ใช่แค่หน่วยงานเดียวเท่านั้น ซึ่งทำให้ไม่มีหน่วยงานใดอยู่ด้วย

แต่ละรายการจะต้องเชื่อมต่อกับคอนเทนเนอร์ (องค์ประกอบของ Father หรือที่เรียกว่า flex-container) เช่นเดียวกับหน่วยงานอื่น ๆ ที่เชื่อมต่อกับองค์ประกอบลูกหรือองค์ประกอบดิ้น

เช่นเดียวกับที่เลย์เอาต์หลักถูกวางบนโฟลว์ไลน์ของบล็อกและองค์ประกอบออนไลน์ เลย์เอาต์เฟล็กซ์ก็ถูกวางบน "เส้นโฟลว์เฟล็กซ์"เฟล็กซ์บ็อกซ์
โดยพื้นฐานแล้ว องค์ประกอบต่างๆ จะถูกกระจายไปตามแกนส่วนหัว (จากจุดเริ่มต้นหลักไปจนถึงจุดสิ้นสุดหลัก) หรือตามแกนตามขวาง (จากจุดเริ่มต้นไปยังจุดสิ้นสุดหลัก) แกนหลัก - แกนหลักขององค์ประกอบดิ้นทั้งหมด
พูดตามตรง ต้องเป็นแนวนอน ทุกอย่างควรเก็บไว้ในบริบทของเนื้อหาที่จัดชิดขอบหลักเริ่มต้น |
main-end - องค์ประกอบดิ้นถูกวางไว้ในคอนเทนเนอร์ภายใต้ตำแหน่งเริ่มต้นหลักและตำแหน่งหลักสิ้นสุดขนาดหลัก - ความกว้างหรือความสูงขององค์ประกอบดิ้นในตำแหน่งเมื่อเปรียบเทียบกับขนาดหลักที่เลือก
ค่าหลักอาจเป็นได้ทั้งความโค้งหรือความโค้งขององค์ประกอบ cross-end - แถวแบบยืดหยุ่นจะเต็มไปด้วยองค์ประกอบและวางไว้ใกล้กับคอนเทนเนอร์ในรูปแบบของตำแหน่ง cross-start และตำแหน่ง cross-end
ขนาดข้าม - ความกว้างหรือความสูงขององค์ประกอบดิ้นในตำแหน่งตามขนาดที่เลือกจะเท่ากับขนาดเดียวกันพลังนี้ถูกหลีกเลี่ยงโดยความกว้างหรือความสูงขององค์ประกอบ ขึ้นอยู่กับมิติที่เลือก


ทรงพลัง
จอแสดงผล: ดิ้น |

อินไลน์-ดิ้น;

ระบุคอนเทนเนอร์แบบยืดหยุ่น (เค้าโครงออนไลน์หรือแบบบล็อกของค่าที่เลือก) เชื่อมต่อบริบทแบบยืดหยุ่นสำหรับแผ่นรองตรงกลางทั้งหมด

display: ค่าอื่นๆ|

ดิ้น |อินไลน์-ดิ้น;

ขอแสดงความนับถือ:

คอลัมน์ CSS ไม่ทำงานกับคอนเทนเนอร์ดิ้น

โฟลต ชัดเจน และจัดแนวตั้งใช้ไม่ได้กับองค์ประกอบดิ้น

ดิ้นทิศทาง

ยึดติดกับองค์ประกอบของคอนเทนเนอร์ดิ้นของพ่อ
ฉันติดตั้งแกนหลักทั้งหมด ซึ่งหมายความว่าแกนหลักนั้นมีไว้สำหรับองค์ประกอบดิ้น เช่น คอนเทนเนอร์โดยตรง
ทิศทางแบบยืดหยุ่น: แถว |
แถวย้อนกลับ |

คอลัมน์ |

คอลัมน์ CSS ไม่ทำงานกับคอนเทนเนอร์ดิ้น

คอลัมน์ย้อนกลับ

แถว (ด้านหลัง): ซ้ายไปขวาสำหรับลิตร ขวาไปซ้ายสำหรับ rtl;

แถวย้อนกลับ: มือขวาซ้ายสำหรับ ltr, มือขวาซ้ายสำหรับ rtl;
คอลัมน์: เช่นเดียวกับแถวจนถึงด้านล่าง
คอลัมน์ย้อนกลับ: คล้ายกับการย้อนกลับแถวจากล่างขึ้นบน

ดิ้นห่อ

คอลัมน์ CSS ไม่ทำงานกับคอนเทนเนอร์ดิ้น

ซึ่งหมายความว่าคอนเทนเนอร์เป็นแบบแถวเดียวหรือหลายแถว และยังมีทิศทางของแกนตามขวางด้วย ซึ่งหมายถึงแถวใหม่ที่จะกระจายโดยตรงเฟล็กซ์-ห่อ: nowrap |

ดิ้นห่อ< ‘flex-direction’> || < ‘Flex-wrap’>

ห่อ |

คอลัมน์ CSS ไม่ทำงานกับคอนเทนเนอร์ดิ้น

ห่อกลับnowrap (ด้านหลัง): แถวเดียว / ขวาสำหรับ ltr, ซ้ายขวาสำหรับ rtl; ห่อ: ถนัดขวา / ถนัดขวาสำหรับ ltr, ถนัดซ้ายสำหรับ rtl; wrap-reverse: หลายลำดับ / ซ้ายมือขวาสำหรับ ltr, ขวามือสำหรับ rtlดิ้นไหล

นี่เป็นทางลัดสำหรับพลังของทิศทางการงอและการห่อแบบยืดหยุ่น ซึ่งหมายถึงส่วนหัวและแกนตามขวางพร้อมกัน

ค่า nowrap ของแถวจะปรากฏด้านหลังการตัดคำ
ปรับเนื้อหา
นี่หมายถึงการจัดตำแหน่งของแกนกะโหลกศีรษะ
ช่วยแบ่งเบา
วิลน์เบ็ดเตล็ด

ในตอนท้ายหากองค์ประกอบของแถวไม่ "ยืด" หรือยืดออก แต่ถึงขนาดสูงสุดแล้ว
นอกจากนี้ยังช่วยให้โลกแห่งการร้องเพลงสามารถแยกแยะองค์ประกอบที่สั่นสะเทือนได้เมื่ออยู่นอกขอบเขตของแถว

คอลัมน์ CSS ไม่ทำงานกับคอนเทนเนอร์ดิ้น

ระบุลักษณะการทำงานมาตรฐานสำหรับวิธีการหมุนองค์ประกอบดิ้นตามแกนตามขวางในแถวการผลิตใช้เนื้อหาชิดขอบเวอร์ชันนี้สำหรับแกนตามขวาง (ตั้งฉากกับแกนหลัก)

จัดรายการ: flex-start flex-end center |

พื้นฐาน |
ยืด
flex-start: ขอบเขต cross-start สำหรับองค์ประกอบถูกย้ายไปยังตำแหน่ง cross-start
flex-end: เส้นขอบ cross-end สำหรับองค์ประกอบถูกย้ายไปยังตำแหน่ง cross-end
ศูนย์กลาง: องค์ประกอบต่างๆ จะถูกจัดวางที่ศูนย์กลางของแกนตามขวาง


เส้นฐาน: องค์ประกอบต่างๆ สอดคล้องกับเส้นฐาน
ยืด (สำหรับการซัก): องค์ประกอบถูกยืดออก, เติมภาชนะ (ด้วยความกว้างขั้นต่ำ/ความกว้างสูงสุด)

จัดรายการ

จัดตำแหน่งเนื้อหา

ยึดถือองค์ประกอบดิ้นคอนเทนเนอร์ของพ่อ
แถวแนวตั้งของคอนเทนเนอร์ Flex จะให้พื้นที่ว่างบนแกนตามขวางในลักษณะเดียวกับการจัดชิดขอบเนื้อหาบนแกนส่วนหัว
หมายเหตุ: พาวเวอร์นี้ใช้ไม่ได้กับเฟล็กบ็อกซ์แถวเดียว
align-content: flex-start flex-end center |
ช่องว่างระหว่าง |
อวกาศรอบ | ยืด.

flex-start: แถวถูกจัดแนวไว้ที่ด้านหน้าของคอนเทนเนอร์
flex-end: แถวถูกจัดชิดกับส่วนท้ายของคอนเทนเนอร์

กึ่งกลาง: แถวถูกจัดแนวไว้ที่กึ่งกลางของคอนเทนเนอร์ช่องว่างระหว่าง: แถวมีการกระจายเท่าๆ กัน (แถวแรกอยู่บนซังของแถว แถวที่เหลือจะคล้ายกัน)

ช่องว่างรอบ: แถวมีการกระจายเท่า ๆ กันโดยมีช่องว่างระหว่างกันเท่ากัน

ยืด (สำหรับห่อ): แถวถูกยืด, ทอ

พื้นที่ว่างจัดตำแหน่งเนื้อหาคำสั่งองค์ประกอบดิ้นจะวางเรียงกันแบบแถวต่อซัง

ทิมไม่น้อยอำนาจสั่งสามารถประยุกต์กับลำดับการเพาะปลูกในภาชนะได้ สั่งซื้อ 1

ดิ้นเติบโต

ยึดติดกับองค์ประกอบลูก/องค์ประกอบดิ้น

ซึ่งหมายความว่าองค์ประกอบเฟล็กซ์มีความสามารถในการ "เติบโต" ตามปริมาณการใช้

มันใช้ความหมายมากมายนับไม่ถ้วนและทำหน้าที่เป็นสัดส่วน ซึ่งหมายความว่าองค์ประกอบสามารถใช้พื้นที่ว่างตรงกลางคอนเทนเนอร์ได้

เนื่องจากองค์ประกอบทั้งหมดมีการตั้งค่าพลังงานแบบยืดหยุ่นไว้ที่ 1 ดังนั้นผิวหนังของแผ่นอิเล็กโทรดที่อยู่ตรงกลางภาชนะจึงมีขนาดเท่ากัน
หากคุณตั้งค่าแผ่นรองแผ่นใดแผ่นหนึ่งเป็น 2 คุณจะใช้พื้นที่เป็นสองเท่าของแผ่นรองอีกแผ่น

ดิ้นเติบโต

(สำหรับ zamovchuvannyam 0) ดิ้นหดตัว

ยึดติดกับองค์ประกอบลูก/องค์ประกอบดิ้น

ยึดติดกับองค์ประกอบลูก/องค์ประกอบดิ้นคำนี้ย่อมาจาก flex-grow, flex-shrink และ flex-basisไม่จำเป็นต้องมีพารามิเตอร์อื่นๆ และพารามิเตอร์ที่สาม (flex-shrink, flex-basis)

ค่าทำความสะอาด – 0 1 อัตโนมัติ [< ‘Flex-grow «> <» flex-shrink’>? || < ‘Flex-basis’>]

ดิ้น: ไม่มี

จัดตัวเอง

ยึดติดกับองค์ประกอบลูก/องค์ประกอบดิ้น

ช่วยให้คุณกำหนดค่าใหม่ของการถ่วงน้ำหนักที่ระบุสำหรับการจัดตำแหน่งหรือในการจัดแนวรายการสำหรับองค์ประกอบ Flex อื่นๆ
กลับไปที่คำอธิบายของรายการจัดเรียงเพื่อดูภาพรวมโดยย่อของค่าที่มีอยู่จัดตำแหน่งตัวเอง: อัตโนมัติ |

เฟล็กซ์-สตาร์ท เฟล็กซ์เอนด์เซ็นเตอร์ |

พื้นฐาน |ยืดใช้มัน

เริ่มจากก้นธรรมดา การปรับแทบจะทันที: การจัดตำแหน่งอยู่ตรงกลางพอดี
ไม่มีอะไรจะง่ายไปกว่าการใช้ flexbox
ผู้ปกครอง ( จอแสดงผล: flex; ความสูง: 300px; ) .child ( ความกว้าง: 100px; / * อะไรก็ตาม * / ความสูง: 100px; / * อะไรก็ตาม * / ระยะขอบ: auto; / * Magic! * / )

ตัวอย่างนี้อิงตามข้อเท็จจริงที่ว่าระยะขอบใต้คอนเทนเนอร์ Flex ซึ่งตั้งค่าเป็นอัตโนมัตินั้นเติมเต็มพื้นที่ทั้งหมด ดังนั้นการเข้าถึงที่กำหนดด้วยวิธีนี้จะจัดองค์ประกอบให้อยู่ตรงกลางทั้งสองแกนทุกประการ ตอนนี้ขอยืนหยัดต่ออำนาจของเจ้าหน้าที่
ค้นหาชุดองค์ประกอบ 6 ชิ้นที่มีขนาดคงที่ (สำหรับสี) แต่คุณสามารถเปลี่ยนขนาดของภาชนะได้
เราต้องการกระจายพวกมันเท่าๆ กันในแนวนอน เพื่อให้เมื่อปรับขนาดหน้าต่างเบราว์เซอร์ก็จะดูดี (โดยไม่ต้องร้องขอ @media!)
คอนเทนเนอร์แบบยืดหยุ่น (
/ * flex-context ละลายได้แล้ว * /
* /
จอแสดงผล: ดิ้น;

/ * ตอนนี้สิ่งสำคัญคือต้องกำหนดทิศทางการไหลและสิ่งที่เราต้องการเพื่อให้องค์ประกอบต่างๆ
}

ย้ายไปแถวใหม่แล้ว * จำสิ่งที่เหมือนกับ:* ทิศทางแบบยืดหยุ่น: แถว;* Flex-wrap: ห่อ;

ดิ้นไหล: ตัดแถว;
/ * ตอนนี้สิ่งสำคัญคือการแบ่งพื้นที่ * /
พร้อม.
ราสต้าอยู่ทางขวาแล้ว
เรามาลองอย่างอื่นกันดีกว่า
โปรดทราบว่าเราต้องการการนำทางด้วยมือขวาที่ด้านบนสุดของไซต์ของเรา แต่เราต้องการให้อยู่ตรงกลางสำหรับหน้าจอขนาดกลาง และจัดเรียงใหม่ไปด้านหนึ่งสำหรับหน้าจอขนาดเล็ก
}

ทุกอย่างเป็นเรื่องง่ายที่จะเสร็จสมบูรณ์
/ * ตอนนี้สิ่งสำคัญคือการแบ่งพื้นที่ * /
/ * หน้าจอใหญ่ * /
.การนำทาง(
จอแสดงผล: ดิ้น;
}
}

ดิ้นไหล: ตัดแถว;
/ * ผลักองค์ประกอบไปที่ท้ายแถวตามแนวแกนส่วนหัว * /
/ * ตอนนี้สิ่งสำคัญคือการแบ่งพื้นที่ * /
ปรับเนื้อหา: ดิ้นปลาย;
สื่อทั้งหมดและ (ความกว้างสูงสุด: 800px) (
}
}

/ * สำหรับหน้าจอขนาดกลาง การนำทางจะอยู่ตรงกลางแล้วเลย์เอาต์สามคอลัมน์สำหรับมือถือที่มีส่วนหัวและส่วนท้ายแบบกว้างล่ะ?І ในลำดับการตกแต่งที่แตกต่างกัน

กระดาษห่อ (
พร้อม.
ราสต้าอยู่ทางขวาแล้ว
}

/ * ตั้งค่าความกว้างขององค์ประกอบทั้งหมดเป็น 100% * /
.header, .main, .nav, .aside, .footer (
ดิ้น 1100%;
}

/ * ในกรณีนี้เราจะเปิดลำดับเอาต์พุตสำหรับการวางแนว
* อุปกรณ์มือถือ:
* 1 ส่วนหัว
* 2 นำทาง
* 3 หลัก
* 4 กัน
* 5 ส่วนท้าย
* /

/ * หน้าจอขนาดกลาง * /
สื่อทั้งหมดและ (ความกว้างขั้นต่ำ: 600px) (
/ * แถบด้านข้างแสดงเป็นแถวเดียว * /
.aside (ดิ้น: 1 อัตโนมัติ; )
}

/ * หน้าจอใหญ่ * /

Flexbox เป็นเทคโนโลยีเค้าโครงอันทรงพลังที่สามารถกลายเป็นเครื่องมือที่ขาดไม่ได้ในการสร้างเทมเพลต HTML

ผู้ออกแบบเลย์เอาต์สำหรับการออกแบบโครงการต่าง ๆ มีกลยุทธ์ที่แตกต่างกันสำหรับเลย์เอาต์ Flexbox เป็นโมดูลทั้งหมด และไม่ใช่แค่หน่วยงานเดียวเท่านั้น ซึ่งทำให้ไม่มีหน่วยงานใดอยู่ด้วยใครสามารถเขียน clean html หรือใช้ framework ยอดนิยมได้บ้าง?

นักออกแบบเลย์เอาต์รู้สึกสบายใจที่ได้ทำงานกับเทคโนโลยีขั้นสูงและประสบความสำเร็จ ซึ่งเป็นสัญญาณของผู้เชี่ยวชาญที่ดี

เบียร์

อาจกลายเป็นเครื่องมือเพิ่มเติมและหลักที่ขาดไม่ได้ในการจัดระเบียบโค้ดที่มีความสามารถ นักพัฒนาใช้เวลานานในการปรับแต่งเค้าโครงตาราง องค์ประกอบโฟลต บล็อกอินไลน์ และการควบคุม CSS อื่นๆ เพื่อให้บล็อกมีการปรับแต่งที่จำเป็นการแสดงสุนทรพจน์ง่ายๆ ที่จัดกึ่งกลางแนวตั้งทำให้ทำงานได้อย่างราบรื่น

การสร้างเลย์เอาต์ตามกริดต้องมีแนวปฏิบัติที่ดี ซึ่งเป็นเหตุผลว่าทำไมเฟรมเวิร์ก CSS ที่อิงกริดจึงแพร่หลาย

  1. แนวคิดหลักของเค้าโครงโดยใช้ flexbox เพิ่มเติมในคอนเทนเนอร์ที่กำหนดคือการเปลี่ยนความกว้าง/ความสูง (และลำดับ) ขององค์ประกอบเพื่อเพิ่มพื้นที่ให้สูงสุด (ในกรณีส่วนใหญ่ - เพื่อรองรับจอแสดงผลและขนาดหน้าจอ iv ทุกประเภท)
  2. ข้อกำหนดหลัก
  3. โมดูลเค้าโครงกล่องแบบยืดหยุ่น CSS
  4. เพื่อให้ทุกอย่างได้รับเสร็จสมบูรณ์ คุณสามารถเพิ่มองค์ประกอบลงในแถวหรือสแต็คจำนวนหนึ่งได้โดยอัตโนมัติ
  5. ในโลกส่วนใหญ่ของเรา รูปแบบของการเขียนคือ rtl สำหรับคนถนัดขวา-ซ้าย (ขวาไปซ้าย) นอกเหนือจากรูปแบบที่เราเรียกว่า ltr (ซ้ายไปขวา)
  6. คุณสมบัติพิเศษของ Flexbox อยู่ที่ว่าไม่มีการดัดแปลงใดๆ ดังนั้นสำหรับทุกคนจึงมีความเข้าใจเกี่ยวกับจุดสิ้นสุดและจุดสิ้นสุด ไม่ใช่ด้านขวาและด้านซ้าย

ในเบราว์เซอร์ที่กำหนดค่าด้วย rtl องค์ประกอบทั้งหมดจะถูกวางในลำดับย้อนกลับโดยอัตโนมัติ

  • ไวยากรณ์ของกฎ CSS นั้นเรียบง่ายและเรียนรู้ได้ง่ายประวัติความเป็นมาของเฟล็กซ์บ็อกซ์
  • 2551 r_k– คณะทำงาน CSS เพื่อเจรจาโปรแกรมโมเดลกล่องแบบยืดหยุ่น โดยยึดตาม XUL (XML User Interface Language - มาร์กอัปภาษาสำหรับโปรแกรม Mozilla) และ XAML (Extensible Application Markup Language - มาร์กอัปภาษาสำหรับโปรแกรม Microsoft)
  • 2552 r_k- เผยแพร่โครงการ "Flexible Box Layout Module"
  • 2012 Chrome และ Safari กำลังเพิ่มการรองรับบางส่วนเนื่องจาก Mozilla เริ่มรองรับไวยากรณ์คล้าย XUL ที่เรียกว่า "Flexbox 2009"เมื่อใดก็ตามที่คุณอ่านโพสต์บนบล็อกหรือค้นหาข้อมูลเกี่ยวกับ Flexbox จากแหล่งอื่น คุณจะพบกับสำนวนต่างๆ เช่น display: box;
  • และกำลังคล้ายกับกล่อง - (*) ซึ่งหมายความว่าเวอร์ชันของ Flexbox ที่อยู่ตรงหน้าคุณล้าสมัยตั้งแต่ปี 2009 2554 r_k- Tab Atkins ดำเนินการพัฒนา Flexbox และเผยแพร่ 2 blackouts ในแบล็คแจ็คเหล่านี้ ไวยากรณ์เปลี่ยนไปอย่างมาก Chrome, Opera และ IE 10 รองรับไวยากรณ์นี้ที่เรียกว่า "flexbox 2011"

ริค

– ไวยากรณ์มีการเปลี่ยนแปลงและชี้แจงอีกครั้ง ข้อมูลจำเพาะดังกล่าวกลายเป็น Candidate Recommendation และเผยแพร่ภายใต้ชื่อ "flexbox 2012" Opera ส่งเสริมการสนับสนุนแบบไม่มีคำนำหน้า Chrome รองรับข้อกำหนดที่แน่นอนด้วยคำนำหน้า และ Mozilla หากไม่มีคำนำหน้า IE10 รองรับไวยากรณ์ "flexbox 2011"

ไม่ว่าเบราว์เซอร์จะสนับสนุนไวยากรณ์เก่าก็ตาม ไม่แนะนำให้ใช้วิกินี้เนื่องจากข้อกำหนดเวอร์ชันเก่าไม่เป็นปัจจุบันอีกต่อไป ในอนาคตอันใกล้นี้ เบราว์เซอร์จะต้องยอมรับการสนับสนุนนี้ไม่ว่าในกรณีใด เนื่องจากไวยากรณ์ใหม่นั้นง่ายกว่าแบบเก่ามาก ดังนั้นการนำไปปฏิบัติจึงมีแนวโน้มว่าจะเหนือกว่า

เบราว์เซอร์ที่ไม่รองรับโมดูล Flexbox จะเริ่มทำงานในรูปแบบใหม่ โดยถ่ายโอนข้อกำหนดที่เหลือซึ่งลบสถานะ CR ออก

-

การแนะนำผู้สมัคร - *ผู้สมัครรับคำแนะนำตามมาตรฐาน ซึ่งหมายความว่ามีความพร้อมทางเทคนิคแล้วก่อนนำไปใช้ และไม่มีการเปลี่ยนแปลง)สิ่งที่ขาดหายไปคือ IE 10 ซึ่งอาจมีการรองรับ Flexbox เวอร์ชันกลางที่ไม่สมบูรณ์เพียงตัวเดียว (ซึ่งมีการแสดงค่า: flexbox;) (*ยิ่งไปกว่านั้น จะต้องมีคำนำหน้าผู้ขาย -ms-).

ไวยากรณ์พื้นฐาน เนื่องจาก flexbox เป็นโมดูลทั้งหมด และไม่ใช่แค่กำลังไฟเดียว จะทำให้ไม่มีพลังงานผู้ที่รับผิดชอบพวกเขายืนขึ้นที่คอนเทนเนอร์ (องค์ประกอบของ Batkov ที่เรียกว่า ภาชนะดิ้น .

) ในเวลานั้นเมื่อหน่วยงานอื่นรวมเข้ากับองค์ประกอบย่อยหรือ
องค์ประกอบดิ้น
สำหรับซังวิโคริสถาน จำเป็นต้องใส่ภาชนะ
จอแสดงผล:ดิ้น

หรืออย่างอื่น

จอแสดงผล: อินไลน์เฟล็กซ์

บล็อกเฟล็กซ์ 1

  • เฟล็กซ์บล็อก 2บล็อกเฟล็กซ์ 3
  • เฟล็กซ์บล็อก 4 Flex_container ( จอแสดงผล: ดิ้น; )

ลักษณะพื้นฐานของคอนเทนเนอร์แบบยืดหยุ่น

สิ่งสำคัญประการหนึ่งที่ต้องเข้าใจเกี่ยวกับเฟล็กซ์บ็อกซ์คือแกนของมัน

หัวทั้งหมด

flex-container - ไม่ใช่โดยตรง เห็นได้ชัดว่าองค์ประกอบย่อยทั้งหมดจะถูกขยายจนกว่าจะถึงเวลาดังกล่าว ขอแสดงความนับถือ::
  • ขวางทั้งหมด – ตั้งฉากกับแกนส่วนหัวหลังจากล้างแล้ว ศีรษะทั้งหมดในตำแหน่ง ltr จะหมุนไปทางขวา และพาดผ่านสัตว์ทั้งหมดลงด้านล่าง
  • หากคุณเปลี่ยนกำลัง CSS พื้นฐานของทิศทางแบบยืดหยุ่น คุณสามารถกำหนดทิศทางของแกนส่วนหัวของคอนเทนเนอร์แบบยืดหยุ่นได้ทิศทางแบบยืดหยุ่น - กำหนดทิศทางแกนส่วนหัว
  • การสาธิตพลังหลักของคอนเทนเนอร์แบบยืดหยุ่นค่าที่มีอยู่
  • แถว(หมายถึง ซามอฟชุวันยัม)

: จากซ้ายไปขวา (ใน rtl จากขวาไปซ้าย)

แถวย้อนกลับ ห่อ | : ถนัดซ้าย (ใน rtl ซ้าย ขวา)คอลัมน์

flex-container - ไม่ใช่โดยตรง เห็นได้ชัดว่าองค์ประกอบย่อยทั้งหมดจะถูกขยายจนกว่าจะถึงเวลาดังกล่าว ห่อ |:

  • : สัตว์ร้ายลง – ตั้งฉากกับแกนส่วนหัวคอลัมน์ย้อนกลับ
  • : จากล่างขึ้นเนิน justify-content - การจัดตำแหน่งตามแกนส่วนหัว
  • พลังซีเอสศีรษะ
  • แกน.: บล็อกแรกกระจายออกไปบนส่วนหัวของแกนส่วนหัว บล็อกที่เหลืออยู่ที่ส่วนท้าย บล็อกอื่นๆ ทั้งหมดจะกระจายเท่าๆ กันในช่องว่าง
  • พื้นที่รอบ: บล็อกทั้งหมดมีการกระจายเท่าๆ กันตามแนวแกนส่วนหัว โดยแบ่งพื้นที่ว่างทั้งหมดเท่าๆ กัน

align-items - การจัดตำแหน่งตามแกนขวาง

แถวย้อนกลับ นอกจากนี้ยังช่วยให้โลกแห่งการร้องเพลงสามารถแยกแยะองค์ประกอบที่สั่นสะเทือนได้เมื่ออยู่นอกขอบเขตของแถวหมายถึงสิ่งที่จะเป็นองค์ประกอบที่ชั่วร้ายของทั้งหมด ขวางคอลัมน์

flex-container - ไม่ใช่โดยตรง เห็นได้ชัดว่าองค์ประกอบย่อยทั้งหมดจะถูกขยายจนกว่าจะถึงเวลาดังกล่าว นอกจากนี้ยังช่วยให้โลกแห่งการร้องเพลงสามารถแยกแยะองค์ประกอบที่สั่นสะเทือนได้เมื่ออยู่นอกขอบเขตของแถว:

  • : สัตว์ร้ายลง: บล็อกถูกกดไปที่แกนกลางของแกนตามขวาง
  • : จากล่างขึ้นเนิน: บล็อกถูกกดจนสุดแกนตามขวาง
  • พลังซีเอส: บล็อกถูกย้ายไปที่ศูนย์กลางของแกนตามขวาง
  • พื้นฐาน: บล็อกจะถูกปรับระดับให้เป็นระดับพื้นฐาน
  • ยืด – ตั้งฉากกับแกนส่วนหัว: บล็อกถูกยืดออกโดยครอบครองทุกสิ่งในตำแหน่งที่เข้าถึงได้มากที่สุดตามแนวแกนขวางซึ่งคุณยังต้องมีประกัน ความกว้างขั้นต่ำ / ความกว้างสูงสุดงานเหล่านี้คืออะไร?

พลังซีเอสเอส ขอแสดงความนับถือ: , ปรับเนื้อหา , นอกจากนี้ยังช่วยให้โลกแห่งการร้องเพลงสามารถแยกแยะองค์ประกอบที่สั่นสะเทือนได้เมื่ออยู่นอกขอบเขตของแถวควรวางความรับผิดชอบไว้บนคอนเทนเนอร์ Flex โดยตรง ไม่ใช่ในองค์ประกอบลูก

มีการจัดเรียงบล็อกจำนวนมากอยู่ตรงกลางของคอนเทนเนอร์ดิ้น

คอลัมน์ |

ตำแหน่งทั้งหมดถูกสร้างขึ้นโดยใช้การจัดเรียงบล็อกแถวเดียว (คอลัมน์เดียว)

flex-container - ไม่ใช่โดยตรง เห็นได้ชัดว่าองค์ประกอบย่อยทั้งหมดจะถูกขยายจนกว่าจะถึงเวลาดังกล่าว คอลัมน์ |:

  • ควรจะบอกว่าหลังจากห่อภาชนะดิ้นแล้วบล็อกจะถูกวางตรงกลางในบรรทัดเดียว – ตั้งฉากกับแกนส่วนหัวข้อมูลจำเพาะนี้ยังรองรับโหมดลำดับสูงอีกด้วย
  • พลัง CSS ของ flex-wrap แสดงให้เห็นถึงความเป็นระเบียบเรียบร้อยที่อยู่ตรงกลางของคอนเทนเนอร์แบบยืดหยุ่นตอนนี้แรป
  • : บล็อกจะจัดเรียงเป็นหนึ่งบรรทัดจากซ้ายไปขวา (ใน rtl จากขวาไปซ้าย)ห่อ พลัง CSS ของ flex-wrap แสดงให้เห็นถึงความเป็นระเบียบเรียบร้อยที่อยู่ตรงกลางของคอนเทนเนอร์แบบยืดหยุ่น: บล็อกจะจัดเรียงเป็นแถวแนวนอนจำนวนหนึ่ง (เนื่องจากไม่พอดีในแถวเดียว)

กลิ่นไล่กันจากขวาไปขวา (ใน rtl จากขวาไปซ้าย)

ห่อกลับ ดิ้นห่อ: พวกที่ฉัน และบล็อกจะหมุนตามลำดับ .

flex-flow – เข้มงวดมากขึ้นสำหรับทิศทางการงอ + การห่อแบบยืดหยุ่น

ยืด (สำหรับการซัก): องค์ประกอบถูกยืดออก, เติมภาชนะ (ด้วยความกว้างขั้นต่ำ/ความกว้างสูงสุด)

โดยพื้นฐานแล้ว ยืด (สำหรับการซัก): องค์ประกอบถูกยืดออก, เติมภาชนะ (ด้วยความกว้างขั้นต่ำ/ความกว้างสูงสุด)ทำให้สามารถอธิบายส่วนหัวและความสมบูรณ์ของแกนตามขวางได้โดยตรงด้วยกำลังเดียว

สำหรับส่วนที่เหลือ ยืด (สำหรับการซัก): องค์ประกอบถูกยืดออก, เติมภาชนะ (ด้วยความกว้างขั้นต่ำ/ความกว้างสูงสุด)ดิ้นไหล: แถว nowrap Flex_container( flex-direcion:column; flex-wrap: wrap; ) /* หรือ */ .flex_container( flex-flow: การตัดคอลัมน์; )ผู้ที่รับผิดชอบพวกเขายืนขึ้นที่คอนเทนเนอร์ (องค์ประกอบของ Batkov ที่เรียกว่า ยังมีพลัง).

ซึ่งหมายความว่าแถวของบล็อกที่สร้างขึ้นจะจัดแนวในแนวตั้งอย่างไรและจะแบ่งพื้นที่ทั้งหมดของคอนเทนเนอร์ดิ้นกันอย่างไร

  • : สัตว์ร้ายลงสำคัญ:
  • : จากล่างขึ้นเนินใช้งานได้เฉพาะในโหมดหลายแถวเท่านั้น (จากนั้นคุณจะ
  • พลังซีเอสดิ้นห่อ: ห่อ;
  • แกน.ดิ้นห่อ: ห่อกลับ;
  • พื้นที่รอบ: แถวของบล็อกมีการกระจายเท่าๆ กันตั้งแต่ต้นจนจบคอนเทนเนอร์ดิ้น โดยแบ่งพื้นที่ว่างทั้งหมดเท่าๆ กัน
  • ยืด – ตั้งฉากกับแกนส่วนหัว: แถวของบล็อกถูกยืดออกเพื่อใช้พื้นที่ว่างทั้งหมด

สาธิตข้อบกพร่องใน Flexbox

กฎ CSS สำหรับองค์ประกอบลูกของคอนเทนเนอร์ดิ้น (บล็อกดิ้น)

flex-basis - ขนาดพื้นฐานของบล็อกดิ้นที่เลือก

ตั้งค่าขนาดเริ่มต้นของแกนส่วนหัวสำหรับบล็อกเฟล็กซ์ก่อนที่การเปลี่ยนแปลงตามปัจจัยเฟล็กซ์อื่นๆ จะเสร็จสมบูรณ์

สามารถมีงานสำหรับหน่วยใด ๆ ในรูปแบบของ dovzhin (px, em, %, ... ) หรืออัตโนมัติ (สำหรับการประมวลผล)

สำหรับงานเช่นรถยนต์นั้น ขนาดของบล็อก (ความกว้าง ความสูง) จะถูกใช้เป็นพื้นฐาน ซึ่งในทางของตัวเองสามารถอยู่ในเนื้อหาได้หากไม่ได้กำหนดไว้อย่างชัดเจน

flex-grow - "ความโลภ" ถัดจากบล็อกเฟล็กซ์ที่ถ่าย:

  • ซึ่งหมายความว่าบล็อกแบบยืดหยุ่นจะมีราคาสูงกว่าองค์ประกอบที่อยู่ติดกันซึ่งไม่จำเป็นได้มากเพียงใด flex-grow เติมด้วยค่าไร้มิติ (สำหรับ 0 ค่า)
  • ก้น 1 ดิ้น-เติบโต:1แล้วกลิ่นเหม็นก็จะรุนแรงขึ้นอีก

หากหนึ่งในนั้นอาจ:

  • ดิ้น-เติบโต:2 แล้วค่าจะมากกว่าหรือต่ำกว่า 2 เท่า , ก้น 2
  • ก้น 1 เนื่องจากบล็อกดิ้นทั้งหมดที่อยู่ตรงกลางของคอนเทนเนอร์ดิ้นมีความยืดหยุ่นดิ้น-เติบโต:3

แล้วกลิ่นก็จะมีขนาดใหม่ ยืด (สำหรับห่อ): แถวถูกยืด, ทอดิ้น-เติบโต:12

แล้วจะมีค่ามากขึ้น 4 เท่า และมีค่าน้อยลง

มันไม่สำคัญเลย

ไม่ได้ระบุความกว้างที่แน่นอน

สิ่งนี้บ่งบอกถึงระดับของ "ความโลภ" ที่สัมพันธ์กับบล็อกดิ้นอื่น ๆ ในระดับเดียวกัน

flex-shrink - ปัจจัย "ความแข็ง" ของบล็อกเฟล็กซ์ที่นำมา

ซึ่งหมายความว่าสามารถเปลี่ยนบล็อก Flex ได้ทุกเมื่อที่ตรงกลางของคอนเทนเนอร์ Flex ไม่เพียงพอ

สำหรับโปรโมชั่น ราคาคือ 1 นอกจากนี้ยังช่วยให้โลกแห่งการร้องเพลงสามารถแยกแยะองค์ประกอบที่สั่นสะเทือนได้เมื่ออยู่นอกขอบเขตของแถวดิ้น - รายการสั้นสำหรับหน่วยงาน flex-grow, flex-shrink และ flex-basis

Flex_block( flex-grow:12; flex-shrink:3; พื้นฐานดิ้น: 30em; ) /* หรือ */ .flex_block( ดิ้น: 12 3 30em; ) นอกจากนี้ยังช่วยให้โลกแห่งการร้องเพลงสามารถแยกแยะองค์ประกอบที่สั่นสะเทือนได้เมื่ออยู่นอกขอบเขตของแถว)

  • : สัตว์ร้ายลงสาธิต flex-grow, flex-shrink และ flex-basis
  • : จากล่างขึ้นเนิน align-self - การจัดตำแหน่งของบล็อกดิ้นที่เลือกตามแกนขวาง
  • พลังซีเอสทำให้สามารถกำหนดความจุของคอนเทนเนอร์แบบยืดหยุ่นได้อีกครั้ง
  • สำหรับบล็อกดิ้นที่อยู่ติดกันค่า align-self ที่มีอยู่ (ยังมี 5 ตัวเลือก เพื่ออะไร)
  • ยืด – ตั้งฉากกับแกนส่วนหัว: บล็อกดิ้นกดไปที่ขอบของแกนตามขวาง : บล็อกดิ้นถูกกดจนสุดแกนตามขวาง: บล็อกดิ้นของการปรับที่ศูนย์กลางของแกนตามขวาง ความกว้างขั้นต่ำ / ความกว้างสูงสุดงานเหล่านี้คืออะไร?

เบสลิน

บล็อกทั้งหมดจะตามมาทีละบล็อกตามลำดับที่ระบุใน html

อย่างไรก็ตาม ลำดับนี้สามารถเปลี่ยนแปลงได้โดยใช้กำลังเพิ่มเติมของดิ้น - บล็อกของค่าสำหรับเส้นพื้นฐาน

) ในเวลานั้นเมื่อหน่วยงานอื่นรวมเข้ากับองค์ประกอบย่อยหรือ
องค์ประกอบดิ้น
สำหรับซังวิโคริสถาน จำเป็นต้องใส่ภาชนะ
จอแสดงผล:ดิ้น
ระบุด้วยตัวเลขจำนวนเต็มและตามด้วย 0

ค่าลำดับไม่ได้ระบุตำแหน่งที่แน่นอนขององค์ประกอบในลำดับ

Vono ระบุตำแหน่งขององค์ประกอบ

เฟล็กซ์บล็อก 5
  • ในกรณีนี้ บล็อกจะตามมาทีละบล็อกบนแกนส่วนหัวตามลำดับไปข้างหน้า: Flex block 5, Flex block 1, Flex block 3, Flex block 4, Flex block 2
  • สาธิตการจัดตำแหน่งตัวเองและการสั่งซื้อ
  • Bootstrap เริ่มรองรับ flexbox แล้ว

Bootstrap 4 Flexbox จะมีงานสำหรับส่วนประกอบต่อไปนี้:

ระบบกริดทั้งหมด (คลาสมิกซ์อินและซูม) เช่นการสลับจากโฟลตเป็นดิสเพลย์: ดิ้น;

Flexbox เป็นโมดูลทั้งหมด และไม่ใช่แค่หน่วยงานเดียวเท่านั้น ซึ่งทำให้ไม่มีหน่วยงานใดอยู่ด้วยจอแสดงผลอินพุตแบบฟอร์ม: ตาราง; Flexbox เป็นโมดูลทั้งหมด และไม่ใช่แค่หน่วยงานเดียวเท่านั้น ซึ่งทำให้ไม่มีหน่วยงานใดอยู่ด้วยเปลี่ยนการแสดงผล: ดิ้น;

ส่วนประกอบสื่อไปแสดง: ตาราง; Vikorist Flexbox – เจ๋งมาก!

ซีหมอก: - วิธีใหม่ในการวางบล็อกบนเพจเทคโนโลยีนี้ถูกสร้างขึ้นเพื่อจัดวางองค์ประกอบต่างๆ แบบลอยตัว

เพื่อขอความช่วยเหลือต่อไป Flexbox เป็นโมดูลทั้งหมด และไม่ใช่แค่หน่วยงานเดียวเท่านั้น ซึ่งทำให้ไม่มีหน่วยงานใดอยู่ด้วยคุณสามารถจัดตำแหน่งองค์ประกอบในแนวนอนและแนวตั้ง เปลี่ยนลำดับการแสดงองค์ประกอบ ขยายบล็อกจนเต็มความสูงของบล็อก หรือตอกตะปูไปที่ขอบด้านล่าง

อัปเดตลงวันที่ 02.02.2017:

ฉันสร้างสูตรโกงแบบแมนนวลด้วย Flexbox พร้อมการสาธิตสดและคำอธิบายที่ร้อนแรง: สูตรโกง Flexbox ก้นของ vikorists ปราศจากไวยากรณ์ใหม่ในขณะที่เขียนบทความนี้ กลิ่นเหม็นจะถูกพรรณนาอย่างถูกต้องที่สุด

โครเมียม Flexbox เป็นโมดูลทั้งหมด และไม่ใช่แค่หน่วยงานเดียวเท่านั้น ซึ่งทำให้ไม่มีหน่วยงานใดอยู่ด้วย- ใน Firefox ใช้งานได้บ่อย แต่ใน Safari ไม่ทำงานเลย

กรุณาเยี่ยมชม caniuse.com,

8 และ 9 IE และ Opera Mini ไม่รองรับ และในเบราว์เซอร์อื่นๆ ก็ไม่รองรับหน่วยงานและ/หรือคำนำหน้าที่จำเป็นทั้งหมด

ซึ่งหมายความว่าเทคโนโลยีนี้ไม่สามารถนำมาใช้กันอย่างแพร่หลายได้ในทันที เว้นแต่ว่าคุณจะรู้จักมันมากขึ้น

จำเป็นต้องมีการจัดเรียงองค์ประกอบดิ้นตามแกนเป็นหลัก

หลังจากล้างองค์ประกอบแล้ว ให้ย้ายองค์ประกอบเหล่านั้นในแนวนอน - vzdovzh

หากบล็อกของพ่อแทนที่รูปภาพหรือข้อความโดยไม่เกิดรอยไหม้ สิ่งเหล่านั้นจะกลายเป็นองค์ประกอบดิ้นที่ไม่ระบุตัวตน

จอแสดงผลพลังงานสำหรับ Flexbox เป็นโมดูลทั้งหมด และไม่ใช่แค่หน่วยงานเดียวเท่านั้น ซึ่งทำให้ไม่มีหน่วยงานใดอยู่ด้วยคุณสามารถรับได้สองค่า:

ดิ้น - ทำตัวเหมือนองค์ประกอบบล็อก

เมื่อขยายความกว้างของบล็อก ลำดับความสำคัญของเค้าโครง (หากความกว้างของบล็อกไม่เพียงพอ เนื้อหาอาจอยู่นอกขอบเขต)

inline-flex - ทำงานเหมือนบล็อกอินไลน์

ลำดับความสำคัญใน (เนื้อหาจะขยายบล็อกให้มีความกว้างที่ต้องการเพื่อให้แถวพอดี หากเป็นไปได้)

ทิศทางแบบยืดหยุ่น

ทิศทางของโครงร่างบล็อกถูกควบคุมโดยพลังของทิศทางแบบยืดหยุ่น

ค่าที่เป็นไปได้:

แถว - แถว (หมายถึงตำแหน่ง);

แถวย้อนกลับ - แถวที่มีองค์ประกอบในลำดับย้อนกลับ

คอลัมน์ – คอลัมน์;

ทิศทางแบบยืดหยุ่น

column-reverse – คอลัมน์ที่มีองค์ประกอบในลำดับย้อนกลับ

แถวและแถวย้อนกลับ

คอลัมน์และคอลัมน์ย้อนกลับ

Flex-ห่อ

ในแถวเดียวอาจมีบล็อกได้จำนวนมาก

พลังของการพันแบบยืดหยุ่นไม่ได้หมายความว่าสามารถทนต่อกลิ่นเหม็นได้

nowrap - บล็อกจะไม่ถูกโอน (หมายถึงหลังการโอน)

wrap – บล็อกถูกโอน;

wrap-reverse - บล็อกจะถูกถ่ายโอนและจัดเรียงใหม่ในลำดับย้อนกลับ

สำหรับคำอธิบายโดยย่อเกี่ยวกับกำลังของทิศทางการโค้งงอและการห่อแบบงอ มีกำลัง: การไหลแบบยืดหยุ่น

ความหมายที่เป็นไปได้: คุณสามารถถามความไม่พอใจต่อเจ้าหน้าที่หรือแม้แต่เพียงข้อเดียวก็ได้

ตัวอย่างเช่น:

ดิ้นไหล: คอลัมน์;

ดิ้นไหล: ห่อกลับ;

ดิ้นไหล: ตัดคอลัมน์ย้อนกลับ;

การสาธิตสำหรับการย้อนกลับแบบแถวย้อนกลับ:

คำสั่ง

เพื่อควบคุมลำดับของบล็อก ให้ใช้พลังแห่งคำสั่ง

ความหมายที่เป็นไปได้: ตัวเลข

flex-start - องค์ประกอบต่างๆ ถูกจัดตำแหน่งตั้งฉากกับแกน

flex-end – องค์ประกอบจะจัดเรียงที่ส่วนท้ายของแกนตั้งฉาก

ศูนย์กลาง – องค์ประกอบต่างๆ ถูกจัดวางให้อยู่ตรงกลาง

เส้นฐาน – องค์ประกอบต่างๆ ถูกจัดเรียงตามแนวเส้นฐาน

ยืด - องค์ประกอบยืดซึ่งครอบครองพื้นที่ทั้งหมดของแกนตั้งฉาก (ค่าสำหรับการซัก)

ดิ้น-เริ่มต้น, ดิ้น-end

พื้นฐาน, ยืด

จัดตำแหน่งตนเอง

align-self ยังระบุการจัดตำแหน่งของแกนตั้งฉาก และถูกกำหนดให้กับองค์ประกอบดิ้นที่อยู่ติดกัน

ทิศทางแบบยืดหยุ่น

ค่าที่เป็นไปได้สำหรับ align-self:

flex-end – องค์ประกอบจะจัดเรียงที่ส่วนท้ายของแกนตั้งฉาก

อัตโนมัติ - ความหมายสำหรับผู้อยู่อาศัยพรหม

การสาธิตสำหรับการย้อนกลับแบบแถวย้อนกลับ:

ซึ่งหมายความว่าองค์ประกอบนั้นเป็นรายการจัดเรียงของ vikoryst กับองค์ประกอบของพ่อ flex-start - องค์ประกอบจะสอดคล้องกับแกนตั้งฉาก

flex-end - องค์ประกอบจัดตำแหน่งที่ส่วนท้ายของแกนตั้งฉาก

ศูนย์กลาง – องค์ประกอบถูกจัดวางให้อยู่ตรงกลาง

เส้นฐาน – องค์ประกอบถูกจัดเรียงตามแนวเส้นฐาน

ยืด - องค์ประกอบยืดออกโดยครอบครองพื้นที่ทั้งหมดที่มีความสูงจัดแนวเนื้อหา

หากต้องการควบคุมการจัดตำแหน่งตรงกลางของคอนเทนเนอร์ดิ้นแบบหลายแถว ให้ใช้พลังงานการจัดตำแหน่งเนื้อหา

น่าเสียดายที่แนวหน้าในยุคแรกๆ อาจเป็นเรื่องยากที่จะพัฒนาเครื่องมือเหล่านี้ให้เพียงพอ ซึ่งเป็นเหตุผลว่าทำไมพวกเขาจึงต้องพัฒนาอย่างต่อเนื่องและรู้พื้นฐานของเลย์เอาต์

และด้วยเหตุผลหลายประการ เลย์เอาต์ยังคงดำเนินต่อไป "ในแบบเด็ก ๆ" เช่น CSS ที่มีตัวเลือกการทำซ้ำจำนวนมาก เลย์เอาต์ที่ไม่เข้าใจหลักการของกริดที่แตกต่างกัน อาการปวดหัวอย่างรุนแรงจากการจัดกึ่งกลางประเภทต่างๆ เป็นต้น

Yakshcho Range, Milion Rock เปิดโต๊ะและ Potim ย้ายไปที่ divi จากนั้นโดยไม่ต้องใช้ท่าทางของ flexbox เรากำลังเตรียม CSS-FreimvoK, Vidchuva, Scho Snow the Layout บนโซฟา ในไม่ช้าก็เข้าสู่ "Moveton" .

ยังไม่เป็นเช่นนั้น แต่เท่าที่ฉันระวัง (หรือแม่นยำกว่านั้น ฉันไม่ได้ระวัง) สำหรับการพัฒนาเทคนิคต่าง ๆ และแนวปฏิบัติที่ดีที่สุดในกลุ่มนี้ เหนือสิ่งอื่นใด ตัวเลือกนี้อาจมีที่มาแทนที่

แน่นอนว่าในบันทึกเล็กๆ นี้ ฉันไม่สามารถดูทุกสิ่งที่ต้องมีบนหน้ากองไฟและเครื่องมือสำหรับการทำงานที่สะดวกสบายได้ แต่ยังรวมถึงหลักการพื้นฐานที่ช่วยให้คุณมีส่วนร่วมและยังคงแสดงและแสดงความคิดเห็นเกี่ยวกับก้น . เค้าโครงมีการปรับเปลี่ยนมาทำกัน รูปแบบที่ปรับเปลี่ยนได้, Oskolki เป็นหัวข้อยอดนิยมท่ามกลางความเชื่อมโยงกับการพัฒนาแบบฟองสบู่

การเข้าชมบนมือถือ - เพื่อให้เข้าใจถึงวิธีการทำงานของกริดต่างๆ และความสามารถในการปรับตัวที่ห้อยลงมาจากด้านข้างบนองค์ประกอบบล็อก เพื่อให้เลย์เอาต์ของหน้าและทำหน้าที่เป็นคอนเทนเนอร์สำหรับองค์ประกอบอื่นๆ พร้อมกัน (ข้อความ ไอคอน รูปภาพ ฯลฯ) สิ่งที่สามารถรองรับได้สำหรับ umovchannyam) หรือการวางตำแหน่ง izstosuvannyam)เค้าโครงแบบดั้งเดิมบนนักร้อง เห็นได้ชัดว่าองค์ประกอบบล็อกใด ๆ display: block ครอบครองความกว้างที่มีอยู่ทั้งหมดของหน้าจอ เพียงเพราะมันไม่ได้หมายถึงความกว้างของมันอย่างชัดเจน (px หรือ %)หากกำหนดความกว้างให้คุณองค์ประกอบบล็อกถัดไปจะตามคุณมา

แถวใหม่

ขึ้นอยู่กับเราที่จะ "บอก" เบราว์เซอร์ว่าเราต้องการสร้างนิพจน์ที่ปรับเปลี่ยนได้ ไม่ว่าเบราว์เซอร์ใดจะเปิดเพจในโหมดนี้ เพื่อหลีกเลี่ยงความเข้าใจผิดระหว่างแท็กส่วนหัวของเอกสาร:

ชื่อ Meta = "viewport" content = "ความกว้าง = อุปกรณ์ความกว้างขนาดเริ่มต้น = 1"

กล่าวอีกนัยหนึ่ง ความกว้างจะถูกเพิ่มเป็นอัตราส่วน 1:1

และหากเลย์เอาต์ของคุณไม่ได้รับการออกแบบให้ปรับเปลี่ยนได้ มีแนวโน้มว่าจะมีปัญหากับการเรนเดอร์ข้อมูลมือถือ (ในทุกกรณี เนื้อหาทั้งหมดจะถูกบีบลงใน "หีบเพลง" ดังนั้นจึงสมเหตุสมผลที่จะดูว่าจะเกิดอะไรขึ้น: ).

ในเรื่องนี้เราสามารถพูดคุยเกี่ยวกับกำหนดเวลาที่กำลังจะมาถึงซึ่งอยู่ในระบบกริดหรือกรอบงานแบบปรับเปลี่ยนได้ ระบบกริดใดๆ ก็มีจุดพัก จุดเปลี่ยนดูที่ Bootstrap หากคุณเปลี่ยนความกว้างของหน้าจอ (มือถือ มุมมองแท็บเล็ต ฯลฯ) องค์ประกอบจะถูกเปลี่ยนกลับ ซึ่งหมายถึงคลาสคอลัมน์ปัจจุบัน (เช่น คลาสเดสก์ท็อปสำหรับคอลัมน์ ในเฟรมเวิร์ก Bootstrap ยอดนิยม ดังนั้นคอลัมน์ -md-(x), md – เดอสก์ท็อป ) จัดระดับลิ้นชักเพื่อตั้งค่าความกว้างเป็น % เท่ากับ (100/12) x โดยที่ x คือค่าสัมประสิทธิ์ความกว้าง ตั้งแต่ 1 ถึง 12คลาสคอลัมน์อธิบายพฤติกรรมของการพันรอบองค์ประกอบ: คลาส e (ในเวลาเดียวกันก็สามารถคลาสได้

สิ่งปลูกสร้างต่างๆ

) - ตั้งค่าการตัดคำแล้ว พรรณี - ความกว้าง 100% (โดยทั่วไปใช้สำหรับส่งเนื้อหาไปที่ อุปกรณ์เคลื่อนที่เค้าโครง ในลักษณะที่หยาบคาย การงอสามารถช่วยเราให้พ้นจากอาการปวดหัวได้ เช่น การจัดตำแหน่งตรงกลาง แนวนอน และแนวตั้งในคอนเทนเนอร์และในเวลาเดียวกัน จากคำถามของสื่อ เมื่อคำนึงถึงกลไกที่อธิบายไว้ข้างต้น เราก็สามารถชัดเจนยิ่งขึ้นได้

เทมเพลตที่ตอบสนอง

ด้วยการจัดแนวใด ๆ ทั้งแนวตั้งและแนวนอน

เราสามารถเล่นได้ตามที่คุณต้องการ
ที่นี่ฉันต้องการความกว้างตามที่ระบุใน % แยกที่ vipad iz พร้อมโซนของเนื้อหา il sidbar (หมวก tuval สำหรับ dummers ใช้ความกว้างทั้งหมด 100 %) พร้อมการปรับขนาด (abdcritte, เส้นขีดบน ecrani ขนาดเล็ก ) จะเกิดความล่าช้าอีกครั้งโดยอัตโนมัติ
ปรับตัวได้ง่าย

ส่วนหัว (โลโก้ ฯลฯ)

เนื้อหา

แถบด้านข้าง

ส่วนท้าย (ลิขสิทธิ์ ฯลฯ )

ในนักร้องของเรา เรามาเขียนข้อความกันเถอะ เราจะฝึกแก้ไขข้อความ (แนวนอน/แนวตั้ง)

ตอนนี้เรามาดูกันว่า flexbox ทำหน้าที่อะไรและทำงานอย่างไร


ก่อนอื่น เราต้องตั้งค่า display:flex ไปยังคอนเทนเนอร์ที่เราต้องจัดกึ่งกลาง เป็นต้น

เลย์เอาต์มีส่วนหัว ส่วนท้าย และคอนเทนเนอร์ ตรงกลางมีเนื้อหาและแถบด้านข้าง

วิธีที่ง่ายที่สุดในการใช้ Flexbox อย่างมีประสิทธิภาพที่นี่คือการจัดวางข้อความในส่วนหัวและส่วนท้ายด้วย class.vertical-center เพิ่มเติม:

.vertical-center ( align-items: center; // จัดชิดตรงกลาง, จัดแนวเนื้อหาในแนวตั้ง: center; // จัดชิดตรงกลาง, แนวนอน)


เป็นผลให้ข้อความถูกต้องในสองทิศทางในส่วนหัวและในห้องใต้ดิน

ส่วนตรงกลางหายไป ที่นี่ หากเราไม่ได้ตั้งค่า display:flex เราก็จะสูญเสีย display:block และเป็นผลมาจากการบล็อกเนื้อหาและแถบด้านข้าง แกนจึงกลายเป็นดังนี้:


โตโต้

หมุนหนึ่งข้างใต้หนึ่ง<480px):


ไม่สำคัญว่าจะกำหนดความกว้างไว้ แต่จำเป็นต้องแก้ไข

จากการทดสอบ เราทำในพื้นที่เนื้อหา สร้างลูกบอลจำนวนมากโดยเติมสีที่แกะสลักไว้ เพื่อให้จัดเรียงในแนวนอนและแนวตั้งในพื้นที่เนื้อหา ซึ่งมีการเพิ่ม html:



// ... $mobileBreak: 479px;

@mixin wh($w, $h) ( width: $w; height: $h; ) // ... .content ( // ... padding-top: 0; .content-inner ( ความสูง: 100% จัดชิดขอบเนื้อหา: ช่องว่างระหว่าง; จัดเรียงรายการ: กึ่งกลาง; .bounce ( -webkit-border-radius: 50%; -moz-border-radius: 50%; : #D9534F; ) .green ( พื้นหลัง: #6AB181; ) .blue ( พื้นหลัง: #2D8CD3; ) .wh50 ( @include wh(50px, 50px); ) .wh60 ( @include wh(60px, 60px); ) . wh35 ( @include wh(35px, 35px); ) ) @media (ความกว้างสูงสุด: $mobileBreak) ( // ... ) ) // ...

ย้ำมีป้าย // ...รหัสเดิมหาย



ผลลัพธ์:

แท้ที่จริงแล้วกระเป๋าก็สมบูรณ์แบบ


หากคุณเพิ่มกระเป๋าใหม่ การตรวจสอบก็จะไม่มีปัญหาใดๆ เช่นกัน


Power align-items: กึ่งกลาง;

ระบุการจัดตำแหน่งตามแนวตั้ง และปรับเนื้อหา: ช่องว่างระหว่าง;


เรียงตามแนวนอนไปเรื่อยๆ

จัดรายการ: ดิ้นเริ่มต้น;

แบ่งแกนดังนี้:

โดยการเปรียบเทียบ หลังจากความเมื่อยล้า align-items: flex-end;



กล่าวโดยย่อ การจัดวางด้วย Flexbox ช่วยให้เราสามารถแก้ปัญหาง่ายๆ สำหรับงานที่ซับซ้อนได้

ตัวอย่างเช่น หากคุณต้องการจัดองค์ประกอบในแนวตั้ง หรือกดส่วนท้ายไปที่ด้านล่างของหน้าจอ หรือเพียงแค่แทรกบล็อกจำนวนมากในแถวเดียว เพื่อให้กลิ่นเหม็นครอบครองพื้นที่ทั้งหมด

รายการที่คล้ายกันสามารถแสดงรายการได้โดยไม่ต้องใช้ดิ้น

หากคุณเรียกการตัดสินใจที่คล้ายกับ "อาสาสมัคร" มากกว่า - ใช้ vikorystuvat css ไม่ใช่ด้วยเหตุผล

นอกจากนี้ จาก flexbox งานจะถูกสร้างขึ้นในลักษณะเดียวกับที่โมเดล flex ตั้งใจไว้

โมดูลเค้าโครงกล่องแบบยืดหยุ่น CSS (โมดูล CSS สำหรับเค้าโครงที่มีบล็อกแบบกล่อง) ในรูปแบบเฟล็กบ็อกซ์แบบสั้นถูกสร้างขึ้นเพื่อใช้ประโยชน์จากการสร้างโครงสร้าง HTML ต่างๆ รวมถึงโครงสร้างที่ปรับให้เข้ากับความกว้างและความสูงที่แตกต่างกัน และสร้างเค้าโครงที่สมเหตุสมผลและเรียบง่าย

1
2

และตามกฎแล้ววิธีการเชิงตรรกะนั้นใช้ได้ในสถานที่ที่ไม่มั่นคงซึ่งผลลัพธ์ไม่ได้รับการยืนยัน - ตรรกะคือทุกสิ่ง!

Flexbox ช่วยให้คุณควบคุมพารามิเตอร์ต่างๆ ขององค์ประกอบที่อยู่ตรงกลางคอนเทนเนอร์ได้อย่างสวยงาม เช่น ความตรง ลำดับ ความกว้าง ความสูง การจัดแนวแนวนอนและแนวขวาง การกระจายพื้นที่ว่าง การยืดและการบีบอัดองค์ประกอบ

คุณสมบัติที่สำคัญอีกประการหนึ่งของ Flexbox คือการมีแถวอยู่ในทิศทางตามขวาง

เพื่อให้เข้าใจว่าเราหมายถึงอะไร ให้เราเข้าใจว่าทั้งศีรษะอยู่ในแนวนอน มีองค์ประกอบมากมาย และกลิ่นไม่ "หลุด" จากภาชนะ ดังนั้นไปยังแถวถัดไป

โตโต้

คอนเทนเนอร์มีลักษณะดังนี้: คอนเทนเนอร์ที่มี 2 แถวตรงกลาง แต่ละแถวจะมีองค์ประกอบจำนวนหนึ่ง

เปิดเผย?

ตอนนี้จำไว้ว่าเราสามารถหมุนในแนวตั้งได้โดยไม่ต้องใช้องค์ประกอบ แต่ยังอยู่ในความรักด้วย!

วิธีการทำงานนี้มองเห็นได้ชัดเจนตั้งแต่ก้นจนถึงพละกำลัง

  • ยึดติดกับองค์ประกอบลูก/องค์ประกอบดิ้นและแกนมีลักษณะดังนี้ตามแผนผัง:
  • พลัง CSS ที่สามารถนำไปใช้กับโมเดลต่อเลย์เอาต์: ลอย, ชัดเจน, จัดแนวตั้ง, คอลัมน์ใช้ไม่ได้กับการออกแบบแบบยืดหยุ่นในที่นี้ มีการใช้รูปแบบรูปแบบอื่น และพาวเวอร์ CSS นี้จะถูกละเว้น

CSS พาวเวอร์เฟล็กซ์บ็อกซ์

Flexbox มีกฎ CSS ที่แตกต่างกันสำหรับเลย์เอาต์ของการออกแบบเฟล็กซ์ทั้งหมด

บางส่วนจำเป็นต้องซ้อนกันในคอนเทนเนอร์หลัก และบางส่วนต้องซ้อนกับองค์ประกอบของคอนเทนเนอร์นี้

  • สำหรับภาชนะแสดง:
  • การสาธิตพลังหลักของคอนเทนเนอร์แบบยืดหยุ่นเปิดใช้งานพลังดิ้นขององค์ประกอบ
  • หากคุณเปลี่ยนกำลัง CSS พื้นฐานของทิศทางแบบยืดหยุ่น คุณสามารถกำหนดทิศทางของแกนส่วนหัวของคอนเทนเนอร์แบบยืดหยุ่นได้ภายใต้พลังนี้องค์ประกอบเองและเนื้อหาขององค์ประกอบนี้จะถูกใช้ไป: พื้นผิวของระดับแรกถูกเผา - พวกมันกลายเป็นองค์ประกอบของคอนเทนเนอร์ดิ้น
  • แถว- องค์ประกอบจะขยายไปตามความกว้างทั้งหมดและขยายความกว้างเต็มไปยังบล็อกพิเศษ
แถวจะถูกโอนไปที่ซังและถึงจุดสิ้นสุดของบล็อก

อินไลน์-ดิ้น

  • - องค์ประกอบจะพันรอบองค์ประกอบอื่นๆในกรณีนี้ ส่วนภายในจะถูกจัดรูปแบบเป็นองค์ประกอบบล็อก และองค์ประกอบนั้นจะถูกจัดรูปแบบเป็นการบูรณาการ
  • พลัง CSS ของ flex-wrap แสดงให้เห็นถึงความเป็นระเบียบเรียบร้อยที่อยู่ตรงกลางของคอนเทนเนอร์แบบยืดหยุ่น flex และ inline-flex ได้รับการออกแบบมาเพื่อโต้ตอบกับองค์ประกอบพิเศษที่แตกต่างกัน เช่น display:block และ display:inline-block
  • : บล็อกจะจัดเรียงเป็นหนึ่งบรรทัดจากซ้ายไปขวา (ใน rtl จากขวาไปซ้าย)ทิศทางแบบยืดหยุ่น:
เปลี่ยนทิศทางของแกนส่วนหัวของคอนเทนเนอร์

Flex-direction และ flex-wrap เป็นที่มาของความไม่พอใจต่อเจ้าหน้าที่

มักมีการพูดคุยกันในคราวเดียว ดังนั้นเพื่อที่จะเขียนโค้ดให้น้อยลง พลังของ flex-flow จึงถูกสร้างขึ้น

Flex-flow ใช้ความหมายของกำลังทั้งสองนี้ โดยคั่นด้วยช่องว่าง

หรือคุณสามารถระบุความหมายหนึ่งได้ไม่ว่าจะเป็นอะไรก็ตาม

  • /* ทิศทางแบบยืดหยุ่นเท่านั้น */ flex-flow: row;ดิ้นไหล: แถวย้อนกลับ;
  • : จากล่างขึ้นเนินดิ้นไหล: คอลัมน์;
  • พลังซีเอสดิ้นไหล: คอลัมน์ย้อนกลับ;
  • แกน./* flex-wrap เท่านั้น */ flex-flow: nowrap;
  • พื้นที่รอบดิ้นไหล: ห่อ;
  • ดิ้นไหล: ห่อกลับ;
/* สำคัญมาก: flex-direction และ flex-wrap */ flex-flow: row nowrap;

ดิ้นไหล: ตัดคอลัมน์;

ดิ้นไหล: คอลัมน์ย้อนกลับห่อกลับ;

ปรับเนื้อหา:

  • องค์ประกอบแนวตั้งมาจากแกนหลัก: ถ้าทิศทาง=แถว แล้วมาจากแนวนอน และถ้าทิศทาง=คอลัมน์ ก็มาจากแนวตั้งดิ้นเริ่มต้น (ค่าเริ่มต้น)
  • : สัตว์ร้ายลง- องค์ประกอบจะมาจากซัง (ในตอนท้ายคุณอาจสูญเสียพื้นที่บางส่วน)
  • : จากล่างขึ้นเนิน- องค์ประกอบต่างๆ จะถูกประมวลผลจนจบ (ส่วนที่เหลืออยู่บนซัง)
  • พลังซีเอส- ตรงกลาง (สถานที่ละทิ้งความชั่วและสิทธิ)
  • แกน.- องค์ประกอบด้านนอกถูกกดไปที่ขอบ (ช่องว่างระหว่างองค์ประกอบมีการกระจายเท่า ๆ กัน)
  • พื้นที่รอบ- ช่องว่างมีการกระจายเท่า ๆ กันระหว่างแถว (ไม่ได้กดองค์ประกอบขอบไปที่ขอบ)
  • ดิ้นไหล: ห่อกลับ;ช่องว่างระหว่างขอบของคอนเทนเนอร์และองค์ประกอบภายนอกจะมีขนาดเล็กเป็นสองเท่าของช่องว่างระหว่างองค์ประกอบที่อยู่ตรงกลางของแถว
- แม้ว่าจะเป็นพื้นที่ว่าง แต่ให้ยืนที่องค์ประกอบสุดขั้วจนถึงขอบของคอนเทนเนอร์ในลักษณะเดียวกับระหว่างองค์ประกอบต่างๆ

จัดรายการ:

  • องค์ประกอบแนวตั้งมาจากแกนหลัก: ถ้าทิศทาง=แถว แล้วมาจากแนวนอน และถ้าทิศทาง=คอลัมน์ ก็มาจากแนวตั้งองค์ประกอบแนวตั้งของแกนตามขวางจะอยู่ตรงกลางของแถว (แถวที่มองไม่เห็น)
  • : สัตว์ร้ายลงโตโต้
  • : จากล่างขึ้นเนินแถวต่างๆ จะถูกจัดเรียงผ่านเนื้อหาการจัดตำแหน่ง และองค์ประกอบที่อยู่ตรงกลางของแถวเหล่านี้ผ่านรายการจัดเรียงและทั้งหมดตามแนวแกนขวาง
  • พลังซีเอสไม่มีส่วนย่อยดังกล่าวตามแนวแกนส่วนหัว ไม่มีแนวคิดเรื่องแถวและองค์ประกอบที่สามารถตรวจสอบได้ผ่านเนื้อหาที่จัดชิดขอบ
  • พื้นฐาน- องค์ประกอบถูกยืดออกไปทั่วทั้งแถว

- องค์ประกอบบีบตัวจนเป็นแถวซัง

- องค์ประกอบถูกกดไปที่ท้ายแถว

- องค์ประกอบต่างๆ ถูกจัดวางให้อยู่ตรงกลางแถว

- องค์ประกอบจัดชิดกับบรรทัดฐานของข้อความ

  • สำหรับองค์ประกอบคอนเทนเนอร์
  • ดิ้น-เติบโต:
  • ตั้งค่าสัมประสิทธิ์การเพิ่มองค์ประกอบสำหรับการมีที่ว่างในคอนเทนเนอร์
  • สำหรับผู้ใช้โปรโมชัน flex-grow: 0 จากนั้น
  • แต่ละองค์ประกอบไม่จำเป็นต้องเติมมากเกินไปและทิ้งไว้ในที่ปลอดภัยในคอนเทนเนอร์

โดยทั่วไปแล้วการเติบโตแบบยืดหยุ่น: 0

หากองค์ประกอบทั้งหมดได้รับ flex-grow:1 องค์ประกอบทั้งหมดจะยืดออกและเติมเต็มพื้นที่ทั้งหมดในคอนเทนเนอร์

หากคุณระบุ flex-grow:1 สำหรับองค์ประกอบใดองค์ประกอบหนึ่ง คุณจะกรอกข้อมูลทุกอย่างในคอนเทนเนอร์และการตรวจสอบความถูกต้องผ่านเนื้อหาที่ปรับให้เหมาะสมจะไม่ทำงานอีกต่อไป ไม่มีที่สำหรับตรวจสอบสิ่งใดเลย

ตั้งค่าสัมประสิทธิ์การเปลี่ยนแปลงขององค์ประกอบ

ความแข็งแกร่งเกิดจากการขยายแบบยืดหยุ่นและหมายความว่าองค์ประกอบจะต้องหดตัวเพื่อไม่ให้สูญเสียพื้นที่ว่างในคอนเทนเนอร์

โตโต้

เจ้าหน้าที่เริ่มให้ความสนใจหากผลรวมของมิติขององค์ประกอบทั้งหมดมากกว่าขนาดของคอนเทนเนอร์

โดยทั่วไปแล้วจะโค้งงอ:1

สมมติว่าคอนเทนเนอร์มีความกว้าง 600px และมีสององค์ประกอบ ซึ่งแต่ละองค์ประกอบมีความกว้าง 300px - flex-basis:300px;

- โตโต้

สององค์ประกอบจะเติมคอนเทนเนอร์

องค์ประกอบแรกสามารถมี flex-shrink: 2;

และดิ้นหดตัวอื่น ๆ : 1;

- ตอนนี้เราเปลี่ยนความกว้างของคอนเทนเนอร์เป็น 300px เท่านี้ก็เรียบร้อย

องค์ประกอบเนื้อหาจะย่อลง 300px เพื่อให้อยู่ตรงกลางคอนเทนเนอร์

บีบที่ความสัมพันธ์ 2:1 แล้ว

บล็อกแรกจะย่อลงเหลือ 200px และอีกบล็อกเหลือ 100px และมิติใหม่ขององค์ประกอบจะกลายเป็น 100px และ 200px

หมายเหตุ: คุณสามารถเพิ่มเศษส่วนให้กับค่าได้ เช่น 0.5 - flex-shrink:0.5

ดิ้นพื้นฐาน:

  • ยืด- องค์ประกอบถูกยืดออกทั่วทั้งแถว
  • : สัตว์ร้ายลง- องค์ประกอบถูกกดขึ้นไปถึงหูของแถว
  • : จากล่างขึ้นเนิน- องค์ประกอบถูกกดไปที่ท้ายแถว
  • พลังซีเอส- องค์ประกอบถูกจัดวางให้อยู่ตรงกลางแถว
  • พื้นฐาน- องค์ประกอบอยู่ในแนวเดียวกับบรรทัดฐานของข้อความ

คำสั่ง:

ช่วยให้คุณเปลี่ยนลำดับ (ตำแหน่ง รูปแบบ) ขององค์ประกอบในแถวหลังได้

โดยทั่วไป: ลำดับ: 0

องค์ประกอบจะถูกวางไว้ตามลำดับ: 0 และวางไว้ตามลำดับที่ปรากฏในโค้ด HTML และอยู่ในแถวโดยตรง

หากคุณเปลี่ยนค่าลำดับกำลัง องค์ประกอบจะเปลี่ยนเป็นค่าลำดับ: -1 0 1 2 3 ...

ตัวอย่างเช่น หากคุณระบุลำดับ: 1 สำหรับหนึ่งองค์ประกอบ ศูนย์ทั้งหมดจะปรากฏก่อน จากนั้นจึงปรากฏองค์ประกอบที่มี 1

ตัวอย่างเช่น คุณสามารถย้ายองค์ประกอบแรกไปยังจุดสิ้นสุดได้โดยไม่ต้องเปลี่ยนโฟลว์ขององค์ประกอบอื่นๆ หรือโค้ด HTML โดยตรง

บันทึกย่อ

    ความแตกต่างระหว่าง flex-basis และ width คืออะไร?

    ความแตกต่างที่สำคัญที่สุดระหว่างพื้นฐานแบบยืดหยุ่นและความกว้าง/ความสูง:

    Flex-basis ใช้ได้กับแกนส่วนหัวเท่านั้น

  • ซึ่งหมายความว่าเมื่อใช้ flex-direction:row flex-basis จะควบคุมความกว้าง และเมื่อใช้ flex-direction:column จะควบคุมความสูง

-

flex-basis ถูกจำกัดไว้ที่องค์ประกอบ flex

ซึ่งหมายความว่าหากคุณเปิดใช้งาน Flex บนคอนเทนเนอร์ กำลังของคอนเทนเนอร์จะไม่มีผลเช่นเดียวกัน

องค์ประกอบสัมบูรณ์ของคอนเทนเนอร์ไม่ได้มีส่วนร่วมจากโครงสร้างดิ้น... นอกจากนี้ flex-basis จะไม่ผสานกับองค์ประกอบของคอนเทนเนอร์ดิ้น เนื่องจากตำแหน่งที่แน่นอน:absolute

คุณจะต้องป้อนความกว้าง/ความสูง

เมื่อเลือก flex สามารถรวมและเขียนค่า 3 ค่า (flex-grow/flex-shrink/flex-basis) ได้โดยย่อ และหากต้องการขยายหรือย่อความกว้างคุณจะต้องเขียนให้สั้น

ตัวอย่างเช่น: ดิ้น:0 0 50% == ความกว้าง:50%;

ดิ้น-หด:0;

- บางครั้งมันก็ไม่ใช่เรื่องง่าย

ดิ้น-หด:0;

#1.2 ด้านล่าง (ตัวแบ่ง) ระหว่างองค์ประกอบของบล็อกดิ้น

หากต้องการย้ายองค์ประกอบของคอนเทนเนอร์ไปตามขอบ และเลือกองค์ประกอบให้เพียงพอหลังจากการขยายใดๆ คุณต้องเลือก power margin-left:auto หรือ margin-right:auto

#2 เมนูแบบปรับได้บนดิ้น

คุณสามารถดูเมนูได้ที่ด้านบนสุดของหน้า

ตรงกลางให้จัดตรงกลาง

และบนองค์ประกอบหนังขนาดเล็กก็มีแถวใหม่

หน้าแรก เกี่ยวกับเรา สินค้า ติดต่อ

1
2
3
4
5
6

#3 ปรับได้ 3 คอลัมน์

ตัวอย่างนี้แสดงวิธีสร้าง 3 คอลัมน์ด้วยตนเองอย่างรวดเร็วและด้วยตนเอง ซึ่งเมื่อเสียงฟังแล้วจะเปลี่ยนเป็น 2 และจากนั้นเป็น 1

โปรดทราบว่าคุณสามารถสร้างรายได้โดยไม่ต้องใช้กฎของสื่อ ทุกอย่างเป็นแบบยืดหยุ่น

1
2
3

#3 ปรับได้ 3 คอลัมน์

ไปที่ jsfiddle.net และเปลี่ยนความกว้างของส่วน "ผลลัพธ์"

#4 บล็อกแบบปรับได้บนเฟล็กซ์

สมมติว่าเราต้องแสดง 3 บล็อก 1 บล็อกใหญ่และ 2 บล็อกเล็ก

ในกรณีนี้จำเป็นต้องบุบล็อกสำหรับหน้าจอขนาดเล็ก

โรบิโม:

#5 แกลเลอรีเกี่ยวกับดิ้นและการเปลี่ยนแปลง

ตัวอย่างนี้แสดงให้เห็นว่าคุณสามารถสร้างหีบเพลงที่สวยงามพร้อมรูปภาพบน Flex ได้อย่างไร

เปลี่ยนความเคารพต่อการเปลี่ยนผ่านกำลังสำหรับดิ้น

#6 Flex at flex (แค่ก้น) Zavdannya สร้างบล็อกขนาดยักษ์:

/* Container */ .flex ( จอแสดงผล:-webkit-box; จอแสดงผล:-ms-flexbox; จอแสดงผล:flex; จอแสดงผล:-webkit-inline-box; จอแสดงผล:-ms-inline-flexbox; จอแสดงผล:inline-flex; -webkit-box-orient:vertical; -ms-flex-direction:column; -ms-flex-wrap:wrap; -flow:column wrap; -ms-flex-pack:justify; ; align-content:space-around; /* Elements */ .flex-item ( -webkit-box-flex:1; -ms-flex-positive:1; flex-grow:1; -ms-flex- ลบ: 2; flex-shrink:2; - ms-flex-preferred-size:100px; flex-basis:100px; -ms-flex:1 2 100px; กลุ่ม:3; ลำดับ:2;ลำดับ:2;

กล่าวโดยสรุป เนื่องจากหน่วยงานที่มีคำนำหน้าจะไปที่หน่วยงานเดิม
รายการนี้ไม่มีคำนำหน้าใดๆ ที่ไม่จำเป็นในปัจจุบัน แต่จะมีคำนำหน้าเพิ่มเติมในอนาคต

- วิธีใหม่ในการวางบล็อกบนเพจ ซาฟารี ไฟร์ฟอกซ์ โอเปร่า เช่น. หุ่นยนต์ ไอโอเอส
20- (แก่) 3.1+ (เก่า) 2-21 (เก่า) 10 (ทวีตเนอร์) 2.1+ (เก่า) 3.2+ (เก่า)
21+ (ใหม่) 6.1+ (ใหม่) 22+ (ใหม่) 12.1+ (ใหม่) 11+ (ใหม่) 4.4+ (ใหม่) 7.1+ (ใหม่)
  • (ใหม่) – ไวยากรณ์ใหม่: จอแสดงผล: ดิ้น;
  • -
  • (ทวีตเนอร์) – ไวยากรณ์เก่าอย่างไม่เป็นทางการ 2011 Roku: จอแสดงผล: flexbox;

-

(เก่า) – ไวยากรณ์ Roku เก่าปี 2009: จอแสดงผล: กล่อง;

วีดีโอ

    อย่าลืมเกี่ยวกับวิดีโอ มันก็ชัดเจนมากเช่นกัน

    สองสามอันยอดนิยม: