888 B
888 B
title, tags
| title | tags |
|---|---|
| Constant width to height ratio | layout,beginner |
Given an element of variable width, it will ensure its height remains proportionate in a responsive fashion (i.e. its width to height ratio remains constant).
<div class="constant-width-to-height-ratio"></div>
.constant-width-to-height-ratio {
background: #333;
width: 50%;
}
.constant-width-to-height-ratio:before {
content: '';
padding-top: 100%;
float: left;
}
.constant-width-to-height-ratio:after {
content: '';
display: block;
clear: both;
}
Explanation
padding-topon the:beforepseudo-element causes the height of the element to equal a percentage of its width.100%therefore means the element's height will always be100%of the width, creating a responsive square.- This method also allows content to be placed inside the element normally.