Beiträge von Sempervivum

    Du hast schon richtig erkannt: Wenn Du dein Ziel erreichen willst, musst Du konsequent mit Prozent- statt Pixel-Angaben arbeiten. Ich habe es mal so gemacht:

    Ist sicherlich eine interessante Aufgabe, so etwas nur mit CSS zu machen, aber ich finde, nicht alles, was machbar ist, ist auch sinnvoll. Vor allem die Änderungsfreundlichkeit beim Hinzufügen neuer Bilder lässt zu wünschen übrig, weil man alle Prozentangaben neu berechnen muss. Bei einem Slider mit Javascript ist es kein Problem, ihn so anzulegen, dass man nur die Bilder hinzu fügt und alles andere passt sich automatisch an.

    Versuche diese Javascript:

    Ich verstehe nicht ganz, was Du vor hast. OK, Du erzeugst eine Tabelle mit dem Ergebnis der Datenbankabfrage.
    "Beim Versuch diese in eine Liste zu packen scheiter ich allerdings."
    Was meinst Du da für eine Liste? Eine Liste i. S. von HTML (ul-li).
    Edit: Habe einen genaueren Blick auf deinen Code geworfen und gesehen, dass Du ja versuchst, eine ul-li-Liste anzulegen. Dabei sehe ich das Problem, dass Du - von dem Anlegen der Tabelle her - mit dem Cursor schon am Ende angelangt bist. Du musst zuvor der Cursor zum Anfang zurück spulen.
    Außerdem verstehe ich nicht, warum Du beides anlegen willst, eine Tabelle und eine Liste.

    Das ist aber die HP bei Arcor und die funktioniert ja, wenn ich dich richtig verstehe. Also nicht geeignet, den Fehler zu finden. Bei welchem Hoster hast Du es denn versucht? Ich empfehle bplaced.net. Und welchen FTP-Client benutzt Du zum Hochladen? Ein Screenshot vom Serverfenster wäre ebenfalls hiflreich.

    Normaler Weise sind gängige Ursachen:

    • Groß- und Kleinschreibung
    • die Bilder liegen in einem anderen Verzeichnis als im HTML angegeben


    Aber in deinem Fall funktionierte ja alles bei Arcor. Am besten postest Du mal die URL deiner Seite und einen Screenshot der Ansicht in deinem FTP-Client, die Ansicht auf dem Server.

    Wahrscheinlich bekommst Du deshalb keine Antworten, weil Du im falschen Unterforum bist.
    "deshalb sind die alle Verzerrt" - das liegt daran, dass Du deinem img-Tag eine feste Breite und Höhe gegeben hast:

    HTML
    <img name="austausch" src="Seenotretter.jpg" width="1200" height="800" style="position: relative; top: 17px; left: 22px">


    Lass das weg, dann werden deine Bilder nicht verzerrt sondern in originaler Größe angezeigt und ohne das Seitenverhältnis zu verfälschen.

    Wenn es um Klick vs. Hover geht, würde ich eher empfehlen, danach zu unterscheiden, ob Touch unterstützt wird und nicht nach Bildschirmgröße. Ich verwende dazu folgendes:

    JavaScript
    var isTouch = (('ontouchstart' in window) || (navigator.msMaxTouchPoints > 0));


    (So bei stackoverflow gefunden, diese Quelle halte ich für zuverlässig.)

    Um jQuery zu verwenden, musst Du diese Bibliothek auf deiner Seite einbinden. Google nach "jquery einbinden" und den Developertools für deinen Browser.
    Auch der Grund dafür, dass dein Fiddle nicht läuft, ist, das Du jQuery nicht einbindest. Du kannst es in den Einstellungen (Zahnradsymbol) des Javascript-Teils einstellen.

    Einige Probleme:

    Du hast jQuery nicht eingezogen.

    Sinnvolles Einrücken des Codes ist immer empfehlenswert, um ihn besser lesen und Strukturfehler erkennen zu können. Eingerückt (http://jsbeautifier.org/) sieht deiner so aus:
    https://jsfiddle.net/Sempervivum/g10otbtc/
    (Das Forum hat leider hartnäckig die Zeilenumbrüche verschluckt. Sieh es dir in diesem Fiddle an.)
    Man erkennt, dass eine schließende Klammer fehlt. So ist es richtig:

    JavaScript
    $(document).ready(function () {     var navi = $("#navigation"); //variable navi erstellen
         var ths = "top-head-scrolled"; //ths die class top-head-scrolled geben welche später dann über css angesprochen wird
         var hdr = $('header').height(); // hdr ist die höhe vom header
         $(window).scroll(function () {
             if ($(this).scrollTop() > hdr) { //wenn  der wert von scroll top höher ist als der von hdr
                 navi.addClass(ths); // füge klasse ths der var navi hinzu
             } else { //wenn nicht
                 navi.removeClass(ths); // entferne klasse ths 
             }
         });  });



    Die Variablen definierst Du außerhalb des document-ready. Da Du das Javascript im head einziehst, sind die entspr. Elemente noch nicht vorhanden. Richtig: siehe oben.

    Wenn Du position:fixed zuweist, ist der Selektor eine Klasse. Mit einer ID als Selektor wird außerdem position:relative zugewiesen. Das erste hat eine niedrigere Priorität als das zweite, deshalb wird das position:fixed nicht wirksam. Abhilfe, indem Du zusätzlich !important verwendest:

    CSS
    header,.top-head-scrolled {  position: fixed !important;  width: 100%;  top: 0; }

    Korrigiert man das alles, funktioniert es. Ich empfehle dir, dich mit den Developertools deiners Browsers vertraut zu machen, damit findet man solche Fehler relativ leicht.

    Der Übergang von normal zu fixed ist noch nicht reibungslos. Du kannst ja selber versuchen, das zu verbessern. Melde dich wieder, wenn Du keinen Erfolg hast.

    Habe jetzt deinen Code in eine Testseite eingefügt. Der Grund, dass es nicht funktioniert, ist offenbar, dass das CSS, das man bei .Aussen einfügt durch dieses überschrieben wird:

    CSS
    table.MainTab td {    border-style: solid;    border-color: #CC0033;    border-width: 2px;}

    Das kann man beheben, wenn man !important hinzu fügt:

    CSS
    border: 4px solid white !important;

    Das funktioniert bei mir, aber wahrscheinlich ist der Effekt nicht das, was Du dir erhoffst, weil der rote Rand verschwindet.

    Sind die roten Zellen diese?

    CSS
    .Aussen{color:#ffffff;background-color:#CC0033;text-align:left;vertical-align:middle;padding:3px 0 2px 3px;border-left:2px solid #6600FF;}

    Dann wäre es ganz einfach, Du brauchst dort nur ein border:2px solid white hinzu zu fügen.