หน้า: 1 2 [3] 4 5 6 7 8 9 10 11
 
ผู้เขียน หัวข้อ: มาเรียน CSS กันเถอะ (แตกหน่อ)  (อ่าน 73901 ครั้ง)
0 สมาชิก และ 1 ขาจร กำลังดูหัวข้อนี้
อะ มาดูกันต่อกับเรื่องของ overflow

ซึ่ง overflow ก็จะมี visible , hidden, scroll และ auto

ซึ่งค่า overflow ปรกติที่เราไม่ได้ตั้งค่าอะไรมัน จะเป็น visible

มาดูกันว่า แต่ละอันนั้น มีความแตกต่างกันยังไง

overflow : visible



จะเห็นว่า อะไรที่มันเกิน ก็จะโชว์ให้เราเห็น

overflow : hidden



มันจะซ่อนส่วนที่เกินจากที่เรากำหนดไว้

overflow : scroll



อันนี้จะใช้ในโอกาสที่เราต้องการโชว์ Scrollbar ทั้งสองด้าน แต่มันก็มีปัญหาตรงที่มันจะโชว์ตลอดเวลานี่ดิ

overflow : auto



อันนี้ถ้าเกินจากที่เรากำหนด ถึงจะมี Scrollbar เกิดขึ้น

เดี๋ยวมาต่อ ว่ามันใช้ประโยชน์ได้อะไร

credit : http://css-tricks.com/the-css-overflow-property/
บันทึกการเข้า

พี่บิ๊กสุดยอดดดด กรี๊ดดดดด
แปะๆๆ กิ๊บกิ๊วววว
บันทึกการเข้า

ที่สุดถ้ามันจะไม่คุ้ม
แต่มันก็ดีที่อย่างน้อยได้จดจำ
ว่าครั้งนึงเคยก้าวไป...
แตกหน่อแล้วครับ จู๋นี้เอาไว้เรียนกันออนไลน์กับจานบิ๊กเลย กรี๊ดดดดด
(ส่วนจู๋นู้นก็ถามโน่นนี่กรุบกริบเหมือนเดิม)
บันทึกการเข้า

ทำมาหากินด้วยการเปิดร้านสกรีนเสื้อยืด จ้ะ

อุกรี๊ด... +พี่บิ๊กเลย กรี๊ดดดดด


บันทึกการเข้า

อันบัน ♥
ติดตามๆ กรี๊ดดดดด
บันทึกการเข้า

ติดตามๆ กรี๊ดดดดด
บันทึกการเข้า

ลงเรียนด้วยคนครับ  กรี๊ดดดดด
บันทึกการเข้า
จารย์บิ๊กสุดยอด กรี๊ดดดดด
บันทึกการเข้า

หนุ่มอักษรรักแน่ รักแท้ตลอดกาล~
ทำงานจนลืมมาต่อ

ต่อกันเลยแล้วกัน ว่า 1 ในประโยชน์ของ overflow ก็คือ



ถ้าเรามี div อันนึง แล้วใน div ก็มีอีกสอง div อยู่ด้านใน แต่ละ div ก็สั่ง float:left; ไว้

ปัญหาที่พบก็คือ สีของพื้นหลังตัว div ใหญ่ที่คลุมทั้งสอง div จะไม่ยาวลงมา



วิธีแก้บางคนก็จะใช้วิธี สร้าง div มาอีกตัวไว้ด้านล่างสุด แล้วสั่ง clear:both; ซึ่งก็จะทำให้ปัญหานี้หมดไป

แต่มีอีกวิธีนึง ที่ง่ายกว่า และไม่ต้องสร้าง div เพิ่ม ก็คือ การใช้คำสั่ง overflow:hidden;



เมื่อเราใส่ overflow:hidden; ให้กับตัว div ใหญ่ที่คลุมอยู่ ก็จะได้ผลเช่นเดียวกับวิธีข้างบน

//  กรี๊ดดดดด มีกระจู๋สาระเป็นของตัวเองแล้ว

ใครมีอะไรสงสัย ก็ถามได้นะ ถ้าหามาตอบได้ จะหามาตอบให้นะครับ  ไหว้
บันทึกการเข้า

มุงด้วย  กรี๊ดดดดด
บันทึกการเข้า

นักเขียนการ์ตูนรายปี
ขอพวกทิปจัดการ IE ด้วยแน เกย์ออก
บันทึกการเข้า

ทำมาหากินด้วยการเปิดร้านสกรีนเสื้อยืด จ้ะ
จารย์บิ๊กเจ๋งอ้ะ  กรี๊ดดดดด
บันทึกการเข้า
ว้ายๆๆ กรี้ดดๆๆ  กรี๊ดดดดด
บันทึกการเข้า

กลับมากับเรื่องของ Margin collapsing

ซึ่งเป็นเรื่องเล็ก ๆ น้อย ๆ แต่พวกเราควรจะรู้

เริ่มจากดูรูปประกอบอันแรกก่อน



เมื่อเรามี div สองอัน โดยกำหนด margin ไว้ 20px ถ้าเราสั่ง float:left; clear:both; ไว้ใน div เราจะได้ตามแบบรูปนี่ละ

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



จะเห็นว่า ด้านล่างของ div บน กับด้านบนของ div ล่าง จะซ้อนกัน นี่ละ Margin collapsing

แล้วถ้าเกิดมัน margin ไม่เท่ากันละ จะเป็นยังไง ตามมาดูอันต่อไป



คราวนี้ div บนมี margin-bottom:30px; และ div ล่างมี margin-top:20px; ซึ่งตามจริงที่จะปรากฎจะเป็นดังนี้



จะเห็นว่า มันจะยึดหลักว่า margin ตัวไหนเยอะกว่า จะใช้อันนั้น

มาดูตัวอย่างสุดท้ายกันนะ ดูที่รูปประกอบเลย



กรณีนี้ ส่วนของเนื้อหา อยู่ภายใน div หรือเป็น div ใน div กรณีนี้จะได้ผลลัพธ์ยังไงลองคิดดูก่อน


















มันจะยึดหลัก margin ที่เยอะกว่าไว้ ซึ่งก็จะได้ผลดังรูปครับ
บันทึกการเข้า

หน้า: 1 2 [3] 4 5 6 7 8 9 10 11
 
 
Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2007, Simple Machines | Thai language by ThaiSMF Valid XHTML 1.0! Valid CSS!