Autor | Zpráva | ||
---|---|---|---|
ctverecek Profil |
#1 · Zasláno: 4. 7. 2009, 15:15:34
Zdravim, potrebuju aby si IE natahnul svuj vlastni CSS styl. Takze jsem do hlavicky napsal tohle:
<!--[if IE]> <link rel="stylesheet" type="text/css" href="./styleIE.css" /> <![endif]--> <link rel="stylesheet" type="text/css" href="./style.css" /> Tuhle podminku jsem zkousel i bezne v textu a fungovala ALE kdyz si pak otevru stranku v IE nejsem si zcela jist jestli si IE vzal skutecne jen ten CSS soubor ktery chci! Zkusil jsem treba v tom IE CSS souboru dat uplne jinou barvu pisma a barva zustala stejna jaka je definovana v style.css. Pripada mi to ze ten IE uplne ignoruje ty vlastnosti nadefinovane primo pro nej v styleIE.css. Nevite nekdo co je spatne? |
||
Leo Profil |
#2 · Zasláno: 4. 7. 2009, 15:19:26
IE natahne OBA styly, takze se muze stat, ze pravidla v tom pozdejsim (ve vasem pripade style.css) prebiji pravidla v tom prvnim. Leo
|
||
Radek9 Profil |
#3 · Zasláno: 4. 7. 2009, 15:19:42
Zkus to prohodit:
<link rel="stylesheet" type="text/css" href="./style.css" /> <!--[if IE]> <link rel="stylesheet" type="text/css" href="./styleIE.css" /> <![endif]--> |
||
ctverecek Profil |
#4 · Zasláno: 4. 7. 2009, 15:23:49
Toto:
<link rel="stylesheet" type="text/css" href="./style.css" /> <!--[if IE]> <link rel="stylesheet" type="text/css" href="./styleIE.css" /> <![endif]--> nepomáhá...takze uz vazne nevim jak to nastylovat! ve FF, Opere a Chrome vse OK jen IE mi rozhodi menu :-/ |
||
panther Profil |
#5 · Zasláno: 4. 7. 2009, 17:01:22
ctverecek
kód ve [#4] je v pořádku, chyba bude asi jinde. Případně dodej odkaz na živou ukázku. |
||
ctverecek Profil |
#6 · Zasláno: 4. 7. 2009, 17:11:21
Tak ale ted uz to vazne nechapu! Udelal jsem v hlavicce stranek maly PHP zapis abych zjistil jestli je prohlizec IE nebo jiny a na zaklade toho je tam podminka ktera ma nacist ten nebo onen styl.
<?php $server = $_SERVER['HTTP_USER_AGENT']; echo $server; $browser = strpos($server,'3'); if ($browser == true){ echo "<br>Je to IE"."<link rel=\"stylesheet\" type=\"text/css\" href=\"./styleIE.css\" />";} else { echo "<br>Neni to IE"."<link rel=\"stylesheet\" type=\"text/css\" href=\"./style.css\" />";} ?> Kdyz si pak otevru zdrojak prez IE a treba Operu ten styl je tam skutecne spravne ALE neposloucha! Treba ted jsou dal do souboru stylIE aby bylo pismo ruzovy a v tom style klasika cerna...vysledek? V obojim je to cerne! Zkoukni to na www.vyslystav.cz |
||
Yur4Y Profil |
#7 · Zasláno: 4. 7. 2009, 17:32:43 · Upravil/a: Yur4Y
Prečo na zistenie, či je to IE, hľadáte '3'? Podmienke vyhovie napríklad aj reťazec Firefox 3.5 alebo trebárs .NET CLR 3.0. Proste pre identifikáciu Explorera hľadajte napríklad reťazec MSIE alebo Mozilla/4.0 (aj keď ani za to neručím).
Podmienené komentáre v príspevku #3 fungujú správne. (Teoreticky by ste mohli použiť aj to prvé, ale pravidlá v styleIE.css by ste museli označiť ako !important) Problém je, že sa pokúšate optimalizovať zobrazenie stránky nesprávnym spôsobom. Nehľadajte chybu v PHP alebo v podmienených komentároch. Mimochodom, ani v style.css, ani v styleIE.css nevidím nič o ružovej farbe. |
||
ctverecek Profil |
#8 · Zasláno: 4. 7. 2009, 17:43:12
Reaguji na Yur4Y
Tu "3" jsem tam dal na rychlo protoze jsem si nemohl vzpomenout jak PHP porovnava dva retezce abych mohl zapsat cele "MSIE". A moje verze Opery ve ktere mi vse funguje prave 3 v retezci z $_SERVER['HTTP_USER_AGENT'] neobsahuje. Nehľadajte chybu v PHP alebo v podmienených komentároch. A kde jinde by teda mela byt? V CSS? Ano, snazil jsem se udelat jeden CSS soubor ktery by fungoval pod vsema prohlizecema ale to se mi bohuzel nepovedlo. Kdyz jsem delal 1 soubor pro vsechny prohlizece tak jsem mel to menu zapsane takto: #leftboard { float: left; width: 176px; height: 537px; margin: 0px; background: url('./images/leftboard.png') no-repeat; text-align: center; min-height: 537px;} #menu ul{ position: relative; left: 11px; margin: 0px; padding: 0px; list-style-type: none;} /*zruseni tecek seznamu odkazu*/ #menu li{ margin-top: 10px; /* mezeru menzi polozkama*/ line-height: 2em;} /*nastavuje vysku radky*/ #menu li a{ width: 155px; height: 32px; color: black; /*bila barva pisma*/ display: block; /*aby se zobrazilo cele (blok) pozadi*/ background-image: url('./images/button.png');} #menu a:hover{ width: 178px; height: 32px; color: black; /*cerna barva pisma*/ display: block; /*aby se zobrazilo cele (blok) pozadi*/ background-image: url('./images/button2.png');} #menu .active a{ width: 178px; height: 32px; color: black; /*cerna barva pisma*/ display: block; /*aby se zobrazilo cele (blok) pozadi*/ background-image: url('./images/button2.png');} a v HTML: <div id="leftboard"> <div id="menu"> <ul> <li <? if ($_GET['id'] == "onas") echo "class=\"active a\" "; ?>><a href="onas.html">O nás</a></li> <li <? if ($_GET['id'] == "management") echo "class=\"active a\" "; ?>><a href="management.html">Management</a></li> <li <? if ($_GET['id'] == "cenik") echo "class=\"active a\" "; ?>><a href="cenik.html">Ceník</a></li> <li <? if ($_GET['id'] == "kariera") echo "class=\"active a\" "; ?>><a href="kariera.html">Kariéra</a></li> <li <? if ($_GET['id'] == "reference") echo "class=\"active a\" "; ?>><a href="reference.html">Reference</a></li> <li <? if ($_GET['id'] == "kontakt" || $_GET['id'] == "email") echo "class=\"active a\" "; ?>><a href="kontakt.html">Kontakt</a></li> </ul> </div> </div> Fungovalo to skvele ve vsech browserech krom IE. Z toho duvodu jsem se rozhodl ze udelam pro IE specialni CSS ktere pozicovani menu upravy. |
||
panther Profil |
#9 · Zasláno: 4. 7. 2009, 17:49:02 · Upravil/a: panther
ctverecek
„A moje verze Opery ve ktere mi vse funguje prave 3 v retezci z $_SERVER['HTTP_USER_AGENT'] neobsahuje. “ A můj Firefox 3 trojku obsahuje, proto mi to vypsalo „Je to IE“, i když není. Co je špatně, ti bohužel nemohu poradit, protože mi to pro Firefox linkuje styly pro IE, takže to vidím rozházené i tady ;-) „#menu .active a“ tento zápis v CSS ti nebude fungovat tak, jak si myslíš (jde o tu mezeru) EDIT: vzhledem k tomu, že máš zápis aktivní položky bez PHP následující: <li class="active a"><a href="">... funguje, ale to „a“ z CSS není to v té třídě „class="active a"“, ale toto „<a href="">“ „Z toho duvodu jsem se rozhodl ze udelam pro IE specialni CSS ktere pozicovani menu upravy.“ nějak mi uniká smysl tvého pozicování. Šlo by to celé řešit i jinak. |
||
ctverecek Profil |
#10 · Zasláno: 4. 7. 2009, 17:57:07 · Upravil/a: ctverecek
panther
A můj Firefox 3 trojku obsahuje, proto mi to vypsalo „Je to IE“, i když není. Hih to je mozne ale ja mel zrovna otevrenou Operu tak jsem to porovnaval s Operou ;-) Co je špatně, ti bohužel nemohu poradit, protože mi to pro Firefox linkuje styly pro IE, takže to vidím rozházené i tady ;-) Uz je to tam zpatky - jen podotknu ze ve style a ve styleIE je uplne stejnej kod tento zápis v CSS ti nebude fungovat tak, jak si myslíš (jde o tu mezeru) zajimave ze vzdycky fungoval nějak mi uniká smysl tvého pozicování. Šlo by to celé řešit i jinak. stranka je napozicovana floatama (hlavni prvky), menu je napozicovane relativne k nadrazenemu prvku coz je v pripade menu leftboard |
||
panther Profil |
#11 · Zasláno: 4. 7. 2009, 18:14:21
ctverecek
co je tohle? <!--[if IE]> <link rel="stylesheet" type="text/css" href="./styleIE.css" /> <![endif]--> <![if ! IE]> <link rel="stylesheet" type="text/css" href="./style.css" /> <![endif]> Mimochodem, zápis „<![if ! IE]>“ není správně, za „!“ nemá být mezera. „zajimave ze vzdycky fungoval “ tak si zkus tu třídu posunout k odkazu, uvidíš, pro to nefunguje. #menu .active a <li class="active a"> |
||
ctverecek Profil |
#12 · Zasláno: 4. 7. 2009, 18:27:07
OK udelal jsem tu hlavicku podle tebe.
Do styleIE jsem dal jen tenhle zapis: #menu ul{ position: relative; left: 25px;} aby se ty polozky v menu "odlepily" od ty aktivni casti s obsahem a vysledek? Ve FF, Opere, Chrome v poradku v IE nikoliv ani se to nehne |
||
panther Profil |
#13 · Zasláno: 4. 7. 2009, 18:29:48
|
||
ctverecek Profil |
#14 · Zasláno: 4. 7. 2009, 18:46:35
Reaguji na panther
Tak ted ti teda tleskam! Vubec jsem si nevsiml ze misto styleIE.css na FTP je styleie.css nevim jestli jsem to zmenil ja nebo jestli hosting nepodporuje velka pismena kazdopadne diky moc protoze bych se tady s tim mucil jeste asi hodne dlouho ;-) BTW IEcko nezobrazi spravne ten JS kterej muzes videt treba http://www.vyslystav.cz/kariera.html v pravem hornim rohu pritom si myslim ze je skript zapsany spravne |
||
Časová prodleva: 15 let
|
0