<script language="JavaScript" type="text/javascript">
function agent(v) { return(Math.max(navigator.userAgent.toLowerCase().indexOf(v),0)); } // Browser-Erkennung
function absoPosi(oben, links, ebene){
var client_height=agent('msie')?document.body.clientHeight:window.innerHeight;
var client_width=agent('msie')?document.body.clientWidth:window.innerWidth;
var content=document.getElementById(ebene);
var left_col=document.getElementById(ebene);
content.style.position='absolute';
content.style.top=(oben) + 'px'; // Angabe als css-string mit Einheit ( hier px )
content.style.left=(links) + 'px';
content.style.height=( client_height-oben) + 'px';
content.style.width=( client_width - links ) + 'px';
}
</script> |
Zuerst wird mal für ein Style Sheet mit allen Werten, die man auf herkömmliche Weise zuweisen kann, erstellt. Der zweite Container ist für den linken Rand. Würde man nur für IE 8 programmieren, würde es reichen, dem rechten und unteren Rand den Wert 0 zuzuweisen und das Problem wäre gelöst.Damit auch IE 8 er richtig darstellt, weisen wir die Werte right:0 und bottom:0 zu. Für die anderen Browser die das nicht verstehen, wird die Weite und Höhe dynamisch erzeugt nachdem man die Fensterbreite und Fensterhöhe per Javascript ermittelt hat. Das geschieht in der Funktion absoPosi(oben, links, Ebene) Die Funktion erwartet 3 Parameter, Abstand in Pixeln von oben, Abstand in Pixeln vom linken Rand und id-Name des divTags.
|