Autor Zpráva
ctverecek
Profil
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
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
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
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
ctverecek
kód ve [#4] je v pořádku, chyba bude asi jinde. Případně dodej odkaz na živou ukázku.
ctverecek
Profil
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
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
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
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
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
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]> 
nalinkuj normální styl a pod něj styl pro IE v podmíněném komentáři, který neobsahuje celý stylopis, ale jen změněné hodnoty pro IE.

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
ostyluje všechny odkazy, které jsou vnořeny v elementech s ID menu a CLASS active, což náhodou máš.
<li class="active a">
přiřadí položce seznamu styly, které jsou v CSS zapsány pro „.active“ a pro „.a“
ctverecek
Profil
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
ctverecek
Do styleIE jsem dal jen tenhle zapis:
opravdu?
ctverecek
Profil
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

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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