Autor Zpráva
leorond
Profil
Ahoj, potřeboval bych pomoci s jedním zápisem. Potřeboval bych použít background-size:auto 150px; a funguje mi perfektně pro Google chrom ale mám problémy s IE kde se vykresluje špatně.

Mohl by mi někdo pomoci?


Vlastně ani ne tak špatně jako spíš vůbec :D

Vím že je potřeba to zapsat nějak takto
    behaviour:url(ie-css3.htc);
    filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='admin/galerie/<? echo mysql_real_escape_string($zaznam["obrazek"]);?>', sizingMethod='scale');
    -ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='admin/galerie/<? echo mysql_real_escape_string($zaznam["obrazek"]);?>', sizingMethod='scale')";

Ale nevím jak přesně a rád bych věděl co vlastně dělám :)


A pokud udělám zápis background-size:cover; tak to funguje ale co když potřebuji zapsat například přesné rozměry bez toho abych musel určovat menší velikost divu ve kterém se nachází obrázek?
leorond
Profil
Nasměroval by mne někdo na správné řešení? Třeba jen odkaz na článek o této problematice? Rád bych to vyřešil :)
Chamurappi
Profil
Reaguji na leoronda:
Vlastnost -ms-filter uvádíš zbytečně, žádná verze Exploreru nikdy prefix nevyžadovala.
Filtr AlphaImageLoader roztahuje obrázek přes celou plochu elementu, nehledě na poměr stran. Není k tomu potřeba behaviour: url(ie-css3.htc)… a roztahovat jinak (na jinou velikost) neumí.

funguje mi perfektně pro Google chrom ale mám problémy s IE
To testuješ stránku jen ve dvou prohlížečích?
Bavíme se o Exploreru 8? Novější verze background-size znají.
leorond
Profil
Mám IE 11 a mám s tímto velké problémy problémy, testuji to ve 4 prohlížečích a problém mám skoro vždy jen s IE, proto se snažím najít způsob jak by to mohlo fungovat i v IE.
Chamurappi
Profil
Reaguji na leoronda:
V Exploreru od verze 9 funguje úplně obyčejný zápis background-size. Děláš něco špatně, dodej odkaz na živou ukázku.
leorond
Profil
Vymazal jsem údaje o prohlížení a již se mi background-size projevil ale obrázek není stejně veliký jako například v Chrom nebo FF.
Nastavil jsem

* {
    margin-left:auto;
    margin-right:auto;
}
html { 
    background: url(images/pozadi.gif) no-repeat top center; 
    -webkit-background-size: 100%;
    -moz-background-size: 100%;
    -o-background-size: 100%;
    background-size: 100%;
}

Vše je v pořádku jen explorer vykresluje pozadí jinak a tady vznikl další problém.
Otevřete si tuto stránku v IE a Chrom bigtaxi.cz/projekt_1 hned uvidíte že pozadí se nevykresluje stejně a bohužel jsou tam rozdíly v height a width.

Obrázek na pozadí má rozměry 1920x6732, přemýšlel jsem že bych obrázek ořezal a použil ho odděleně ale bojím se že si pouze přidělám práci a výsledek bude stejný. Do živé ukázky bohužel toto nemohu dost dobře použít.


Co je horší, chtěl bych vkládat do jednotlivých částí stránky animaci, tlačítka,... ale zde by se mi vykreslily prvky jinde než v Chrom.


Chamurappi:
Pokud to dobře chápu z [#3] tak pokud bych nastavil <div> na nějakou pevnou šířku a výšku, vykreslilo by se pozadí pouze ve velikosti nastavené pro tento <div>?


Zkusil jsem ještě jednu věc a kupodivu pomohla

* {
    margin:auto;
}
html { 
  background: url(images/pozadi.gif) no-repeat top center; 
  -webkit-background-size: 100%;
  -moz-background-size: 100%;
  -o-background-size: 100%;
  background-size: 100%;
  max-height:5732px
}

Ani nevím jak je to možné :D

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0