Jeg oplever som mange andre fejl med pngbilleder i tidligere version af internet explorer. Jeg har så brugt noget kaldet pngfix, som ordner det for mig, så alt virker fint, bortset fra 2 png billeder, som jeg har i en table som baggrund. Hvad kan jeg gøre ved disse?
<div style="float:right;"> <table style="margin:0;"> <tr> <td height="19" width="13" style="padding:0;border-top:0;margin:0;background-color:transparent;background-repeat:no-repeat;" background="images/blog1.png"> </td> <td height="19" style="padding:6px 5px 6px 0;border-top:0;margin:0;background-color:transparent;background-repeat:repeat-x;" background="images/blog2.png"> <? $query = mysql_query("SELECT * FROM blog ORDER BY id DESC LIMIT 1") or die(mysql_error()); $row = mysql_fetch_assoc($query); echo '<a href="index.php?page=blog&id='.$row['id'].'">'.$row['headline'].'</a> ('.mysql_num_rows(mysql_query("SELECT * FROM comments WHERE blogid = '$row[id]'")).')'; ?> <a href="index.php?page=blogarchives"><img style="vertical-align:top;" src="images/blogarchives.png" border="" alt="" title="Se gamle blogindlæg!"></a> </td> </tr> </table> </div>
PNG-fixet har aldrig virket ved baggrunde, da der ikke er mulighed for at sætte filteret på.
Du er nødt til at bruge en PNG uden alpha-channel for at IE viser det korrekt - hvilket ofte vil sige PNG-8, med mindre du bruger et specialiseret værktøj til at lave din PNG om til PNG-24 uden alpha.
Alpha channel er det der gør at et billede kan være halv-gennemsigtigt, og det er dette IE6 ikke kan finde ud af, men som PNG-fixet retter op på - almindelige PNG-billeder hvor hver pixel enten ikke er gennemsigtig, eller er helt gennemsigtig, kan den sagtens klare.
Det kan ikke forklares anderledes - du er nødt til at lave dine billeder uden den, og det betyder normalt at du er begrænset til 256 farver i hele billedet (PNG-8), i hvert fald hvis du bruger Photoshop (der er noget med at Paint Shop Pro kan, men jeg har aldrig prøvet det).
pidgeot >> Det er ikke korrekt! PNG-8 indholder sandelig også en alpha-cannel (ellers kunne de ikke være transparente) ... forskellen mellem PNG-8 og -24 er antal bits, den pågældende alpha-channel kan håndtere ;o)
Det er faktisk ikke rigtigt, Ole. Typisk vil man med en PNG-8 have en tRNS chunk, som angiver 8-bit alpha-værdier for de enkelte palette-indeks (typisk kun et der er sat til 0, resten antages til at være 255), hvilket ikke er det samme som en alpha-channel, da du ikke kan sætte det per pixel (kun per palette-indeks).
Faktisk er det så vidt jeg lige er klar over ikke tilladt at benytte en alpha-channel med en palette. Der er dog ikke noget i vejen for at bruge tRNS i en truecolor/grayscale PNG for at sætte en bestemt farve til at være helt gennemsigtig, og sidst jeg checkede var det noget IE6 kunne finde ud af.
Ja, men det fremgår også af det spec at det sker med tRNS, der ganske enkelt gør bevirker at det er paletten der er RGBA - billedet er ikke RGB palette + alpha.
Det er korrekt at grayscale (der jo ret beset også er PNG-8) kan have alpha, men det har jeg overhovedet ikke påstået ikke var tilfældet - grayscale bruger nemlig ingen palette :)
Fik aldrig helt fat i hvad i ville have mig til at gøre? Jeg fik det jo til at virke med det ene billede (Forstår ikke hvorfor det andet ikke ville). Kan i sige mig det?
Synes godt om
Ny brugerNybegynder
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.