webForumDet fria alternativet

Transparent png i IE6 + lista i IE

HTML & CSS

17 svar · 597 visningar · startad av emser

Medlem sedan mars 200720 inlägg
Frågan#1

Hej hej,

Jag har två problem med min webbsida, http://www.soulprint.se :

1. Jag använder fyra transparenta png:s och för att få det att fungera i IE6 har jag försökt använda mig av iepngfix.htc (se: http://bjorkoy.com/past/2007/4/8/the_easiest_way_to_png/ ). Det funkar dock inte för tre av png-bilderna (skuggramen runt huvudboxen, uppdelat i tre delar: vänster, höger och botten). Den fjärde bilden funkar (högra delen av gemet). Är det någon som förstår sig på varför...?
CSS-filen ligger på http://www.soulprint.se/index.css

2. Jag har en lista med länkar på http://www.soulprint.se/lankar.html som inte funkar i IE. Jag vet inte om det kan ha att göra med denna kod i CSS-filen som jag lagt in för att få CSS drop down-menyn att funka:

/* Fix IE. Hide from IE Mac \*/
* html ul li { float: left; height: 1%; }
* html ul li a { height: 1%; }
/* End */

CSS-filen ligger på http://www.soulprint.se/lankar.css

Jag är jättetacksam för all hjälp!

Mvh/Em

Medlem sedan nov. 20051 596 inlägg
#2

Ja din fix säger att alla listor ska floata left i IE. Prova med att specificera den till #nav.
Du ska nog ha no-repeat på din stora bakgrundsbild, ser konstigt ut hos mig i IE...
Såg också att du har normala länkar så du skulle kunna minska din kod med att skriva


a:link {color: #987267;}
a:visited {color: #403028;}
a:hover{color: #b6b6b6;}
a:active {color: #b6b6b6;
.....
<ul>
<li><a href="http://www...osv

Men det var bara ett tips som flög på mig när jag tittade på länkarna ;)
edit/ glöm det jag skrev om ul... tänkte ett steg längre...

Men med dina png-bilder så tror jag att det kan ha att göra med dina marginaler till vänster. Prova med att 0-ställa margin och padding i body och se vart du hamnar då. Kanske det räcker... testa... :)

Medlem sedan mars 200720 inlägg
#3

Tack för hjälpen! Det hjälpte med listan - perfekt.

Däremot hjälpte det inte mina png:s att sätta margin och padding till 0 i body tyvärr... Jag har satt no-repeat på bakgrunden nu, men det är den understa lilla skuggan (skuggabottom.png) som strular till allting (skillnaden är nu bara att det är vitt under istället för bakgrunden igen). De två andra skuggorna på varsin sida syns inte alls.

Det är också konstigt att allt utom den högra skuggan funkar i Firefox. I Safari funkar dock allt perfekt.

Hm... Synd att jag inte riktigt fattar koden i den där iepngfix.htc heller.

Medlem sedan apr. 200312 679 inlägg
#4

Jag använder den här lösningen och den fungerar felfritt.

r\ För att förtydliga det en aning. Du har en div med en bakgrund i, då ska din css se ut så här:

#box {background: url(box.png) no-repeat; height: 100px;}
* html #box {background: none; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader([B]enabled=true[/B], src='box.png', sizingMethod='crop');}

Tänk på att wF ändrar enabled-fältet lite, så du får rätta till det ifall du kopierar texten.
r2\ Fast inte om jag gjorde det fetstilt. :p Okay, nu är det bra.

Medlem sedan mars 200720 inlägg
#5

Hm... he he, jag är lite ny på det här (och självlärd via internet) så jag fattar inte riktigt...
Alltså: det är inte bakgrunden som är en transparent png, utan fyra andra bilder. Men du menar kanske att jag ska lägga bilderna var och en som bakgrund i varsin div istället för att ha dem som img i html-koden?

Medlem sedan apr. 200312 679 inlägg
#6

emser skrev:

Hm... he he, jag är lite ny på det här (och självlärd via internet) så jag fattar inte riktigt...
Alltså: det är inte bakgrunden som är en transparent png, utan fyra andra bilder. Men du menar kanske att jag ska lägga bilderna var och en som bakgrund i varsin div istället för att ha dem som img i html-koden?

Okay, då är jag med på vad du menar. Jag kommer inte ihåg hur man skulle placera koden i en img-tag, men jag hade nog lagt bilderna som bakgrund i en div. :)

Medlem sedan nov. 20051 596 inlägg
#7

Det är alltid bra att försöka få bort bilder som inte har någon annan funktion än design från html-koden.
Du skulle t.ex kunna lägga in din skugga bottom i div.main
background:#F0EDDC url(skuggabottom.png) no-repeat bottom;
så blir du kanske av med bottenproblemet i IE också och kan använda silfvers förslag på bilderna

Medlem sedan mars 200720 inlägg
#8

Ok, nu har jag lagt in bilderna som bakgrunder i div:arna istället.
Men jag fattar inte riktigt hur jag ska ändra i den här koden när jag har div.bottomshadow istället för #bottomshadow...

I CSS-koden alltså någonting sånt här...?:

div.bottomshadow {
        background-image: url('skuggabottom.png');
        background-repeat: no-repeat;
        position: absolute;
	top: 640px;
	left: 0px;
        height: 29px;
        width: 650px;
	z-index: 7;
}

* [B]html bottomshadow[/B] {background: none; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, [B]src='skuggabottom.png'[/B], sizingMethod='crop');}

Ska jag lägga in den här sista delen efter de andra bilderna också, och ändra till * html skuggavanster etc?

Det funkar inte än så länge, men jag har ju säkert gjort fel :p

Medlem sedan mars 200720 inlägg
#9

Nej, nu funkar det! Hurra!
Allt utom höger-skuggan som inte syns alls varken i FF eller IE, utan bara Safari.

Jag körde på bara iepngfix-metoden och tog bort koden ovan (* html bottomshadow etc...), men jag tog också bort background-repeat: no-repeat för tydligen så är det inte supported i det scriptet.

CSS ser alltså ut såhär nu:

img, div { 
    behavior: url('iepngfix.htc'); 
}

div.bottomshadow {
        background-image: url('skuggabottom.png');
        position: absolute;
	top: 640px;
	left: 0px;
        height: 29px;
        width: 650px;
	z-index: 7;
}

Hurra! Nu ska jag bara fundera ut varför höger-skuggan inte syns alls... Men det ser ju inte helt fel ut i IE längre i alla fall :)

Medlem sedan nov. 20051 596 inlägg
#10

Testa det här:
radera din

<div class="bottomshadow">
<img src="skuggabottom.png" alt="">
</div>

och ändra din div.main till

div.main {
position: absolute;
top: 180px;
left: 23px;
width: 605px;
height: 497px;
background:#F0EDDC url(skuggabottom.png) no-repeat bottom;
z-index: 2;
}
* html #main {background: none; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, src='box.png', sizingMethod='crop');}

Och se vart du hamnar då och om det fungerar :)

OOOps vi var tydligen ute och skrev samtidigt... :)

Medlem sedan nov. 20051 596 inlägg
#11

Det ser ut som din högerskugga bild är trasig på servern... http://www.soulprint.se/skuggahoger.png Är 0px × 0px och 0 kB (0 byte)
Skicka upp den igen...

Medlem sedan mars 200720 inlägg
#12

Haha, ja men tack ändå för lösningen :-)

Jag har laddat upp högerskuggan igen, men den syns fortfarande inte. Hm... konstigt eftersom den syns i Safari.

Medlem sedan nov. 20051 596 inlägg
#13

Din lösning fungerar säker bättre ...:-)

Har du rensat cachen i Safari, för det är fortfarande en tom fil som ligger däruppe. Titta på den i något bildprogram... Tror den kanske kan ha åkt upp som ashii och blivit förstörd

Medlem sedan mars 200720 inlägg
#14

Yes! Tack, du hade rätt!
Jag gjorde om bilden från början igen i Photoshop och laddade upp och nu verkar det funka i IE och FF.

Tack så mycket för hjälpen!

Medlem sedan mars 200720 inlägg
#15

Nej vänta lite...

Sedan jag ändrade i koden för drop down-menyn (för att inte störa den andra listan under "Länkar"):

/* Fix IE. Hide from IE Mac \*/
* html #nav ul li { float: left; height: 1%; }
* html #nav ul li a { height: 1%; }
/* End */

så har menyn börjat blinka i IE, i alla fall IE 6. När man för musen över "Tjänster" så kan man ibland inte komma ner till underlänkarna, för menyn försvinner.

Å vad irriterande, det funkade ju förut! (och funkar som vanligt i FF och Safari...).

Medlem sedan nov. 20051 596 inlägg
#16

Det är någon px som fattas så då får du ta bort 0:ningen i body igen eller skjuta upp dropdownen någon px.

Medlem sedan mars 200720 inlägg
#17

Hm, det funkar inte ändå...

Det verkar som att IE 6 är den enda browsern det inte funkar i. IE 7 funkar bra iaf.

Medlem sedan nov. 20051 596 inlägg
#18

Prova med att lägga margin här:

#nav li:hover ul, #nav li.sfhover ul { /* lists nested under hovered list items */
	left: auto;
	margin-top: -3px;/*testa med -3px först och se*/ 
}
814 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
684 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
684 ms — ändringar (db)