Flexbox - คู่มือฉบับย่อ
CAscading Sไทเล Sheets (CSS) เป็นภาษาการออกแบบที่เรียบง่ายซึ่งมีไว้เพื่อลดความซับซ้อนของกระบวนการทำให้หน้าเว็บแสดงได้ CSS จัดการกับรูปลักษณ์ส่วนหนึ่งของหน้าเว็บ
การใช้ CSS คุณสามารถควบคุมสีของข้อความรูปแบบของฟอนต์ระยะห่างระหว่างย่อหน้าการกำหนดขนาดและการจัดวางคอลัมน์ภาพพื้นหลังหรือสีที่ใช้การออกแบบเค้าโครงรูปแบบต่างๆในการแสดงผลสำหรับอุปกรณ์และขนาดหน้าจอต่างๆ รวมถึงเอฟเฟกต์อื่น ๆ อีกมากมาย
ในการกำหนดตำแหน่งและขนาดของกล่องใน CSS คุณสามารถใช้หนึ่งในโหมดเค้าโครงที่มีให้ -
The block layout - โหมดนี้ใช้ในการจัดวางเอกสาร
The inline layout - โหมดนี้ใช้ในการจัดวางข้อความ
The table layout - โหมดนี้ใช้ในการจัดวางตาราง
The table layout - โหมดนี้ใช้ในการวางตำแหน่งองค์ประกอบ
โหมดทั้งหมดนี้ใช้เพื่อจัดแนวองค์ประกอบเฉพาะเช่นเอกสารข้อความตาราง ฯลฯ อย่างไรก็ตามโหมดเหล่านี้ไม่มีวิธีแก้ปัญหาที่สมบูรณ์ในการจัดวางเว็บไซต์ที่ซับซ้อน ในขั้นต้นจะใช้การรวมกันขององค์ประกอบลอยองค์ประกอบตำแหน่งและเค้าโครงตาราง (บ่อยครั้ง) แต่การลอยตัวอนุญาตให้วางตำแหน่งกล่องในแนวนอนเท่านั้น
Flexbox คืออะไร?
นอกเหนือจากโหมดที่กล่าวมาแล้ว CSS3 ยังมีโหมดเค้าโครงแบบยืดหยุ่นอีกโหมดหนึ่งซึ่งเรียกกันทั่วไปว่า Flexbox.
เมื่อใช้โหมดนี้คุณสามารถสร้างเค้าโครงสำหรับแอปพลิเคชันและเว็บเพจที่ซับซ้อนได้อย่างง่ายดาย ไม่เหมือนกับการลอยตัวเลย์เอาต์ Flexbox ให้การควบคุมทิศทางการจัดตำแหน่งลำดับขนาดของกล่องได้อย่างสมบูรณ์
คุณสมบัติของ Flexbox
ต่อไปนี้เป็นคุณสมบัติเด่นของเลย์เอาต์ Flexbox -
Direction - คุณสามารถจัดเรียงรายการบนหน้าเว็บในทิศทางใดก็ได้เช่นซ้ายไปขวาขวาไปซ้ายบนลงล่างและจากล่างขึ้นบน
Order - เมื่อใช้ Flexbox คุณสามารถจัดลำดับเนื้อหาของหน้าเว็บใหม่ได้
Wrap - ในกรณีที่มีเนื้อที่ไม่สอดคล้องกันสำหรับเนื้อหาของหน้าเว็บ (ในบรรทัดเดียว) คุณสามารถตัดเป็นหลายบรรทัด (ทั้งแนวนอน) และแนวตั้ง
Alignment - การใช้ Flexbox คุณสามารถจัดแนวเนื้อหาของหน้าเว็บให้สอดคล้องกับคอนเทนเนอร์ได้
Resize - การใช้ Flexbox คุณสามารถเพิ่มหรือลดขนาดของรายการในเพจเพื่อให้พอดีกับพื้นที่ว่าง
รองรับเบราว์เซอร์
ต่อไปนี้เป็นเบราว์เซอร์ที่รองรับ Flexbox
- Chrome 29+
- Firefox 28+
- Internet Explorer 11+
- Opera 17+
- Safari 6.1+
- Android 4.4 ขึ้นไป
- iOS 7.1 ขึ้นไป
ในการใช้ Flexbox ในแอปพลิเคชันของคุณคุณต้องสร้าง / กำหนดคอนเทนเนอร์แบบยืดหยุ่นโดยใช้ไฟล์ display ทรัพย์สิน.
Usage -
display: flex | inline-flex
คุณสมบัตินี้ยอมรับสองค่า
flex - สร้างคอนเทนเนอร์ดิ้นระดับบล็อก
inline-flex - สร้างกล่องคอนเทนเนอร์เฟล็กซ์แบบอินไลน์
ตอนนี้เราจะดูวิธีการใช้ display คุณสมบัติพร้อมตัวอย่าง
ดิ้น
เมื่อส่งผ่านค่านี้ไปยังคุณสมบัติการแสดงผลคอนเทนเนอร์ดิ้นระดับบล็อกจะถูกสร้างขึ้น ใช้พื้นที่ความกว้างเต็มของคอนเทนเนอร์หลัก (เบราว์เซอร์)
ตัวอย่างต่อไปนี้สาธิตวิธีการสร้างคอนเทนเนอร์ดิ้นระดับบล็อก ที่นี่เรากำลังสร้างกล่องหกกล่องที่มีสีที่แตกต่างกันและเราได้ใช้ภาชนะที่ยืดหยุ่นเพื่อเก็บไว้
<!doctype html>
<html lang = "en">
<style>
.box1{background:green;}
.box2{background:blue;}
.box3{background:red;}
.box4{background:magenta;}
.box5{background:yellow;}
.box6{background:pink;}
.container{
display:flex;
}
.box{
font-size:35px;
padding:15px;
}
</style>
<body>
<div class = "container">
<div class = "box box1">One</div>
<div class = "box box2">two</div>
<div class = "box box3">three</div>
<div class = "box box4">four</div>
<div class = "box box5">five</div>
<div class = "box box6">six</div>
</div>
</body>
</html>
มันจะให้ผลลัพธ์ดังต่อไปนี้ -
เนื่องจากเราได้ให้ค่า flex ไปที่ display คุณสมบัติคอนเทนเนอร์ใช้ความกว้างของคอนเทนเนอร์ (เบราว์เซอร์)
คุณสามารถสังเกตสิ่งนี้ได้โดยเพิ่มเส้นขอบให้กับคอนเทนเนอร์ดังที่แสดงด้านล่าง
.container {
display:inline-flex;
border:3px solid black;
}
มันจะให้ผลลัพธ์ดังต่อไปนี้ -
อินไลน์เฟล็ก
เมื่อส่งผ่านค่านี้ไปยังไฟล์ displayจะมีการสร้างคอนเทนเนอร์ดิ้นระดับอินไลน์ เพียงแค่ใช้สถานที่ที่จำเป็นสำหรับเนื้อหา
ตัวอย่างต่อไปนี้สาธิตวิธีการสร้างคอนเทนเนอร์แบบอินไลน์ ที่นี่เรากำลังสร้างกล่องหกกล่องที่มีสีต่างกันและเราได้ใช้คอนเทนเนอร์อินไลน์เฟล็กซ์เพื่อเก็บกล่อง
<!doctype html>
<html lang = "en">
<style>
.box1{background:green;}
.box2{background:blue;}
.box3{background:red;}
.box4{background:magenta;}
.box5{background:yellow;}
.box6{background:pink;}
.container{
display:inline-flex;
border:3px solid black;
}
.box{
font-size:35px;
padding:15px;
}
</style>
<body>
<div class = "container">
<div class = "box box1">One</div>
<div class = "box box2">two</div>
<div class = "box box3">three</div>
<div class = "box box4">four</div>
<div class = "box box5">five</div>
<div class = "box box6">six</div>
</div>
</body>
</html>
มันจะให้ผลลัพธ์ดังต่อไปนี้ -
เนื่องจากเราใช้คอนเทนเนอร์เฟล็กซ์แบบอินไลน์จึงใช้พื้นที่ที่จำเป็นในการห่อองค์ประกอบ
flex-direction คุณสมบัติใช้เพื่อระบุทิศทางที่ต้องวางองค์ประกอบของ flex container (flex-items)
usage -
flex-direction: row | row-reverse | column | column-reverse
คุณสมบัตินี้รับสี่ค่า -
row - จัดองค์ประกอบของภาชนะในแนวนอนจากซ้ายไปขวา
row-reverse - จัดองค์ประกอบของภาชนะในแนวนอนจากขวาไปซ้าย
column - จัดเรียงองค์ประกอบของภาชนะในแนวตั้งจากซ้ายไปขวา
column-reverse - จัดเรียงองค์ประกอบของภาชนะในแนวตั้งจากขวาไปซ้าย
ตอนนี้เราจะนำตัวอย่างบางส่วนเพื่อสาธิตการใช้ไฟล์ direction ทรัพย์สิน.
แถว
เมื่อส่งผ่านค่านี้ไปยังไฟล์ direction คุณสมบัติองค์ประกอบของคอนเทนเนอร์จะเรียงตามแนวนอนจากซ้ายไปขวาดังที่แสดงด้านล่าง
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงผลลัพธ์ของการส่งผ่านค่า rowไปดิ้นทิศทางอสังหาริมทรัพย์ ที่นี่เรากำลังสร้างกล่องหกกล่องที่มีสีต่างกันโดยมีค่าทิศทางการโค้งงอrow.
<!doctype html>
<html lang = "en">
<style>
.box1{background:green;}
.box2{background:blue;}
.box3{background:red;}
.box4{background:magenta;}
.box5{background:yellow;}
.box6{background:pink;}
.box{
font-size:35px;
padding:15px;
}
.container{
display:inline-flex;
border:3px solid black;
flex-direction:row;
}
</style>
<body>
<div class = "container">
<div class = "box box1">One</div>
<div class = "box box2">two</div>
<div class = "box box3">three</div>
<div class = "box box4">four</div>
<div class = "box box5">five</div>
<div class = "box box6">six</div>
</div>
</body>
</html>
มันจะให้ผลลัพธ์ดังต่อไปนี้ -
แถวย้อนกลับ
เมื่อส่งผ่านค่านี้ไปยังไฟล์ direction คุณสมบัติองค์ประกอบของคอนเทนเนอร์จะเรียงตามแนวนอนจากขวาไปซ้ายดังที่แสดงด้านล่าง
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงผลลัพธ์ของการส่งผ่านค่า row-reverseไปดิ้นทิศทางอสังหาริมทรัพย์ ที่นี่เรากำลังสร้างกล่องหกกล่องที่มีสีต่างกันโดยมีค่าทิศทางการโค้งงอrow-reverse.
<!doctype html>
<html lang = "en">
<style>
.box1{background:green;}
.box2{background:blue;}
.box3{background:red;}
.box4{background:magenta;}
.box5{background:yellow;}
.box6{background:pink;}
.box{
font-size:35px;
padding:15px;
}
.container{
display:inline-flex;
border:3px solid black;
flex-direction:row-reverse;
}
</style>
<body>
<div class = "container">
<div class = "box box1">One</div>
<div class = "box box2">two</div>
<div class = "box box3">three</div>
<div class = "box box4">four</div>
<div class = "box box5">five</div>
<div class = "box box6">six</div>
</div>
</body>
</html>
มันจะให้ผลลัพธ์ดังต่อไปนี้ -
คอลัมน์
เมื่อส่งผ่านค่านี้ไปยังไฟล์ direction คุณสมบัติองค์ประกอบของคอนเทนเนอร์จะถูกจัดเรียงในแนวตั้งจากบนลงล่างดังที่แสดงด้านล่าง
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงผลลัพธ์ของการส่งผ่านค่า columnไปดิ้นทิศทางอสังหาริมทรัพย์ ที่นี่เรากำลังสร้างกล่องหกกล่องที่มีสีต่างกันโดยมีค่าทิศทางการโค้งงอcolumn.
<!doctype html>
<html lang = "en">
<style>
.box1{background:green;}
.box2{background:blue;}
.box3{background:red;}
.box4{background:magenta;}
.box5{background:yellow;}
.box6{background:pink;}
.box{
font-size:35px;
padding:15px;
}
.container{
display:inline-flex;
border:3px solid black;
flex-direction:column;
}
</style>
<body>
<div class = "container">
<div class = "box box1">One</div>
<div class = "box box2">two</div>
<div class = "box box3">three</div>
<div class = "box box4">four</div>
<div class = "box box5">five</div>
<div class = "box box6">six</div>
</div>
</body>
</html>
มันจะให้ผลลัพธ์ดังต่อไปนี้ -
คอลัมน์ย้อนกลับ
เมื่อส่งผ่านค่านี้ไปยังไฟล์ direction คุณสมบัติองค์ประกอบของคอนเทนเนอร์จะถูกจัดเรียงในแนวตั้งจากล่างขึ้นบนตามที่แสดงด้านล่าง
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงผลลัพธ์ของการส่งผ่านค่า column-reverseไปดิ้นทิศทางอสังหาริมทรัพย์ ที่นี่เรากำลังสร้างกล่องหกกล่องที่มีสีต่างกันโดยมีค่าทิศทางการโค้งงอcolumn-reverse.
<!doctype html>
<html lang = "en">
<style>
.box1{background:green;}
.box2{background:blue;}
.box3{background:red;}
.box4{background:magenta;}
.box5{background:yellow;}
.box6{background:pink;}
.box{
font-size:35px;
padding:15px;
}
.container{
display:inline-flex;
border:3px solid black;
flex-direction:column-reverse;
}
</style>
<body>
<div class = "container">
<div class = "box box1">One</div>
<div class = "box box2">two</div>
<div class = "box box3">three</div>
<div class = "box box4">four</div>
<div class = "box box5">five</div>
<div class = "box box6">six</div>
</div>
</body>
</html>
มันจะให้ผลลัพธ์ดังต่อไปนี้ -
โดยทั่วไปในกรณีที่มีพื้นที่ไม่เพียงพอสำหรับคอนเทนเนอร์ส่วนที่เหลือของรายการดิ้นจะถูกซ่อนไว้ดังที่แสดงด้านล่าง
flex-wrap คุณสมบัติถูกใช้เพื่อระบุตัวควบคุมว่า flex-container เป็นแบบบรรทัดเดียวหรือหลายบรรทัด
usage -
flex-wrap: nowrap | wrap | wrap-reverse
flex-direction: column | column-reverse
คุณสมบัตินี้รับค่าต่อไปนี้ -
wrap - ในกรณีที่มีพื้นที่ไม่เพียงพอองค์ประกอบของคอนเทนเนอร์ (เฟล็กซิเท็ม) จะห่อหุ้มเป็นเส้นโค้งเพิ่มเติมจากบนลงล่าง
wrap-reverse - ในกรณีที่มีพื้นที่ไม่เพียงพอองค์ประกอบของคอนเทนเนอร์ (flex-items) จะรวมเป็นเส้นโค้งเพิ่มเติมจากล่างขึ้นบน
ตอนนี้เราจะดูวิธีการใช้ wrap คุณสมบัติพร้อมตัวอย่าง
ห่อ
เมื่อส่งผ่านค่า wrap ไปยังสถานที่ให้บริการ flex-wrapองค์ประกอบของคอนเทนเนอร์จะเรียงตามแนวนอนจากซ้ายไปขวาตามที่แสดงด้านล่าง
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงผลลัพธ์ของการส่งผ่านค่า wrapไปดิ้นห่อทรัพย์สิน ที่นี่เรากำลังสร้างกล่องหกกล่องที่มีสีต่างกันโดยมีค่าทิศทางการโค้งงอrow.
<!doctype html>
<html lang = "en">
<style>
.box1{background:green;}
.box2{background:blue;}
.box3{background:red;}
.box4{background:magenta;}
.box5{background:yellow;}
.box6{background:pink;}
.box{
font-size:35px;
padding:15px;
width:100px;
}
.container{
display:flex;
border:3px solid black;
flex-direction:row;
flex-wrap:wrap;
}
</style>
<body>
<div class = "container">
<div class = "box box1">One</div>
<div class = "box box2">two</div>
<div class = "box box3">three</div>
<div class = "box box4">four</div>
<div class = "box box5">five</div>
<div class = "box box6">six</div>
</div>
</body>
</html>
มันจะให้ผลลัพธ์ดังต่อไปนี้ -
ห่อกลับ
เมื่อส่งผ่านค่า wrap-reverse ไปยังสถานที่ให้บริการ flex-wrapองค์ประกอบของคอนเทนเนอร์จะเรียงตามแนวนอนจากซ้ายไปขวาตามที่แสดงด้านล่าง
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงผลลัพธ์ของการส่งผ่านค่า wrap-reverseไปดิ้นห่อทรัพย์สิน ที่นี่เรากำลังสร้างกล่องหกกล่องที่มีสีต่างกันโดยมีค่าทิศทางการโค้งงอrow.
<!doctype html>
<html lang = "en">
<style>
.box1{background:green;}
.box2{background:blue;}
.box3{background:red;}
.box4{background:magenta;}
.box5{background:yellow;}
.box6{background:pink;}
.box{
font-size:35px;
padding:15px;
width:100px;
}
.container{
display:flex;
border:3px solid black;
flex-direction:row;
flex-wrap:wrap-reverse;
}
</style>
<body>
<div class = "container">
<div class = "box box1">One</div>
<div class = "box box2">two</div>
<div class = "box box3">three</div>
<div class = "box box4">four</div>
<div class = "box box5">five</div>
<div class = "box box6">six</div>
</div>
</body>
</html>
มันจะให้ผลลัพธ์ดังต่อไปนี้ -
ห่อ (คอลัมน์)
เมื่อส่งผ่านค่า wrap ไปยังสถานที่ให้บริการ flex-wrap และมูลค่า column ไปยังสถานที่ให้บริการ flex-directionองค์ประกอบของคอนเทนเนอร์จะเรียงตามแนวนอนจากซ้ายไปขวาตามที่แสดงด้านล่าง
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงผลลัพธ์ของการส่งผ่านค่า wrap ไปที่ flex-wrapทรัพย์สิน. ที่นี่เรากำลังสร้างกล่องหกกล่องที่มีสีต่างกันโดยมีค่าทิศทางการโค้งงอcolumn.
<!doctype html>
<html lang = "en">
<style>
.box1{background:green;}
.box2{background:blue;}
.box3{background:red;}
.box4{background:magenta;}
.box5{background:yellow;}
.box6{background:pink;}
.box{
font-size:35px;
padding:15px;
width:100px;
}
.container{
display:flex;
border:3px solid black;
flex-direction:column;
flex-wrap:wrap;
height:100vh;
}
</style>
<body>
<div class = "container">
<div class = "box box1">One</div>
<div class = "box box2">two</div>
<div class = "box box3">three</div>
<div class = "box box4">four</div>
<div class = "box box5">five</div>
<div class = "box box6">six</div>
</div>
</body>
</html>
มันจะให้ผลลัพธ์ดังต่อไปนี้ -
ห่อย้อนกลับ (คอลัมน์)
เมื่อส่งผ่านค่า wrap-reverse ไปยังสถานที่ให้บริการ flex-wrap และมูลค่า column ไปยังสถานที่ให้บริการ flex-directionองค์ประกอบของคอนเทนเนอร์จะเรียงตามแนวนอนจากซ้ายไปขวาตามที่แสดงด้านล่าง
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงผลลัพธ์ของการส่งผ่านค่า wrap-reverseไปดิ้นห่อทรัพย์สิน ที่นี่เรากำลังสร้างกล่องหกกล่องที่มีสีต่างกันและมีค่าทิศทางการโค้งงอcolumn.
<!doctype html>
<html lang = "en">
<style>
.box1{background:green;}
.box2{background:blue;}
.box3{background:red;}
.box4{background:magenta;}
.box5{background:yellow;}
.box6{background:pink;}
.box{
font-size:35px;
padding:15px;
width:100px;
}
.container{
display:flex;
border:3px solid black;
flex-direction:column;
flex-wrap:wrap-reverse;
height:100vh;
}
</style>
<body>
<div class = "container">
<div class = "box box1">One</div>
<div class = "box box2">two</div>
<div class = "box box3">three</div>
<div class = "box box4">four</div>
<div class = "box box5">five</div>
<div class = "box box6">six</div>
</div>
</body>
</html>
มันจะให้ผลลัพธ์ดังต่อไปนี้ -
บ่อยครั้งที่คุณสามารถสังเกตเห็นช่องว่างเพิ่มเติมที่เหลืออยู่ในภาชนะหลังจากจัดเรียงรายการดิ้นดังที่แสดงด้านล่าง
การใช้ทรัพย์สิน justify-contentคุณสามารถจัดแนวเนื้อหาตามแกนหลักโดยการกระจายพื้นที่เพิ่มเติมตามที่ต้องการ คุณยังสามารถปรับการจัดตำแหน่งของเฟล็กซิเทมได้ในกรณีที่มันล้นเส้น
usage -
justify-content: flex-start | flex-end | center | space-between | space-around| space-evenly;
คุณสมบัตินี้รับค่าต่อไปนี้ -
flex-start - รายการดิ้นจะถูกวางไว้ที่จุดเริ่มต้นของคอนเทนเนอร์
flex-end - รายการดิ้นจะอยู่ที่ส่วนท้ายของภาชนะ
center - รายการดิ้นจะถูกวางไว้ที่กึ่งกลางของภาชนะบรรจุซึ่งจะมีการกระจายพื้นที่เพิ่มเติมอย่างเท่าเทียมกันในตอนเริ่มต้นและตอนท้ายของรายการแบบยืดหยุ่น
space-between - พื้นที่พิเศษจะกระจายเท่า ๆ กันระหว่างรายการดิ้น
space-around - ช่องว่างพิเศษจะกระจายเท่า ๆ กันระหว่างสิ่งของที่ยืดหยุ่นได้เพื่อให้ช่องว่างระหว่างขอบของคอนเทนเนอร์และเนื้อหาเป็นครึ่งหนึ่งของช่องว่างระหว่างรายการที่ยืดหยุ่น
ตอนนี้เราจะดูวิธีใช้คุณสมบัติ justify-content พร้อมตัวอย่าง
ดิ้นเริ่มต้น
ในการส่งผ่านค่านี้ไปยังคุณสมบัติ justify-contentรายการแบบยืดหยุ่นจะถูกวางไว้ที่จุดเริ่มต้นของคอนเทนเนอร์
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงผลลัพธ์ของการส่งผ่านค่า flex-start ไปที่ justify-content ทรัพย์สิน.
<!doctype html>
<html lang = "en">
<style>
.box1{background:green;}
.box2{background:blue;}
.box3{background:red;}
.box4{background:magenta;}
.box5{background:yellow;}
.box6{background:pink;}
.box{
font-size:35px;
padding:15px;
}
.container{
display:flex;
border:3px solid black;
justify-content:flex-start;
}
</style>
<body>
<div class = "container">
<div class = "box box1">One</div>
<div class = "box box2">two</div>
<div class = "box box3">three</div>
<div class = "box box4">four</div>
<div class = "box box5">five</div>
<div class = "box box6">six</div>
</div>
</body>
</html>
มันจะให้ผลลัพธ์ดังต่อไปนี้ -
ปลายงอ
ในการส่งผ่านค่านี้ไปยังคุณสมบัติ justify-contentรายการที่ยืดหยุ่นจะถูกวางไว้ที่ส่วนท้ายของภาชนะ
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงผลลัพธ์ของการส่งผ่านค่า flex-end ไปที่ justify-content ทรัพย์สิน.
<!doctype html>
<html lang = "en">
<style>
.box1{background:green;}
.box2{background:blue;}
.box3{background:red;}
.box4{background:magenta;}
.box5{background:yellow;}
.box6{background:pink;}
.box{
font-size:35px;
padding:15px;
}
.container{
display:flex;
border:3px solid black;
justify-content:flex-end;
}
</style>
<body>
<div class = "container">
<div class = "box box1">One</div>
<div class = "box box2">two</div>
<div class = "box box3">three</div>
<div class = "box box4">four</div>
<div class = "box box5">five</div>
<div class = "box box6">six</div>
</div>
</body>
</html>
มันจะให้ผลลัพธ์ดังต่อไปนี้ -
ศูนย์
ในการส่งผ่านค่านี้ไปยังคุณสมบัติ justify-contentรายการเฟล็กซ์จะถูกวางไว้ที่กึ่งกลางของคอนเทนเนอร์ซึ่งจะมีการกระจายพื้นที่เพิ่มเติมอย่างเท่าเทียมกันในตอนเริ่มต้นและตอนท้ายของรายการเฟล็กซ์
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงผลลัพธ์ของการส่งผ่านค่า center ไปที่ justify-content ทรัพย์สิน.
<!doctype html>
<html lang = "en">
<style>
.box1{background:green;}
.box2{background:blue;}
.box3{background:red;}
.box4{background:magenta;}
.box5{background:yellow;}
.box6{background:pink;}
.box{
font-size:35px;
padding:15px;
}
.container{
display:flex;
border:3px solid black;
justify-content:center;
}
</style>
<body>
<div class = "container">
<div class = "box box1">One</div>
<div class = "box box2">two</div>
<div class = "box box3">three</div>
<div class = "box box4">four</div>
<div class = "box box5">five</div>
<div class = "box box6">six</div>
</div>
</body>
</html>
มันจะให้ผลลัพธ์ดังต่อไปนี้ -
ช่องว่างระหว่าง
ในการส่งผ่านค่านี้ไปยังคุณสมบัติ justify-contentช่องว่างพิเศษจะกระจายเท่า ๆ กันระหว่างรายการดิ้นเพื่อให้ช่องว่างระหว่างสองรายการดิ้นเท่ากันและจุดเริ่มต้นและจุดสิ้นสุดของรายการดิ้นสัมผัสกับขอบของภาชนะ
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงผลลัพธ์ของการส่งผ่านค่า space-between ไปที่ justify-content ทรัพย์สิน.
<!doctype html>
<html lang = "en">
<style>
.box1{background:green;}
.box2{background:blue;}
.box3{background:red;}
.box4{background:magenta;}
.box5{background:yellow;}
.box6{background:pink;}
.box{
font-size:35px;
padding:15px;
}
.container{
display:flex;
border:3px solid black;
justify-content:space-between;
}
</style>
<body>
<div class = "container">
<div class = "box box1">One</div>
<div class = "box box2">two</div>
<div class = "box box3">three</div>
<div class = "box box4">four</div>
<div class = "box box5">five</div>
<div class = "box box6">six</div>
</div>
</body>
</html>
มันจะให้ผลลัพธ์ดังต่อไปนี้ -
อวกาศรอบ ๆ
ในการส่งผ่านค่านี้ไปยังคุณสมบัติ justify-contentช่องว่างพิเศษจะกระจายเท่า ๆ กันระหว่างรายการดิ้นเพื่อให้ช่องว่างระหว่างสองรายการดิ้นเท่ากัน อย่างไรก็ตามช่องว่างระหว่างขอบของคอนเทนเนอร์และเนื้อหา (จุดเริ่มต้นและจุดสิ้นสุดของรายการดิ้น) จะเป็นครึ่งหนึ่งของช่องว่างระหว่างรายการดิ้น
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงผลลัพธ์ของการส่งผ่านค่า space-around ไปที่ justify-content ทรัพย์สิน.
<!doctype html>
<html lang = "en">
<style>
.box1{background:green;}
.box2{background:blue;}
.box3{background:red;}
.box4{background:magenta;}
.box5{background:yellow;}
.box6{background:pink;}
.box{
font-size:35px;
padding:15px;
}
.container{
display:flex;
border:3px solid black;
justify-content:space-around;
}
</style>
<body>
<div class = "container">
<div class = "box box1">One</div>
<div class = "box box2">two</div>
<div class = "box box3">three</div>
<div class = "box box4">four</div>
<div class = "box box5">five</div>
<div class = "box box6">six</div>
</div>
</body>
</html>
มันจะให้ผลลัพธ์ดังต่อไปนี้ -
เว้นวรรคเท่า ๆ กัน
ในการส่งผ่านค่านี้ไปยังคุณสมบัติ justify-contentช่องว่างพิเศษจะกระจายเท่า ๆ กันระหว่างรายการดิ้นเพื่อให้ช่องว่างระหว่างสองรายการดิ้นเท่ากัน (รวมถึงช่องว่างถึงขอบ)
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงผลลัพธ์ของการส่งผ่านค่า space-evenly ไปที่ justify-content ทรัพย์สิน.
<!doctype html>
<html lang = "en">
<style>
.box1{background:green;}
.box2{background:blue;}
.box3{background:red;}
.box4{background:magenta;}
.box5{background:yellow;}
.box6{background:pink;}
.box{
font-size:35px;
padding:15px;
}
.container{
display:flex;
border:3px solid black;
justify-content:space-evenly;
}
</style>
<body>
<div class = "container">
<div class = "box box1">One</div>
<div class = "box box2">two</div>
<div class = "box box3">three</div>
<div class = "box box4">four</div>
<div class = "box box5">five</div>
<div class = "box box6">six</div>
</div>
</body>
</html>
มันจะให้ผลลัพธ์ดังต่อไปนี้ -
align-items คุณสมบัติเหมือนกับ justify content. แต่ที่นี่รายการถูกจัดแนวข้ามการเข้าถึงข้าม (แนวตั้ง)
Usage -
align-items: flex-start | flex-end | center | baseline | stretch;
คุณสมบัตินี้รับค่าต่อไปนี้ -
flex-start - รายการที่ยืดหยุ่นถูกจัดแนวในแนวตั้งที่ด้านบนของภาชนะ
flex-end - รายการที่ยืดหยุ่นถูกจัดแนวในแนวตั้งที่ด้านล่างของภาชนะ
flex-center - รายการที่ยืดหยุ่นถูกจัดแนวในแนวตั้งที่กึ่งกลางของภาชนะ
stretch - รายการดิ้นถูกจัดแนวในแนวตั้งเพื่อให้เต็มพื้นที่แนวตั้งทั้งหมดของภาชนะ
baseline - รายการดิ้นถูกจัดแนวเพื่อให้เส้นฐานของข้อความเรียงตามแนวนอน
ดิ้นเริ่มต้น
ในการส่งผ่านค่านี้ไปยังการจัดตำแหน่งคุณสมบัติรายการแบบยืดหยุ่นจะถูกจัดแนวในแนวตั้งที่ด้านบนของคอนเทนเนอร์
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงผลลัพธ์ของการส่งผ่านค่า flex-start ไปที่ align-items ทรัพย์สิน.
<!doctype html>
<html lang = "en">
<style>
.box1{background:green;}
.box2{background:blue;}
.box3{background:red;}
.box4{background:magenta;}
.box5{background:yellow;}
.box6{background:pink;}
.box{
font-size:35px;
padding:15px;
}
.container{
display:flex;
height:100vh;
align-items:flex-start;
}
</style>
<body>
<div class = "container">
<div class = "box box1">One</div>
<div class = "box box2">two</div>
<div class = "box box3">three</div>
<div class = "box box4">four</div>
<div class = "box box5">five</div>
<div class = "box box6">six</div>
</div>
</body>
</html>
มันจะให้ผลลัพธ์ดังต่อไปนี้ -
ปลายงอ
ในการส่งผ่านค่านี้ไปยังคุณสมบัติ align-itemsรายการแบบยืดหยุ่นจะจัดแนวในแนวตั้งที่ด้านล่างของคอนเทนเนอร์
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงผลลัพธ์ของการส่งผ่านค่า flex-end ไปที่ align-items ทรัพย์สิน.
<!doctype html>
<html lang = "en">
<style>
.box1{background:green;}
.box2{background:blue;}
.box3{background:red;}
.box4{background:magenta;}
.box5{background:yellow;}
.box6{background:pink;}
.box{
font-size:35px;
padding:15px;
}
.container{
display:flex;
height:100vh;
align-items:flex-end;
}
</style>
<body>
<div class = "container">
<div class = "box box1">One</div>
<div class = "box box2">two</div>
<div class = "box box3">three</div>
<div class = "box box4">four</div>
<div class = "box box5">five</div>
<div class = "box box6">six</div>
</div>
</body>
</html>
มันจะให้ผลลัพธ์ดังต่อไปนี้ -
ศูนย์
ในการส่งผ่านค่านี้ไปยังคุณสมบัติ align-itemsรายการที่ยืดหยุ่นจะถูกจัดแนวในแนวตั้งที่กึ่งกลางของคอนเทนเนอร์
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงผลลัพธ์ของการส่งผ่านค่า flex-center ไปที่ align-items ทรัพย์สิน.
<!doctype html>
<html lang = "en">
<style>
.box1{background:green;}
.box2{background:blue;}
.box3{background:red;}
.box4{background:magenta;}
.box5{background:yellow;}
.box6{background:pink;}
.box{
font-size:35px;
padding:15px;
}
.container{
display:flex;
height:100vh;
align-items:center;
}
</style>
<body>
<div class = "container">
<div class = "box box1">One</div>
<div class = "box box2">two</div>
<div class = "box box3">three</div>
<div class = "box box4">four</div>
<div class = "box box5">five</div>
<div class = "box box6">six</div>
</div>
</body>
</html>
มันจะให้ผลลัพธ์ดังต่อไปนี้ -
ยืด
ในการส่งผ่านค่านี้ไปยังคุณสมบัติ align-itemsรายการแบบยืดหยุ่นจะจัดแนวในแนวตั้งเพื่อให้เต็มพื้นที่แนวตั้งทั้งหมดของคอนเทนเนอร์
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงผลลัพธ์ของการส่งผ่านค่า stretch ไปที่ align-items ทรัพย์สิน.
<!doctype html>
<html lang = "en">
<style>
.box1{background:green;}
.box2{background:blue;}
.box3{background:red;}
.box4{background:magenta;}
.box5{background:yellow;}
.box6{background:pink;}
.box{
font-size:35px;
padding:15px;
}
.container{
display:flex;
height:100vh;
align-items:stretch;
}
</style>
<body>
<div class = "container">
<div class = "box box1">One</div>
<div class = "box box2">two</div>
<div class = "box box3">three</div>
<div class = "box box4">four</div>
<div class = "box box5">five</div>
<div class = "box box6">six</div>
</div>
</body>
</html>
มันจะให้ผลลัพธ์ดังต่อไปนี้ -
พื้นฐาน
ในการส่งผ่านค่านี้ไปยังคุณสมบัติ align-itemsรายการแบบยืดหยุ่นจะถูกจัดแนวเพื่อให้เส้นฐานของข้อความจัดแนวตามเส้นแนวนอน
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงผลลัพธ์ของการส่งผ่านค่า baseline ไปที่ align-items ทรัพย์สิน.
<!doctype html>
<html lang = "en">
<style>
.box1{background:green;}
.box2{background:blue;}
.box3{background:red;}
.box4{background:magenta;}
.box5{background:yellow;}
.box6{background:pink;}
.box{
font-size:35px;
padding:15px;
}
.container{
display:flex;
height:100vh;
align-items:baseline;
}
</style>
<body>
<div class = "container">
<div class = "box box1">One</div>
<div class = "box box2">two</div>
<div class = "box box3">three</div>
<div class = "box box4">four</div>
<div class = "box box5">five</div>
<div class = "box box6">six</div>
</div>
</body>
</html>
มันจะให้ผลลัพธ์ดังต่อไปนี้ -
ในกรณีที่ flex-container มีหลายบรรทัด (เมื่อ flex-wrap: wrap) คุณสมบัติ align-content จะกำหนดการจัดแนวของแต่ละบรรทัดภายในคอนเทนเนอร์
Usage -
align-content: flex-start | flex-end | center | space-between | space-around | stretch;
คุณสมบัตินี้รับค่าต่อไปนี้ -
stretch - เส้นในเนื้อหาจะยืดออกเพื่อเติมเต็มพื้นที่ที่เหลือ
flex-start - ทุกบรรทัดในเนื้อหาบรรจุที่จุดเริ่มต้นของคอนเทนเนอร์
flex-end - ทุกบรรทัดในเนื้อหาบรรจุที่ส่วนท้ายของคอนเทนเนอร์
center - ทุกบรรทัดในเนื้อหาบรรจุที่กึ่งกลางของคอนเทนเนอร์
space-between - พื้นที่พิเศษกระจายระหว่างเส้นอย่างเท่าเทียมกัน
space-around - ช่องว่างพิเศษจะถูกกระจายระหว่างบรรทัดอย่างเท่าเทียมกันโดยมีพื้นที่เท่ากันรอบ ๆ แต่ละบรรทัด (รวมถึงบรรทัดแรกและบรรทัดสุดท้าย)
ศูนย์
ในการส่งผ่านค่านี้ไปยังคุณสมบัติ align-contentเส้นทั้งหมดจะถูกบรรจุไว้ที่กึ่งกลางของภาชนะ
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงผลลัพธ์ของการส่งผ่านค่า center ไปที่ align-content ทรัพย์สิน.
<!doctype html>
<html lang = "en">
<style>
.box1{background:green;}
.box2{background:blue;}
.box3{background:red;}
.box4{background:magenta;}
.box5{background:yellow;}
.box6{background:pink;}
.box{
font-size:25px;
padding:15px;
width:43%;
}
.container{
display:flex;
height:100vh;
flex-wrap:wrap;
align-content:center;
}
</style>
<body>
<div class = "container">
<div class = "box box1">One</div>
<div class = "box box2">two</div>
<div class = "box box3">three</div>
<div class = "box box4">four</div>
<div class = "box box5">five</div>
<div class = "box box6">six</div>
</div>
</body>
</html>
มันจะให้ผลลัพธ์ดังต่อไปนี้ -
ดิ้นเริ่มต้น
ในการส่งผ่านค่านี้ไปยังคุณสมบัติ align-contentเส้นทั้งหมดจะถูกบรรจุที่จุดเริ่มต้นของคอนเทนเนอร์
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงผลลัพธ์ของการส่งผ่านค่า flex-start ไปที่ align-content ทรัพย์สิน.
<!doctype html>
<html lang = "en">
<style>
.box1{background:green;}
.box2{background:blue;}
.box3{background:red;}
.box4{background:magenta;}
.box5{background:yellow;}
.box6{background:pink;}
.box{
font-size:25px;
padding:15px;
width:40%;
}
.container{
display:flex;
height:100vh;
flex-wrap:wrap;
align-content:flex-start;
}
</style>
<body>
<div class = "container">
<div class = "box box1">One</div>
<div class = "box box2">two</div>
<div class = "box box3">three</div>
<div class = "box box4">four</div>
<div class = "box box5">five</div>
<div class = "box box6">six</div>
</div>
</body>
</html>
มันจะให้ผลลัพธ์ดังต่อไปนี้ -
ปลายงอ
ในการส่งผ่านค่านี้ไปยังคุณสมบัติ align-contentเส้นทั้งหมดจะบรรจุที่ส่วนท้ายของภาชนะ
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงผลลัพธ์ของการส่งผ่านค่า flex-end ไปที่ align-content ทรัพย์สิน.
<!doctype html>
<html lang = "en">
<style>
.box1{background:green;}
.box2{background:blue;}
.box3{background:red;}
.box4{background:magenta;}
.box5{background:yellow;}
.box6{background:pink;}
.box{
font-size:25px;
padding:15px;
width:40%;
}
.container{
display:flex;
height:100vh;
flex-wrap:wrap;
align-content:flex-end;
}
</style>
<body>
<div class = "container">
<div class = "box box1">One</div>
<div class = "box box2">two</div>
<div class = "box box3">three</div>
<div class = "box box4">four</div>
<div class = "box box5">five</div>
<div class = "box box6">six</div>
</div>
</body>
</html>
มันจะให้ผลลัพธ์ดังต่อไปนี้ -
ยืด
ในการส่งผ่านค่านี้ไปยังคุณสมบัติ align-contentเส้นจะยืดออกจนเต็มพื้นที่ที่เหลือ
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงผลลัพธ์ของการส่งผ่านค่า stretch ไปที่ align-content ทรัพย์สิน.
<!doctype html>
<html lang = "en">
<style>
.box1{background:green;}
.box2{background:blue;}
.box3{background:red;}
.box4{background:magenta;}
.box5{background:yellow;}
.box6{background:pink;}
.box{
font-size:25px;
padding:15px;
width:40;
}
.container{
display:flex;
height:100vh;
flex-wrap:wrap;
align-content:stretch;
}
</style>
<body>
<div class = "container">
<div class = "box box1">One</div>
<div class = "box box2">two</div>
<div class = "box box3">three</div>
<div class = "box box4">four</div>
<div class = "box box5">five</div>
<div class = "box box6">six</div>
</div>
</body>
</html>
มันจะให้ผลลัพธ์ดังต่อไปนี้ -
อวกาศรอบ ๆ
ในการส่งผ่านค่านี้ไปยังคุณสมบัติ align-contentช่องว่างพิเศษจะถูกกระจายระหว่างบรรทัดเท่า ๆ กันโดยมีช่องว่างรอบ ๆ แต่ละบรรทัดเท่ากัน (รวมถึงบรรทัดแรกและบรรทัดสุดท้าย)
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงผลลัพธ์ของการส่งผ่านค่า space-around ไปที่ align-content ทรัพย์สิน.
<!doctype html>
<html lang = "en">
<style>
.box1{background:green;}
.box2{background:blue;}
.box3{background:red;}
.box4{background:magenta;}
.box5{background:yellow;}
.box6{background:pink;}
.box{
font-size:25px;
padding:15px;
width:40%;
}
.container{
display:flex;
height:100vh;
flex-wrap:wrap;
align-content:space-around;
}
</style>
<body>
<div class = "container">
<div class = "box box1">One</div>
<div class = "box box2">two</div>
<div class = "box box3">three</div>
<div class = "box box4">four</div>
<div class = "box box5">five</div>
<div class = "box box6">six</div>
</div>
</body>
</html>
มันจะให้ผลลัพธ์ดังต่อไปนี้ -
ช่องว่างระหว่าง
ในการส่งผ่านค่านี้ไปยังคุณสมบัติ align-contentช่องว่างพิเศษจะถูกกระจายระหว่างบรรทัดอย่างเท่าเทียมกันโดยที่บรรทัดแรกจะอยู่ที่ด้านบนและบรรทัดสุดท้ายจะอยู่ที่ด้านล่างของคอนเทนเนอร์
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงผลลัพธ์ของการส่งผ่านค่า space-between ไปที่ align-content ทรัพย์สิน.
<!doctype html>
<html lang = "en">
<style>
.box1{background:green;}
.box2{background:blue;}
.box3{background:red;}
.box4{background:magenta;}
.box5{background:yellow;}
.box6{background:pink;}
.box{
font-size:25px;
padding:15px;
width:40%;
}
.container{
display:flex;
height:100vh;
flex-wrap:wrap;
align-content:space-between;
}
</style>
<body>
<div class = "container">
<div class = "box box1">One</div>
<div class = "box box2">two</div>
<div class = "box box3">three</div>
<div class = "box box4">four</div>
<div class = "box box5">five</div>
<div class = "box box6">six</div>
</div>
</body>
</html>
มันจะให้ผลลัพธ์ดังต่อไปนี้ -
flex-order คุณสมบัติถูกใช้เพื่อกำหนดลำดับของรายการ flexbox
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงไฟล์ orderทรัพย์สิน. ที่นี่เรากำลังสร้างกล่องสีหกกล่องโดยมีป้ายกำกับหนึ่งสองสามสี่ห้าหกเรียงตามลำดับเดียวกันและเรากำลังจัดเรียงกล่องใหม่ตามลำดับหนึ่งสองห้าหกสามสี่โดยใช้ คุณสมบัติ Flex-order
<!doctype html>
<html lang = "en">
<style>
.box{
font-size:35px;
padding:15px;
}
.box1{background:green;}
.box2{background:blue;}
.box3{background:red; order:1}
.box4{background:magenta; order:2}
.box5{background:yellow;}
.box6{background:pink;}
.container{
display:inline-flex;
border:3px solid black;
flex-direction:rows;
flex-wrap:wrap;
}
</style>
<body>
<div class = "container">
<div class = "box box1">One</div>
<div class = "box box2">two</div>
<div class = "box box3">three</div>
<div class = "box box4">four</div>
<div class = "box box5">five</div>
<div class = "box box6">six</div>
</div>
</body>
</html>
มันจะให้ผลลัพธ์ดังต่อไปนี้ -
- สั่งซื้อแล้ว
คุณยังสามารถกำหนดค่า –ve ให้กับลำดับดังที่แสดงด้านล่าง
<!doctype html>
<html lang = "en">
<style>
.box{
font-size:35px;
padding:15px;
}
.box1{background:green;}
.box2{background:blue;}
.box3{background:red; order:-1}
.box4{background:magenta; order:-2}
.box5{background:yellow;}
.box6{background:pink;}
.container{
display:inline-flex;
border:3px solid black;
flex-direction:row;
flex-wrap:wrap;
}
</style>
<body>
<div class = "container">
<div class = "box box1">One</div>
<div class = "box box2">two</div>
<div class = "box box3">three</div>
<div class = "box box4">four</div>
<div class = "box box5">five</div>
<div class = "box box6">six</div>
</div>
</body>
</html>
มันจะให้ผลลัพธ์ดังต่อไปนี้ -
ดิ้นพื้นฐาน
เราใช้ไฟล์ flex-basis เพื่อกำหนดขนาดดีฟอลต์ของ flex-item ก่อนที่จะมีการกระจายพื้นที่
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงการใช้คุณสมบัติพื้นฐานดิ้น ที่นี่เรากำลังสร้างกล่องสี 3 กล่องและกำหนดขนาดเป็น 150 px
<!doctype html>
<html lang = "en">
<style>
.box{
font-size:15px;
padding:15px;
}
.box1{background:green; flex-basis:150px; }
.box2{background:blue; flex-basis:150px;}
.box3{background:red; flex-basis:150px;}
.container{
display:flex;
height:100vh;
align-items:flex-start;
}
</style>
<body>
<div class = "container">
<div class = "box box1">One</div>
<div class = "box box2">two</div>
<div class = "box box3">three</div>
</div>
</body>
</html>
มันจะให้ผลลัพธ์ดังต่อไปนี้ -
ยืดหยุ่นเติบโต
เราใช้ไฟล์ flex-grow เพื่อตั้งค่า flex-growปัจจัย. ในกรณีที่มีพื้นที่มากเกินไปในคอนเทนเนอร์จะมีการระบุว่ารายการเฟล็กซ์ควรจะเติบโตเท่าใด
<!doctype html>
<html lang = "en">
<style>
.box{
font-size:15px;
padding:15px;
}
.box1{background:green; flex-grow:10; flex-basis:100px; }
.box2{background:blue; flex-grow:1; flex-basis:100px; }
.box3{background:red; flex-grow:1; flex-basis:100px; }
.container{
display:flex;
height:100vh;
align-items:flex-start;
}
</style>
<body>
<div class = "container">
<div class = "box box1">One</div>
<div class = "box box2">two</div>
<div class = "box box3">three</div>
</div>
</body>
</html>
มันจะให้ผลลัพธ์ดังต่อไปนี้ -
งอ - หด
เราใช้คุณสมบัติ flex-shrink ใช้ในการตั้งค่า flex shrink-factor. ในกรณีที่มีพื้นที่ไม่เพียงพอในคอนเทนเนอร์จะระบุว่ารายการดิ้นควรหดเท่าใด
<!doctype html>
<html lang = "en">
<style>
.box{
font-size:15px;
padding:15px;
}
.box1{background:green; flex-basis:200px; flex-shrink:10}
.box2{background:blue; flex-basis:200px; flex-shrink:1}
.box3{background:red; flex-basis:200px; flex-shrink:1}
.container{
display:flex;
height:100vh;
align-items:flex-start;
}
</style>
<body>
<div class = "container">
<div class = "box box1">One</div>
<div class = "box box2">two</div>
<div class = "box box3">three</div>
</div>
</body>
</html>
มันจะให้ผลลัพธ์ดังต่อไปนี้ -
ดิ้น
มีชวเลขเพื่อกำหนดค่าให้กับคุณสมบัติทั้งสามนี้พร้อมกัน มันถูกเรียกว่าflex. เมื่อใช้คุณสมบัตินี้คุณสามารถตั้งค่าเป็นค่า flex-grow, flex-shrink และ flex-based นี่คือไวยากรณ์ของคุณสมบัตินี้
.item {
flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]
}
คุณสมบัตินี้คล้ายกับ align-itemsแต่ที่นี่จะนำไปใช้กับรายการดิ้นแต่ละรายการ
Usage -
align-self: auto | flex-start | flex-end | center | baseline | stretch;
คุณสมบัตินี้รับค่าต่อไปนี้ -
flex-start - รายการดิ้นจะถูกจัดแนวในแนวตั้งที่ด้านบนของภาชนะ
flex-end - รายการดิ้นจะถูกจัดแนวในแนวตั้งที่ด้านล่างของคอนเทนเนอร์
flex-center - รายการดิ้นจะถูกจัดแนวในแนวตั้งที่กึ่งกลางของภาชนะ
Stretch - รายการดิ้นจะจัดแนวในแนวตั้งเพื่อให้เต็มพื้นที่แนวตั้งทั้งหมดของภาชนะ
baseline - รายการดิ้นจะถูกจัดแนวที่เส้นฐานของแกนกากบาท
ดิ้นเริ่มต้น
เมื่อส่งผ่านค่านี้ไปยังคุณสมบัติ align-self รายการที่ยืดหยุ่นจะถูกจัดแนวในแนวตั้งที่ด้านบนของคอนเทนเนอร์
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงผลลัพธ์ของการส่งผ่านค่า flex-start ไปที่ align-self ทรัพย์สิน.
<!doctype html>
<html lang = "en">
<style>
.box1{background:green;}
.box2{background:blue;}
.box3{background:red;}
.box4{background:magenta; align-self:start;}
.box5{background:yellow;}
.box6{background:pink;}
.box{
font-size:35px;
padding:15px;
}
.container{
display:flex;
height:100vh;
border:3px solid black;
align-items:flex-start;
}
</style>
<body>
<div class = "container">
<div class = "box box1">One</div>
<div class = "box box2">two</div>
<div class = "box box3">three</div>
<div class = "box box4">four</div>
<div class = "box box5">five</div>
<div class = "box box6">six</div>
</div>
</body>
</html>
มันจะให้ผลลัพธ์ดังต่อไปนี้ -
ปลายงอ
ในการส่งผ่านค่านี้ไปยังคุณสมบัติ align-selfรายการที่ยืดหยุ่นจะถูกจัดแนวในแนวตั้งที่ด้านล่างของคอนเทนเนอร์
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงผลลัพธ์ของการส่งผ่านค่า flex-end ไปที่ align-self ทรัพย์สิน.
<!doctype html>
<html lang = "en">
<style>
.box1{background:green;}
.box2{background:blue;}
.box3{background:red;}
.box4{background:magenta; align-self:flex-end;}
.box5{background:yellow;}
.box6{background:pink;}
.box{
font-size:35px;
padding:15px;
}
.container{
display:flex;
height:100vh;
border:3px solid black;
align-items:flex-start;
}
</style>
<body>
<div class = "container">
<div class = "box box1">One</div>
<div class = "box box2">two</div>
<div class = "box box3">three</div>
<div class = "box box4">four</div>
<div class = "box box5">five</div>
<div class = "box box6">six</div>
</div>
</body>
</html>
มันจะให้ผลลัพธ์ดังต่อไปนี้ -
ศูนย์
เมื่อส่งผ่านค่า center ไปยังสถานที่ให้บริการ align-selfรายการที่ยืดหยุ่นจะถูกจัดแนวในแนวตั้งที่กึ่งกลางของคอนเทนเนอร์
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงผลลัพธ์ของการส่งผ่านค่า center ไปที่ align-self ทรัพย์สิน.
<!doctype html>
<html lang = "en">
<style>
.box1{background:green;}
.box2{background:blue;}
.box3{background:red;}
.box4{background:magenta; align-self:center;}
.box5{background:yellow;}
.box6{background:pink;}
.box{
font-size:35px;
padding:15px;
}
.container{
display:flex;
height:100vh;
border:3px solid black;
align-items:flex-start;
}
</style>
<body>
<div class = "container">
<div class = "box box1">One</div>
<div class = "box box2">two</div>
<div class = "box box3">three</div>
<div class = "box box4">four</div>
<div class = "box box5">five</div>
<div class = "box box6">six</div>
</div>
</body>
</html>
มันจะให้ผลลัพธ์ดังต่อไปนี้ -
ยืด
ในการส่งผ่านค่านี้ไปยังคุณสมบัติ align-selfรายการที่ยืดหยุ่นโดยเฉพาะจะถูกจัดวางในแนวตั้งเพื่อให้เต็มพื้นที่แนวตั้งทั้งหมดของคอนเทนเนอร์
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงผลลัพธ์ของการส่งค่ายืดไปที่ align-self ทรัพย์สิน.
<!doctype html>
<html lang = "en">
<style>
.box1{background:green;}
.box2{background:blue;}
.box3{background:red;}
.box4{background:magenta; align-self:stretch;}
.box5{background:yellow;}
.box6{background:pink;}
.box{
font-size:35px;
padding:15px;
}
.container{
display:flex;
height:100vh;
border:3px solid black;
align-items:flex-start;
}
</style>
<body>
<div class = "container">
<div class = "box box1">One</div>
<div class = "box box2">two</div>
<div class = "box box3">three</div>
<div class = "box box4">four</div>
<div class = "box box5">five</div>
<div class = "box box6">six</div>
</div>
</body>
</html>
มันจะให้ผลลัพธ์ดังต่อไปนี้ -