ฉันถูกถามคำถามในการสัมภาษณ์ว่า "อะไรคือความแตกต่างระหว่าง CSS height:100%
และheight:auto
?"
มีใครอธิบายได้บ้าง
ฉันถูกถามคำถามในการสัมภาษณ์ว่า "อะไรคือความแตกต่างระหว่าง CSS height:100%
และheight:auto
?"
มีใครอธิบายได้บ้าง
คำตอบ:
height: 100%
ให้องค์ประกอบความสูง 100% ของคอนเทนเนอร์หลัก
height: auto
หมายถึงความสูงขององค์ประกอบจะขึ้นอยู่กับความสูงของลูก
ลองพิจารณาตัวอย่างเหล่านี้:
ความสูง: 100%
<div style="height: 50px">
<div id="innerDiv" style="height: 100%">
</div>
</div>
#innerDiv
กำลังจะมี height: 50px
ความสูง: อัตโนมัติ
<div style="height: 50px">
<div id="innerDiv" style="height: auto">
<div id="evenInner" style="height: 10px">
</div>
</div>
</div>
#innerDiv
กำลังจะมี height: 10px
setting the height of the child element or the container element
ไม่มีกฎดังกล่าวทั่วโลกที่เป็นอยู่ทั่วไป คุณสามารถทำสิ่งที่คุณต้องทำเพื่อให้บรรลุการออกแบบของคุณหากคุณทำตามความสอดคล้องบางอย่างหลีกเลี่ยงการทำซ้ำลดการทำงานซ้ำจัดกลุ่มเลย์เอาต์ทั่วไป ในระยะสั้นจะต้องมีระบบ / รูปแบบการทำงานของคุณเพื่อให้ง่ายต่อการอ่านและแก้ไขและแน่นอนความจริงที่ว่ามันทำงานได้
auto
ทำให้องค์ประกอบเติบโตขึ้นเพื่อรองรับเนื้อหาทั้งสองและเนื้อหาของเด็ก ในทางตรงกันข้ามค่าความสูงคงที่จะไม่ขยาย (หรือแสดง) เนื้อหาที่ไม่สามารถพอดีกับความสูงที่ประกาศ jsfiddle.net/m3f8y6xr/1คำตอบนี้ฉันเชื่อว่ามีคำไม่เพียงพอที่จะทำให้มันน่ากลัวว่าองค์ประกอบจะเติบโตเพื่อรวมเนื้อหาทั้งหมดไม่ว่าจะเป็นข้อความของตัวเองหรือเนื้อหาของเด็ก แน่นอนมันอาจเป็นที่ถกเถียงกันอยู่ว่าข้อความของตัวเองยังเป็นเด็ก สิ่งนี้ให้การยืนยันด้วยภาพของพฤติกรรม
สูง 100%สำหรับเป็นสันนิษฐานว่าความสูงของคุณภายในหน้าต่างเบราว์เซอร์เพราะนั่นเป็นความสูงของแม่หน้า auto
ความสูงจะเป็นความสูงต่ำสุดของจำเป็นที่จะต้องมี
ค่าเริ่มต้นอยู่height: auto
ในเบราว์เซอร์ แต่height: X%
กำหนดความสูงเป็นเปอร์เซ็นต์ของบล็อกที่มี
height: 100% ใช้งานได้ถ้าคอนเทนเนอร์พาเรนต์มีคุณสมบัติความสูงที่ระบุไม่เช่นนั้นจะใช้งานไม่ได้
10px + the size it needs for its own content
- ดูjsfiddle