I\'m using bootstrap and I embedded Google Maps API 3.
#map_canvas isn\'t responsive; it\'s a fixed width.
Also, if I use height: auto
REVISED: The Official Post is outdated, so I've updated my answer and improved the code.
The following method does not require bootstrap or any other framework. It can be used independently to make any content responsive. To the parent element is applied a padding by calculating the aspect ratio. Then the child element is placed on top using absolute position.
The HTML:
The CSS:
.iframe-container{
position: relative;
width: 100%;
padding-bottom: 56.25%; /* Ratio 16:9 ( 100%/16*9 = 56.25% ) */
}
.iframe-container > *{
display: block;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
margin: 0;
padding: 0;
height: 100%;
width: 100%;
}
The following 'fiddle' has examples on how to make: