Avatar billede til_dkmaster Nybegynder
07. august 2008 - 21:39 Der er 10 kommentarer og
1 løsning

max-width alternativ i IE6 & IE7

Hej

Er der nogle som kender en løsning på hvordan man kan lave en
max-width og max-height for et billede?

Det skal bruges i et gallery, og nogle billede er større end 640x480 andre er mindre. Dem som er mindre en 640x480 skal vises normalt, de ander skal have størrelsen 640x480.

Har prøvet følgende i CS:  -> Virker Firefox med ikke IE
<style>
.image
{
    max-width: 200px;
    max-height: 200px;
}
</style>

Har prøve med <Pre ....> </Pre> Virker også kun i Firefox!

Har hørt der findes en PHP løsning?
- Ellers måske en javascript løsning??
Avatar billede thesurfer Nybegynder
08. august 2008 - 00:35 #1
Noget i stil med denne JavaScript-funktion, som kaldes ved load:

function fiximages()
{
    imgs = document.getElementsByTagName("img");
    for(i = 0, len = imgs.length; i < len; i++)
    {
        img = imgs[i];
        if (img.className.toLowerCase().indexOf("image") > -1)
        {
            if (img.offsetWidth > 640 || img.offsetHeight > 480)
            {
                img.style.width  = 640 + "px";
                img.style.height = 480 + "px";
            }
        }
    }
}
Avatar billede thesurfer Nybegynder
08. august 2008 - 00:36 #2
Du kan kalde funktion via:

<body onload="fiximages();">

eller

<script type="text/javascript">
window.onload = fiximages();
</script>
Avatar billede til_dkmaster Nybegynder
11. august 2008 - 21:12 #3
Har prøvet dit script. Men billederne bilver stadig vist i normal størrelse
Avatar billede thesurfer Nybegynder
13. august 2008 - 21:06 #4
Smid lige din kode her ind..

Følgende kode virker i Opera v9.51, FireFox v2.0.0.16, Internet Explorer 6.

<img src="test_800x560.jpg" class="image">

<script type="text/javascript">
window.onload = fiximages();

function fiximages()
{
    imgs = document.getElementsByTagName("img");
    for(i = 0, len = imgs.length; i < len; i++)
    {
        img = imgs[i];
        if (img.className.toLowerCase().indexOf("image") > -1)
        {
            if (img.offsetWidth > 640 || img.offsetHeight > 480)
            {
                img.style.width  = 640 + "px";
                img.style.height = 480 + "px";
            }
        }
    }
}
</script>

Jeg har ikke IE7 på min comp, så jeg kan ikke teste den der.
Avatar billede til_dkmaster Nybegynder
19. august 2008 - 17:44 #5
Okay, har fået din kode til at virke men har stadig problemer,
min kode ser således ud:

<td>
<a href="visbilled.php?<? echo "$resultat2[picxl]"; ?>" target="_blank">
<img SRC="<? echo "$resultat2[picxl]"; ?>" class="fiximages"></img></a>
<script type="text/javascript">
window.onload = fiximages();

function fiximages()
{
    imgs = document.getElementsByTagName("img");
    for(i = 0, len = imgs.length; i < len; i++)
    {
        img = imgs[i];
        if (img.className.toLowerCase().indexOf("image") > -1)
        {
            if (img.offsetWidth > 640 || img.offsetHeight > 480)
            {
                img.style.width  = 640 + "px";
                img.style.height = 480 + "px";
            }
        }
    }
}
</script>
</td>


Men når billederne bliver kaldt via: "$resultat2[picxl]";
melder IE fejl (Ikke implementeret) ->
og det er hvor "<a href" starter at IE siger fejlen ligger :(


Firefox, laver også fejl. Den viser først billedet i orginal størrelse,
trykker jeg på F5 (opdater) viser den billedet i maks 640x480 px.

????
Avatar billede thesurfer Nybegynder
19. august 2008 - 20:11 #6
Hmm.. Hvilken version af Firefox bruger du? Min test virkede fint med følgende:

Opera v9.51, FireFox v2.0.0.16, Internet Explorer 6 SP2

Jeg kunne godt tænke mig at se resultatet af din kode.. Eller bedre: din side live på nettet, så hvis du har mulighed for at uploade den, please do.. :-)

Nu er jeg ikke PHP programmør, men jeg vil skyde på at det skal være uden "" udenom $resultat2[picxl].. altså:

<? echo $resultat2[picxl]; ?>

Ellers vil den sikkert afslutte href's gåseøjne..

Eksempel (hvor der bruges "" udenom $resultat2[picxl]):
Hvis $resultat2[picxl] indeholder HelloWorld, vil der komme til at stå:

<a href="visbilled.php?"HelloWorld" target="_blank">

Men er ikke helt sikker, da man så skulle concatenate "" og $resultat2[picxl].. :-)

Prøv uden "-tegnene..
Avatar billede til_dkmaster Nybegynder
20. august 2008 - 19:44 #7
Firefox 3.0.1 og IE 6 SP2.

Link til siden er: www.danhelp.dk

Hvis du så vælger linket: "Win. Vista (NT)"
som er et galleri, kan du se hva IE skriver som fejl.
Avatar billede til_dkmaster Nybegynder
20. august 2008 - 19:44 #8
<STYLE>
<!--
BODY
{ color:black;
  background-color:#ffffff;
  scrollbar-face-color:#FEFFFE;
  scrollbar-arrow-color:#788077;
  scrollbar-track-color:#F2FCF1;
  scrollbar-shadow-color:#000000;
  scrollbar-highlight-color:#FFFFFF;
  scrollbar-3dlight-color:##CCD2CB;
  scrollbar-darkshadow-Color:#000000;
}
-->
</STYLE>

<font face="Tahoma">
<? require("db.php"); ?>
<style>
  <!--
  a { color: #000000; text-decoration: none; }
  a:hover { color: black; text-decoration: underline;}
  -->
</style>


<title>Danhelp</title>

<body link="black" vlink="black" alink="black" topmargin="0" marginwidth="0" leftmargin="0" marginheight="0" >

<table>
<tr>
<td width="10">
<? if($_GET['site']){
$id = $_GET['site'];
}
echo "<span style='font-size:10pt;'>
</span>
";
?>

</td>
<td>
<? if($_GET['site']){
$id = $_GET['site'];
echo "<pre style='margin:0px; padding:0px; border:0px inset; width:765px; height:100px; overflow:auto'>";

$query = mysql_query("select id, ip, tableid, date_format(tid, '%e/%c %Y, %H:%i:%s') as tiden, pic, picxl, intro, text from $gaestebog WHERE tableid = '$id' order by tid desc");

while ($resultat = mysql_fetch_assoc($query)) {

echo "<a href=$PHP_SELF?open=$resultat[id]&site=$id><img SRC=$resultat[pic] width=100 height=75></img></a> ";
}
echo "</pre>";
}

?>

</td>
</tr>
<tr>
<td width="10" valign="top">
<?
if($_GET['open']){
$id = $_GET['open'];

$query2 = mysql_query("select id, tableid, pic, picxl, intro, text from $gaestebog WHERE id = '$id' order by tid desc");

while ($resultat2 = mysql_fetch_assoc($query2)) {


    $text = stripslashes($resultat2["text"]);
    $text = nl2br($resultat2["text"]);
    $intro = stripslashes($resultat2["intro"]);
    $intro = nl2br($resultat2["intro"]);

?>

</td>
<td align="center">

<a href="visbilled.php?<? echo "$resultat2[picxl]"; ?>" target="_blank">
<img SRC="<? echo "$resultat2[picxl]"; ?>" class="fiximages">
</img></a>
<script type="text/javascript">
window.onload = fiximages();

function fiximages()
{
    imgs = document.getElementsByTagName("img");
    for(i = 0, len = imgs.length; i < len; i++)
    {
        img = imgs[i];
        if (img.className.toLowerCase().indexOf("image") > -1)
        {
            if (img.offsetWidth > 640 || img.offsetHeight > 480)
            {
                img.style.width  = 640 + "px";
                img.style.height = 480 + "px";
            }
        }
    }
}
</script>
<?
echo "
<span style='font-size:10pt;'>
<br>
<a href=visbilled.php?$resultat2[picxl] target='_blank'>
<img SRC='pic-system/big.jpg' width=16 height=16 border=0</img>Stort billede</a>
<a class='tlink' href='$PHP_SELF?id=$resultat2[id]'><BR><BR>

";
?>


</td>
</tr>
<tr>
<td width="10">
<!-- tom -->
</td>
<td>


<?
if($_GET['open']){
$id = $_GET['open'];

$query2 = mysql_query("select id, tableid, pic, picxl, intro, text from $gaestebog WHERE id = '$id' order by tid desc");

while ($resultat2 = mysql_fetch_assoc($query2)) {


    $text = stripslashes($resultat2["text"]);
    $text = nl2br($resultat2["text"]);
    $intro = stripslashes($resultat2["intro"]);
    $intro = nl2br($resultat2["intro"]);
echo "<span style='font-size:12pt;'><b>$intro<br></b></span>";
}}
?>


</td>
</tr>
<tr>
<td width="10">
<!-- tom -->
</td>
<td>


<?
echo "
<span style='font-size:10pt;'>
$text
</span>
";
}}
?>


</td>
</tr>
</table>
</font>
Avatar billede thesurfer Nybegynder
20. august 2008 - 20:51 #9
Linien:

window.onload = fiximages();

Skal være:

window.onload = function() { fiximages(); };

Prøv det..
Avatar billede til_dkmaster Nybegynder
20. august 2008 - 20:56 #10
Kæmpe tak :D ... Det virker nu !!!
Avatar billede thesurfer Nybegynder
20. august 2008 - 20:59 #11
Det var så lidt :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester