warum spielt der IE bei diesen visibility-befehlen nicht mit?

  • kann mir einer sagen, warum der IE als einziger browser bei diesen beiden css-befehlen nicht mitmacht?

    ul#menu-hauptmenu.menu li.current-menu-item a {
    visibility:visible;
    }
    ul#menu-hauptmenu.menu .current-page-parent a {
    visibility:visible;
    }

    mit dem folgenden befehl hat er offensichtlich keine probleme:

    ul#menu-hauptmenu.menu li:hover>ul.sub-menu {
    visibility:visible;
    }

    also kann es meiner meinung nach nicht an visibilty selbst liegen, oder?

    hat jemand eine idee, bzw. einen lösungsansatz?

  • es geht darum, daß das untermenu sichtbar bleibt, wenn :
    1. der entsprechende hauptmenupunkt angewählt wird
    2. einer der untermenupunkte angewählt wird

    könnt ihr euch auf folgender seite anschaun: http://whitefoxfx.com

    alle anderen browser stellen das menu so dar, wie ich es will, nur IE reagiert auf diese befehle nicht. zeigt allerdings das untermenu beim hover.
    ??? versteh ich nicht.

  • Zitat

    Außerdem zeigt der IE das beliebte rote Kreuz für eine fehlende Grafik


    daran arbeite ich noch...

    Zitat

    Der IE reagiert manchmal sehr empfindlich, wenn er Fehler findet, siehe http://validator.w3.org/check?verbos...tefoxfx.com%2F


    ok, hab den ersten fehler rausgeschmissen und das grafik-teil auch zum test. aber ändern tut sich nix.
    ich kann mir kaum vorstellen, daß der IE, wenn ihn ein fehler stört, solch ein css-element nicht darstellt, alles andere aber macht wie er soll. kann das sein?

  • Im Monent kommt:

    Zitat

    Parse error: syntax error, unexpected '{', expecting ',' or ';' in /var/www/web342/html/wordpress/wp-content/themes/wf_KriStarkers/page.php on line 61

  • ja, das war ich.
    versuche gerade das bildproblem zu lösen, daß, wenn ein bild nicht gefunden wird, er gar nicht versucht, eines anzuzeigen.
    fällt mir als php-laie schwer, den entsprechenden code zu schreiben, deswegen die fehlermeldung.

  • PHP
    if (file_exists("dateiname"))
      echo "<img src='dateiname' alt=''>";
  • ok, und wenn mein derzeitiger codeschnipsel so aussieht?

    <img src="<?php the_field('vertical_image'); ?>" />

    da lädt er ein bild, dass in einem custom field (vertical_image) hochgeladen wird. und ich will, daß, wenn keins hochgeladen ist, dass da nix angezeigt wird.

  • Aus

    PHP
    <img src="<?php the_field('vertical_image'); ?>" />


    wird:

    PHP
    <?php
       $img = the_field('vertical_image');
    
       if (file_exists($img))
         echo "<img src='$img' alt='' />\n";
  • aber die ursprungsfrage dieses threads hab ich inzwischen gelöst.
    offensichtlich hat der IE probleme mit der vererbung von css-eigenschaften. aber so gehts:

    Code
    ul#menu-hauptmenu.menu li.current-menu-item>ul.sub-menu { 
        visibility:visible;
    }
    ul#menu-hauptmenu.menu .current_page_parent>ul.sub-menu {
        visibility:visible;
    }
  • da spuckt er mir aber den pfad und nicht mehr das bild aus:


    Ups, da habe ich nicht aufgepasst. Die Funktion the_field liefert ja keinen Wert, sondern scheint selber eine Ausgabe zu machen.

    Dann wird man sich die Funktion the_field ansehen müssen und dort die Überprüfung einbauen müssen

  • ich experimentier schon die ganze zeit damit rum, aber irgendwie komm ich zu keinem ergebnis. ständig nur fehlermeldungen. mir fehlt regelrecht das grundsätzliche verständnis vom php-aufbau, denke ich.

  • Versuche es mal hiermit:

    PHP
    <?php
       $value = get_field('vertical_image');
       $values = parse_url($value);
    
       $img = $_SERVER['DOCUMENT_ROOT'] . $values['path'];
    
    
       if (file_exists($img))
            echo "<img src='$img' alt='' />\n";
    ?>

    2 Mal editiert, zuletzt von Bandit (23. März 2012 um 17:58)

  • geht auch nicht. kein bild und im IE ist immer noch das symbol für fehlende grafik.
    ehrlich gesagt hab ich keine ahnung, was du da geschraubt hast, den letzten befehl konnte ich noch so halbwegs nachvollziehen. aber wie gesagt, php-mässig bin ich der totale nerd...
    ich werd noch ein wenig weiterversuchen...

  • Baue nur mal dies ein und poste die Ausgabe:

    PHP
    <?php
       $value = get_field('vertical_image');
       echo "Value = $value";
    ?>
  • Dann muss das gehen:

    PHP
    <?php
       $value = get_field('vertical_image');
       $values = parse_url($value);
    
       $img = $_SERVER['DOCUMENT_ROOT'] . $values['path'];
    
       if (file_exists($img))
         echo "<img src='$value' alt='' />\n";
    ?>