Avatar billede -sippo- Nybegynder
27. april 2004 - 20:57 Der er 13 kommentarer og
1 løsning

Hjælp til png aplha i IE.

I bund og grund mangler jeg en løsning til at få den her side (http://frip.dk/sippo/) til at se rigtig ud i Internet Explore, den virker i FireFox og Opera(ca.)...
Problemet er at alle gennemsigtige ellementer er lavet med png (et 10x10px sort billed på 40/50/60% Transparent).
Men der har mirosoft så venligt unladt at understøtte.
Så jeg sider tilbage med deres filter:alpha(Opacity:50%) ;

Men den kan jeg selvfølgelig ik finde ud af..

Så hvis der er nogle der lige kan forklare mig hvordan det skal placers. så ville jeg være meget taknemmelig

minne css filer er:
  http://frip.dk/sippo/css/ns/add.css
  http://frip.dk/sippo/css/ns/items.css
  http://frip.dk/sippo/css/ns/main.css
  http://frip.dk/sippo/css/ns/menu.css

Hvis der skal bruges andre så bare sig til.
Avatar billede olebole Juniormester
27. april 2004 - 21:04 #1
<ole>

IE understøtter (blandt meget andet) ikke alpha-kanaler i png-formatet  :o|

/mvh
</bole>
Avatar billede olebole Juniormester
27. april 2004 - 21:05 #2
Hvorfor bruger du ikke bare gif? Det format er bredt understøttet
Avatar billede -sippo- Nybegynder
27. april 2004 - 21:10 #3
det lyder måske lidt dumt men, hvordan laves en 50% gennemsigtig gif ?
Avatar billede olebole Juniormester
27. april 2004 - 21:16 #4
Det lyder slet ikke dumt - for det kan man ikke. Enten er en pixel transparent, eller også er den opaq i gif-formatet.

Bruger du 'filter' må du tage dit W3C-CSS-banner af siden, for den er ikke med i CSS1 eller CSS2.

At det så virker lidt pinligt at have den slags bannere på sin side er en anden snak. De fortæller jo ikke andet end, at koderen bag siden er begavet nok til at kunne læse en manual og gøre, som der står i den.
Det er efter min mening lidt ynkeligt, hvis man har behov for at slå det fast  :)
/mvh
Avatar billede -sippo- Nybegynder
27. april 2004 - 21:23 #5
De er hurtige lige at trykke på når jeg validere koderne.

Jeg ved godt filter ikke er W3C standart. Det skal også kun bruges når brugeren ser siden med IE, og så scripter jeg bare Bannern væk hvis der er tilfældet.

men hvad mener du med at jeg skal bruge gif hvis det ikke kan være 50% transparent ?
Avatar billede olebole Juniormester
27. april 2004 - 21:31 #6
Jeg havde ikke set, du ønskede semi-transparents ... sorry  :)

filter: Alpha(opacity=50%); ... lighedstegn  ;o)
/mvh
Avatar billede olebole Juniormester
27. april 2004 - 21:32 #7
SNOT, Ole ...  :o|

filter: Alpha(opacity=50);
Avatar billede -sippo- Nybegynder
27. april 2004 - 21:51 #8
okey... men jeg bliver lige nød til at have lidt hjælp til at placere dem

<div id="main" class="main">
<% i = 0 %>
<% do until i > 100 %>
<div id="item<%=i%>" class="item" style="filter: Alpha(opacity=50);">
  <div class="item-caption" id="itemCaption<%=i%>" onclick="showItem('<%=i%>')">
  <img src="images/ns/show.gif" class="item-icon" id="itemIcon<%=i%>" alt="click to show/hide news" />
  Item-Caption
  </div>
  <div class="item-writer" id="itemWriter<%=i%>">
  Item-Writer
  </div>
  <div class="item-body" id="itemBody<%=i%>">
  test osv..
  </div>
  <div class="item-dato" id="itemDato<%=i%>" onclick="showItem('<%=i%>')">
  Item-Dato
  </div>
</div>
<% i = i+1%>
<% loop%>
</div>

det ville jeg finde logisk.. men det ser ikke ud til at virke..
jeg har også prøvet at sætte det på alle sub-div'ne men det gjorde helelr ikke noget
den eeste der reageret på det var "main" div'en.. men eftersom det er den baggrunds billedt er på så hjælper det ikke meget..
Avatar billede olebole Juniormester
27. april 2004 - 21:56 #9
Det skal ligge på det element, du vil give transparents. Lægger du det på en container (f.eks. et div), bliver alt i det div transparent
Avatar billede -sippo- Nybegynder
27. april 2004 - 22:33 #10
nu har jeg sat en  style="filter: Alpha(opacity=50);" på alle div tags'ne undtaget "main" og sendt det på nettet
http://frip.dk/sippo/
men ingen ting bliver transparent

burde der ikke ske bare en smule..

hvor er det jeg gør forkert ?
Avatar billede lerchedahl Nybegynder
28. april 2004 - 09:14 #11
Du kan få dine png'er til at virke i IE5.5+ på pc, IE5+ på mac og Mozilla ved at smide flg. javascript ind i head:

<script type="text/javascript">

if (navigator.platform == "Win32" && navigator.appName == "Microsoft Internet Explorer" && window.attachEvent) {
    document.writeln('<style type="text/css">img { visibility:hidden; } </style>');
    window.attachEvent("onload", fnLoadPngs);
}

function fnLoadPngs() {
    var rslt = navigator.appVersion.match(/MSIE (\d+\.\d+)/, '');
    var itsAllGood = (rslt != null && Number(rslt[1]) >= 5.5);

    for (var i = document.images.length - 1, img = null; (img = document.images[i]); i--) {
        if (itsAllGood && img.src.match(/\.png$/i) != null) {
            var src = img.src;
            img.style.width = img.width + "px";
            img.style.height = img.height + "px";
            img.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizingMethod='scale')"
            img.src = "blank.gif";
        }
        img.style.visibility = "visible";
    }
}

</script>

...du skal blot sørge for at der ligger en transperent 1x1 pixel gif (blank.gif) i samme mappe som dit dokument...

/mvh
lerchedahl
Avatar billede -sippo- Nybegynder
29. april 2004 - 16:13 #12
mjoo men nu er det jo ikke et <img> men css style på en <div> background-image

lige nu ser ie koden sådan her ud
<div id="main" class="main">
<% i = 0 %>
<% do until i > 100 %>
<div id="item<%=i%>" class="item">
  <div class="item-caption" id="itemCaption<%=i%>" onclick="showItem('<%=i%>')">
  <div class="item-bg" style="filter: Alpha(opacity=60);">
  </div>
  <div class="item-text">
    <img src="images/ns/show.gif" class="item-icon" id="itemIcon<%=i%>" alt="click to show/hide news" />
    Item-caption
  </div>
  </div>
  <div class="item-writer" id="itemWriter<%=i%>" >
  <div class="item-bg" style="filter: Alpha(opacity=40);">
  </div>
  <div class="item-text">
    Item-Writer
  </div>
  </div>
  <div class="item-body" id="itemBody<%=i%>">
  <div class="item-bg" style=" line-height: 100%; height:100%; filter: Alpha(opacity=50);">
  </div>
  <div class="item-text">
    test test test test test etc..
    <br />
    den her linje er ikke transparent ):
  </div>
  </div>
  <div class="item-dato" id="itemDato<%=i%>" onclick="showItem('<%=i%>')">
  <div class="item-bg" style="font-size: 10px; filter: Alpha(opacity=40);">
  </div>
  <div class="item-text" style="font-size: 10px;">
    Item-dato
  </div>
  </div>
</div>
<% i = i+1%>
<% loop%>
</div>

og det virker os fint.. men kun for enkelt linjer..
se eksempel her http://frip.dk/sippo/indexie.asp

hvis nogle ka sige mig hvordan der kan få height:100% som også virker..

css filen er den her
http://frip.dk/sippo/css/ie/items.css

Mvh -sippo-
Avatar billede olebole Juniormester
29. april 2004 - 17:19 #13
Prøv at vise et nedbarberet eksempel uden ASP-snask
Avatar billede -sippo- Nybegynder
19. november 2005 - 17:16 #14
lukke luk luk.. det her er vist noget gammelt halløj
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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