ugrás a tartalomhoz

CSS 3 nem jelenik meg IE 9-ben

srmark · 2011. Júl. 6. (Sze), 01.06
Sziasztok!
Egy portálon készített oldalt próbálok az 5 nagy böngészőre ugyanolyan kinézetűvé tenni, 4-re sikerült szinte ugyanolyanra megcsinálni, de az IE 9-ben minden rossz, olyan mintha nem támogatná a kódokat mint a régebbi IE-k. Az oldal linkje:
http://www.hotdog.hu/magazin/magazin.hot?m_id=30435

Mivel ez egy portálon van, nem tudom az egész oldalt alakítani, csak a dobozok tartalmát megadni, és css-t hozzáadni amivel felül lehet írni az alap stílust, egy css fájlba dolgozok ennek a linkje:
http://users3.ml.mindenkilapja.hu/users/srmark/uploads/foto_mag_css.css

Amiket az IE nem jelenít meg az az összes CSS 3 kód, szöveg és doboz árnyékok, border-radius, amiket elvileg már támogat a 9-es verzió, csak gyakorlatban nem. A css fájlban bent van a moz-os, és a webkit-es előtagú kód is, és persze a valid CSS 3 is.
Ezen felül a fent levő "menü" sem jelenik meg, ez 3 darab div, és 3 darab "a" tag amiket egyenként pozícionáltam a helyükre, és méreteztem.

Előre is köszönöm a segítséget!
 
1

td elemen

Poetro · 2011. Júl. 6. (Sze), 02.31
IE bizonyos border tulajdonságokat nem támogat td elemen, és ugyan ez igaz lehet más CSS tulajdonságokra is. Érdemesebb lenne azokat berakni egy dobozba, már ha azt akarod hogy IE9 alatt is legyen hatása (vagy ki kellene dobni eleve a táblázatokat, ha már nem arra használod amire való). Eleve az oldal sokkal több táblázatot tartalmaz, a dobozokról már nem is beszélve, mint ami egészséges. (lásd például <div style="margin-top:17px;"></div>).
2

A W3C HTML validator

kuka · 2011. Júl. 6. (Sze), 08.54
A W3C HTML validator szerint
610 Errors, 44 warning
Ez még fejlesztés alatt álló időleges vázlat esetében is sok. Bennem ez azt a kérdést veti fel, hogy nem lenne-e jobb kidobni az egészet. A rengeteg style attribútum miatt az egész már most a karbantarthatatlanság szélén áll.

Nem tudom Explorer mit véthet, de én Firefox 5-re sem mondanám, hogy jól viseli el: az üzenőfal tartalma csak akkor jelenik meg ha fent már picit kigördült a tartalma a látómezőből.
3

A CSS 2.1 idén június 7-én

Hidvégi Gábor · 2011. Júl. 6. (Sze), 09.31
A CSS 2.1 idén június 7-én lett szabvány, a 3.0 még erős tervezet, a modernebb böngészők sem támogatják jórészt. Ha biztosra akarsz menni, ne használd, vagy ne lepődj meg, ha nem mindenhol ugyanúgy néz ki az oldalad.

A dizájnodat CSS 2-re átültetni egyébként minimális munkával meg lehet oldani.
4

HTML

Poetro · 2011. Júl. 6. (Sze), 10.32
De csak miután újraírta a HTML-t, mert az egy katasztrófa.
6

CSS 3-ból CSS 2?

srmark · 2011. Júl. 6. (Sze), 14.27
Leírnád hogyan lehetne minimális munkával a CSS 3-as effekteket, CSS 2-re ültetni? Csak az elvet, mert már csináltam olyat hogy képpé alakítom azokat a részeket, de az ennél az oldalnál sok munkát jelent, a nagyon rossz html szerkezet, és a kevés szelektor miatt
7

Én is képpé alakítanám a

Hidvégi Gábor · 2011. Júl. 6. (Sze), 14.35
Én is képpé alakítanám a dobozok lekerekítéseit, ha megoldható.
5

A html nem az enyém

srmark · 2011. Júl. 6. (Sze), 14.24
Köszönöm a válaszokat, de azt kell látnom hogy nem olvastátok el amit írtam:

Mivel ez egy portálon van, nem tudom az egész oldalt alakítani, csak a dobozok tartalmát megadni, és css-t hozzáadni amivel felül lehet írni az alap stílust


Leírom világosabban: a html rész 99%-ához egyáltalán nem tudok hozzányúlni, azért mert ez egy portálon van, ahol a user csak a dobozok tartalmát adhatja meg (én is csak user vagyok, nem admin), ebben van a css is, amivel dolgozok.
Tudom hogy kismillió hibája van az oldalnak, de nem tudok vele semmit se csinálni.

A felvetett problémára nem kaptam választ, ha senki nem tudja kitalálni hogy miért nem megy IE-ben, akkor azt én is ki tudom találni h nem használok CSS 3-at, és tisztában vagyok vele hogy mennyire félkész a CSS 3, de IE 9-ben kipróbálgattam már a kódokat amiket az oldalon használok, és tesztekben tökéletesen működött, és megjelentek, ezért próbálom meg használni őket.
8

Támogatja

Poetro · 2011. Júl. 6. (Sze), 14.37
Ha olvastad az első hozzászólást, akkor tudhatod, hogy nem nem támogatja, hanem csak bizonyos elemeken nem (többek között gondja van tr, th és td elemekkel).

Az azért fura, hogy a HTML-hez nem lehet hozzányúlni, a CSS-hez pedig igen. Főleg ha ilyen minőségű és jellegű a HTML. Én ilyet még nem is láttam. Még bloggeren is lehet módosítani a témán.
9

div

srmark · 2011. Júl. 6. (Sze), 14.41
A css-ben rengeteg helyen van, van td-ken, és diveken is, a diveken azért nem jelenne meg mert azok td-kben vannak?

A alap CSS-hez sem lehet hozzányúlni, csak a dobozokba lehet bepakolni akármilyen html kódot, így lehet bele tenni plusz css-t
10

Lényeges

Poetro · 2011. Júl. 6. (Sze), 14.49
A lényeges dolgok ahogy látom a td-ken vannak (kerekített sarkok és árnyékok), úgyhogy ebben ne várj csodát. A kék menü cucc pedig azért nem kerül felülre, mert az IE nem képes kiszakítani a táblázatból a menü dobozodat, ezért átmegy láthatatlanba. Érdemes lenne valahogy azt a táblázaton kívülre helyezni.
11

inkább div-eken

srmark · 2011. Júl. 6. (Sze), 15.05
A lényegesebb árnyékok, a div-eken vannak, vegyük például a header-t, legfelső széles léc, az egy div közvetlenül a body-ban, és azon sem jelenik meg semmi.

A menüt megpróbálom megoldani
12

doctype

srmark · 2011. Júl. 6. (Sze), 17.48
Valószínűleg megtaláltam a megoldást:

<!DOCTYPE HTML>

Az IE megköveteli a html 5 doctype-ját
13

Meglévő doctype átírása

srmark · 2011. Júl. 6. (Sze), 19.41
Segítséget kérnék abban hogyan lehetne IE-ben átírni a doctype-ot.
Mint az előzményekben írtam nem tudom közvetlenül átírni, csak script-es megoldás jöhet szóba.
Az alap doctype:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

Már 1-2 órája guglizok és próbálkozok, a következőket próbáltam meg, de egyik sem hozta a kívánt eredményt (azt hogy a css 3 működjön IE-ben):

createDocumentType("html")
http://msdn.microsoft.com/en-us/library/ff976129%28v=vs.85%29.aspx


if (document.body.parentNode.parentNode.firstChild.nodeValue != "<!DOCTYPE html>") {
document.write("<!DOCTYPE html><html><head>" + document.head.innerHTML + "</head><body>" + document.body.innerHTML + "</body></html>");
}

http://www.webmasterworld.com/forum91/4856.htm

document.body.parentNode.parentNode.firstChild.nodeValue = "<!DOCTYPE html>"


Akinek van megoldása, vagy ötlete kérem írjon, köszönöm!
14

99%-ot adok arra, hogy utólag

Hidvégi Gábor · 2011. Júl. 6. (Sze), 21.00
99%-ot adok arra, hogy utólag nem lehet a doctype-ot módosítani. Esetleg olyan scripteknek nézz utána, ami az IE kompatibilitási módot állítja be.