6 เคล็ดลับ CSS เพื่อจัดแนวเนื้อหาในแนวตั้ง
มาพูดเกี่ยวกับการจัดแนวดิ่งใน CSS หรือเพื่อให้แม่นยำยิ่งขึ้นว่ามันไม่สามารถทำได้ CSS ยังไม่ได้ให้วิธีการอย่างเป็นทางการในการจัดเนื้อหาในแนวตั้งภายในคอนเทนเนอร์ มันเป็นปัญหาที่อาจทำให้นักพัฒนาเว็บผิดหวังทุกที่ แต่ไม่ต้องกลัวในบทความนี้เราจะจัดการกับคุณโดยใช้กลเม็ดเล็ก ๆ น้อย ๆ ที่สามารถช่วยคุณได้ เลียนแบบผลกระทบ.
เทคนิคเหล่านี้อาจมีข้อ จำกัด และคุณอาจต้อง ใช้เคล็ดลับมากกว่าหนึ่งอย่าง เพื่อให้ภาพลวงตาสมบูรณ์ หากคุณรู้เคล็ดลับอื่น ๆ แจ้งให้เราทราบในความคิดเห็น.
1. ใช้การจัดตำแหน่งแบบสัมบูรณ์
เคล็ดลับแรกที่เราจะดูที่นี่ใช้ ก่อนอื่นเราจะกำหนดตำแหน่งขององค์ประกอบคอนเทนเนอร์ให้สัมพันธ์จากนั้นเราตั้งตำแหน่งองค์ประกอบเด็กเป็น หากต้องการจัดแนวตั้งในแนวตั้งให้ย้ายตำแหน่งองค์ประกอบลูกจากด้านบนโดยครึ่งหนึ่งของความสูงของคอนเทนเนอร์และดึงขึ้นครึ่งหนึ่งของความกว้างองค์ประกอบลูก นี่คือผลลัพธ์: เคล็ดลับนี้สมบูรณ์แบบเมื่อมีเพียงองค์ประกอบลูกเดียวมิฉะนั้น การแปลง CSS3 ทำให้การใส่เนื้อหาตรงกลางเป็นเรื่องง่าย การแปลง CSS3 ไม่เหมือน สมมติว่าเรามีโครงสร้าง HTML เช่นเดียวกับวิธีก่อนหน้านี้ - หนึ่งผู้ปกครองหนึ่งองค์ประกอบลูก - โปรดทราบว่าการแปลง CSS3 จะไม่ทำงานใน Internet Explorer 8 และต่ำกว่า คุณอาจต้องการใช้วิธีอื่นใดก็ได้ที่นี่เพื่อเป็นทางเลือก. เรายังสามารถใช้ เคล็ดลับนี้เหมาะสำหรับเมื่อคุณไม่ได้ตั้งค่าความกว้างคงที่เพียงตั้งค่าความกว้างเป็น หากคุณมีเนื้อหาที่เป็นข้อความเพียงบรรทัดเดียวภายในคอนเทนเนอร์คุณสามารถจัดแนวข้อความในแนวตั้งโดยใช้ โปรดจำไว้ว่าเคล็ดลับนี้ใช้ได้กับข้อความบรรทัดเดียวเท่านั้น หากเนื้อหาแบ่งออกเป็นสองบรรทัดขึ้นไปช่องว่างระหว่างแต่ละบรรทัดจะเป็นตามที่เราระบุไว้ใน โดยส่วนตัวแล้วการใช้ CSS Table เป็นเคล็ดลับที่ฉันชอบสำหรับการใช้การจัดตำแหน่งแนวตั้ง มันใช้งานได้ในเบราว์เซอร์รุ่นเก่าเช่น Internet Explorer 8 วิธีนี้ทำได้โดยการตั้งค่าการแสดงส่วนประกอบคอนเทนเนอร์ วิธีสุดท้ายในการจัดกึ่งกลางแนวตั้งคือการใช้ Flexbox Flexbox เป็นโมดูลใหม่ใน CSS3 มันมีวิธีการที่ตรงไปตรงมามากขึ้นสำหรับการจัดตำแหน่งเนื้อหา หากต้องการจัดกึ่งกลางเนื้อหาในแนวตั้งในกล่องแบบเฟล็กซ์เพียงเพิ่ม โปรดทราบว่า Flexbox บางเบราว์เซอร์รองรับเฉพาะคุณสมบัติบางส่วนของโมดูล Flexbox เช่น Internet Explorer 10, Safari, 6 และ Chrome 27 และด้านล่าง ดังนั้นคล้ายกับเคล็ดลับกับการแปลง CSS3 ตรวจสอบให้แน่ใจว่าผลกระทบที่ตกอยู่ในเบราว์เซอร์เหล่านี้.ตำแหน่ง
คุณสมบัติ คุณมีสอง แน่นอน
. สิ่งนี้ทำให้เราสามารถวางมันข้ามคอนเทนเนอร์ได้อย่างอิสระ. แน่นอน
ตำแหน่งจะส่งผลกระทบต่อองค์ประกอบอื่น ๆ ภายในภาชนะเดียวกัน.2. ใช้การแปลง CSS3
ตำแหน่ง
คุณสมบัติจะไม่ส่งผลกระทบต่อตำแหน่งขององค์ประกอบอื่น ๆ ภายในคอนเทนเนอร์เดียวกัน.50%
จากด้านบนและการใช้การแปลง CSS ให้การแปล -50%
. และคุณมีมัน.3. ใช้แพ็ดดิ้ง
การขยายความ
เพื่อสร้างภาพลวงตาของการจัดแนวตั้ง หากต้องการทำเช่นนั้นเพียงตั้งค่าการเติมด้านบนและด้านล่างเท่า ๆ กันดังนี้:รถยนต์
.4. ใช้ Line Height
line-height
คุณสมบัติ ตั้งค่า line-height
ค่าประมาณเดียวกันกับความสูงของภาชนะและคุณจะเห็นผลลัพธ์ต่อไปนี้.line-height
, ทำให้เรามีช่องว่างมากเกินไป.5. ใช้ CSS Table
ตาราง
, ในขณะที่องค์ประกอบของเด็กที่จะแสดงเป็น ตารางเซลล์
จากนั้นใช้ แนวตั้งชิด
คุณสมบัติไปยังข้อความกึ่งกลางแนวตั้ง.6. ใช้ Flexbox
จัดเรียงรายการ: กึ่งกลาง;
ดังนี้และที่มัน.