Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   CSS: min- & max-height für den IE (https://www.delphipraxis.net/80202-css-min-max-height-fuer-den-ie.html)

Plague 4. Nov 2006 16:10


CSS: min- & max-height für den IE
 
Hallo,

ich möchte, dass Bilder die ich per JavaScript lade nie größer als 283px bzw. 211px werden. Im Firefox gibt es dafür ja die min- & max-heigt Funktion. Ich habe dann mal bei Google geschaut und bin auf folgenden Code gestoßen:

Code:
<!--[if gte IE 5]>
<style type="text/css">
.ingp {
   width:expression
      (document.body.clientWidth
      > 283? "283px": "auto"
   heigt:expression
      (document.body.clientheigt
      > 211? "211px": "auto"
      }
</style>
<![endif]-->
Diesen möchte ich dann per
Code:
<img class="ingp">
aufrufen. Klappt aber nicht!
Was mache ich hier falsch?

Gruß
Thomas

Dunedain 5. Nov 2006 12:43

Re: CSS: min- & max-height für den IE
 
Hallöchen

Sieht ein bischen komisch aus, was google da bei dir ausgespuckt hat. Aber ich bin auf die selben
Snippets gestoßen... :shock:

Warum das nicht funktioniert? ganz einfach (denke ich zumindest :)):
document.body greift auf das HTML Element Body <body> zu, und nicht auf das Bild.
D.h. die Expression greift nur, wenn der Client eine Auflösung kleiner 283 x 211 hat, was warscheinlich nicht der Fall ist ;)

Sind außerdem zwei Tipp Fehler drin...
document.body.clientHeigth


Ich hätte zwei Lösungen im Angebot, wobei ich keine von beiden getestet habe...

Möglichkeit 1:
Wenn du die Bilder per JavaScript (nach?)lädst, kannst du dir eine Funktion schreiben, die das komplette HTML Dokument nach Bildern der Klasse "ingp" scannt, und deren Abmessungen überschreibt.
Könnte dann so aussehen:

Code:
function fix_img_mes()
{
    //var img= document.images;                        // Old Style
    var img= document.getElementsByTagName( "img" );   // DOM Style

    for( i = 0; i < img.length; i++ )
    {
        if( img[ i ].className == 'ignp' )
        {
            img[ i ].width = 283;
            img[ i ].height = 211;
        }
    }
}
Diese Funktion musst du dann jedes mal, wenn du ein Bild lädst, aufrufen. (Sollte) in allen Browsern funzen...?


Möglichkeit 2:
Die IE7 JavaScript Library von Dean Edwards. Bringt ältere Versionen vom IE neuere Tricks bei. Unter anderem auch die min|max-width CSS Eigenschaft... (ie7-layout.js)

alcaeus 5. Nov 2006 13:07

Re: CSS: min- & max-height für den IE
 
Zitat:

Zitat von Dunedain
Sind außerdem zwei Tipp Fehler drin...
document.body.clientHeigth

Und gleich noch einer: document.body.clientHeight ;)

Greetz
alcaeus


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:04 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz