ฉันได้รับสมองของฉันมากกว่าการสร้างการจัดตำแหน่งแนวตั้งใน CSS โดยใช้ต่อไปนี้
.base{
        background-color:green;
	    width:200px;
	    height:200px;
	    overflow:auto;
	    position:relative;
	}
    .vert-align{
		padding-top:50%;
		height:50%;
	}<!-- and used the following div structure. -->
    <div class="base">
       <div class="vert-align">
    	   Content Here
       </div>
    </div>ในขณะที่สิ่งนี้ดูเหมือนจะใช้ได้กับกรณีนี้ฉันรู้สึกประหลาดใจที่เมื่อฉันเพิ่มหรือลดความกว้างของ div พื้นฐานของฉันการจัดตำแหน่งแนวตั้งจะ snap ฉันคาดหวังว่าเมื่อฉันตั้งค่าคุณสมบัติการเติมด้านบนจะใช้การเติมเป็นเปอร์เซ็นต์ของความสูงของคอนเทนเนอร์หลักซึ่งเป็นฐานในกรณีของเรา แต่ค่าที่สูงกว่า 50 เปอร์เซ็นต์จะถูกคำนวณเป็นเปอร์เซ็นต์ของ ความกว้าง :(
มีวิธีตั้ง padding และ / หรือ margin เป็นเปอร์เซ็นต์ของส่วนสูงโดยไม่ต้องใช้ JavaScript หรือไม่?
topใช้งานได้ดีสำหรับการปรับขนาดตามความสูงของเบราว์เซอร์ / หน้าต่าง การมี div อยู่ใต้ div นั้นเป็นอย่างไร? คุณclearจะหารกองที่ 2 ได้อย่างไรภายใต้กองที่ถูกเลื่อนลงโดยtop:50%?