Ну с шириной то проблем нет - width: 100%.
С высотой сложнее. В css нет непосредственного способа задать соотношение сторон. Но можно использовать костыль, основанный на том, что padding-top/padding-bottom высчитывается от ширины:
<aside>
<div>
<iframe src="http://javascript.ru" frameborder="0"></iframe>
</div>
</aside>
<style>
html, body{margin:0;padding:0;height:100%}
aside {
width: 20%;
height: 100%;
background: yellow;
}
aside div{
width: 100%;
height: 0;
padding-top: 56.5%; /* 100/1.77 */
position: relative;
}
aside div iframe{
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
width: 100%;
height: 100%;
}
</style>