Das ist wohl ein 'Verschachtelungsfehler'. Der erste div-Container 'id=single-project4' liegt innerhalb des div-Containers 'class=container'. Damit ist dessen Breite (100%) auf die Breite des 'class=container' beschränkt.
Die anderen (Popups) 'id=single-project5' / 'id=single-project6' liegen aber außerhalb von 'div class=container' und sind dann in der Breite (100%) nur vom <body> begrenzt.
Beiträge von Sailor
-
-
Das wird so nicht gehen... die Methoden 'get' und 'post' lassen sich nicht so manipulieren. Sie dienen zur Übermittlung von Parametern und nicht zum Zusammenbasteln von Hyperlinks.
Du musst dann wohl auf der Seite, die du als 'action=" angegeben hast zunächst die übergebenen Parameter auslesen, dann den Link mit den ausgelesenen Parametern nach deinen Vorstellungen zusammenstellen und dann eine Weiterleitung an die zusammengestellte Adresse veranlassen. -
Da bin ich etwas überfragt, wie das mit mit dem Script und dem Zuweisen des Wertes aus der Datenbank (Bild) funktionieren soll - also probiere es aus. Wenn es vorher so im CSS geklappt hat, dann seh ich keinen Grund, warum das nicht wieder klappen sollte.
Aber zurück zur ursprünglichen Frage... 3 Bilder untereinander sollten nicht sein... no-repeat heißt no-repeat ... auch auf einem SmartPhone.
Allerdings sind da einige Ungereimtheiten in deinem Code, mal abgesehen davon, dass du mit xhtml eine ziemlich veraltete HTML Version nutzt.
Wenn du Formate im Stylesheet für den body festlegst, dann solltest du diese nicht im Body-Tag wiederholen und auf diese Weise ggf durch die Werte im Tag überschreiben.
Also was geht im Stylesheet definieren:HTMLbody {background-color: #122A0A; background=$liga_daten[hintergrundbild]; background-repeat: no-repeat; background-attachment: fixed; background-size: cover; color: #F7FE2E; }
und den Body-Tag dann nur
Ob das mit dem Link aus der Datenbank aber so klappt, da kann ich dir nicht weiterhelfen. -
-
Versuche mal, dein Stylesheet um folgendes zu erweitern:
background-repeat: no-repeat;
background-attachment: fixed;
background-size: cover; /* statt deiner size-Anweisung */dadurch sollte das Hintergrundbild, ohne Wiederholung den gesamten Bereich ausfüllen. Das Seitenverhältnis des Bildes bleibt erhalten - also es verzerrt nicht! Aber es wird immer die kleinere Bildseite als Maß genommen, um das Bild in den Anzeigebereich einzupassen. Kann bei mobilen Geräten bei portrait... und landscape zum Abschneiden der Bildränder führen. Ggf hilft dann eine @media-Query, die im Hoch- und Querformat unterschiedliche Hintergrundbilder einblendet!
-
Das kann bestimmt 'jemand', wenn er denn wüsste, worum es geht!
Also bitte - erstelle einen neuen Threat, gib dem Thread eine aussagekräftige Überschrift, stelle deine Frage und beschreibe dabei dein dein Problem so genau, dass 'jemand' mit der Frage was anfangen kann! -
Wie wäre es denn so.... sollte die einzelnen Formulare auf separaten Bildschirmen anzeigen.
PHP
Alles anzeigen<?php session_start(); header('Content-Type: text/html; charset=ISO-8859-1'); if(isset($_POST['personen'])) {$_SESSION['personen'] = $_POST['personen']; $anzpers = $_SESSION['personen']; } if(isset($_POST['tisch'])) {$_SESSION['tisch'] = $_POST['tisch'];} if(isset($_POST['unset_anzahl'])) {$anzpers = $_SESSION['personen']; unset($_SESSION['personen']);} if(isset($_POST['unset_tisch'])) {unset($_SESSION['tisch']);} ?> <!DOCTYPE HTML> <html lang="de"> <head> <title>Ablauf Test</title> <meta charset="ISO-8859-1"> <meta name=viewport content="width=device-width, initial-scale=1"> </head> <body> <?php if(!isset($_SESSION['personen'])) { echo "<h1>Schritt 1: Personenanzahl auswählen:</h1>\n"; echo "<form action = \"ablauf.php\" method = \"post\">\n"; echo "<select name=\"personen\" size=\"1\">\n"; for($a=1; $a<21; $a++) {if($anzpers == $a) { echo "<option selected>".$a."</option>\n"; } else { echo "<option>".$a."</option>\n"; } } echo "</select>\n"; echo "<p><input type=\"submit\" name=\"gesendet\" />\n"; echo "<input type=\"reset\" /></p>\n"; echo "</form>\n"; } else { if(!isset($_SESSION['tisch'])) { echo "<p>Es wurden ". $_SESSION['personen'] ." Personen gewählt.</p>\n"; echo "<h1>Schritt 2: Tisch auswählen:</h1>\n"; echo "<form action = \"ablauf.php\" method = \"post\">\n"; echo "<table border='1'>\n"; echo "<tr><td>ID</td><td>Datum</td><td>Zeit-von</td><td>Zeit-bis</td><td>Anz-Pers</td><td>Tisch</td><td>auswählen</td></tr>\n"; /* --- ausgeblendet da keine Datenbankanbindung --------- */ /* while ($dsatz = mysqli_fetch_assoc($res)) { echo "<tr>\n"; echo "<td>" . $dsatz['zw_id'] . "</td>\n"; echo "<td>" . $dsatz['zw_datum'] . "</td>\n"; echo "<td>" . $dsatz['zw_zeitvon'] . "</td>\n"; echo "<td>" . $dsatz['zw_zeitbis'] . "</td>\n"; echo "<td>" . $dsatz['zw_anzpers'] . "</td>\n"; echo "<td>" . $dsatz['zw_tisch'] . "</td>\n"; echo "<td> input type=\"radio\" name=\"tisch\" value=\"" . $dsatz['zw_tisch'] . "\" /></td></tr>\n"; }*/ /*------ Ersatzweise Testtabelle */ for ($a=1; $a < 5; $a++) { echo "<tr>\n"; echo "<td> test ID " . $a . "</td>\n"; echo "<td> test datum " . $a . "</td>\n"; echo "<td> test von " . $a . "</td>\n"; echo "<td> test bis " . $a . "</td>\n"; echo "<td> test anzahl " . $a . "</td>\n"; echo "<td> test tisch " . $a . "</td>\n"; echo "<td><input type=\"radio\" name=\"tisch\" value=\"" . $a . "\" /></td></tr>\n"; } echo "</table>"; //mysqli_close($con); echo "<p><input type=\"submit\" value=\"Datensatz auswählen\" /></p>\n"; echo "</form>\n"; } else { echo "<form action = \"ablauf.php\" method = \"post\">\n"; echo "<p>Es wurden ". $_SESSION['personen'] ." Personen gewählt. \n"; echo "<input type=\"submit\" name=\"unset_anzahl\" value=\"Ändern\" /></p>\n"; echo "<p>Es wurde der Tisch " . $_SESSION['tisch'] . " ausgewählt.\n"; echo "<input type=\"submit\" name=\"unset_tisch\" value=\"Ändern\" /></p>\n"; echo "</form>\n"; } } ?> </body> </html>
-
Uhhhh... da sind so viele Fehler drin - das kann gar nicht laufen!
Fangen wir mit den einfachen Dingen an.
Deine Include Datei (test3.php) werden wird in test2 ausgeführt und darf deswegen keine HTML Strukturelemente haben ( kein <html> kein <head> kein <body>).
Dann sind da jede Menge HTML Fehler drin (zB mehrfach statt <br> bzw <br />) steht da <br /... ohne schließende Klammer - das sollte erst mal alles bereinigt werden, bevor du dich dem eigentlichen Problem widmen kannst.
Da test4.php als 'action' - und somit als neue Seite - im Formular (im include test3, der ja eigentlich in test2 ausgeführt wird) aufgerufen wird, gibt es von dort aus kein 'zurück' zu test2.
Ich denke, insgesamt ist die Struktur, die du gewählt hast, nicht geeignet, um dein Problem zu lösen.
Das sollte alles in einer einzigen .php, mit ggf notwendigen includes, abgehandelt werden (Stichwort: Affenformuar).etwa so.
prüfen ob Aufgabe 1 erfüllt - wenn ja, weiter mit Aufgabe 2
wenn nein - Aufgabe 1 (ausfüllen Formular 1 und erneutes Aufrufen der Seite)prüfen ob Aufgabe 2 erfüllt - wenn ja, weiter
wenn nein - Aufgabe 2 (ausfüllen Formular 2 und erneutes Aufrufen der Seite)1 und 2 erfüllt - was auch immer dann noch zu machen ist.
-
-
-
-
Versuche für <h1> das margin-top auf einen Wert 0px zu setzten. Dann schrittweise erhöhen, bis es passt.
-
Wie muss man sich das vorstellen... 'das Stylesheet, welches gleich durch die Einbindung mit verlinkt ist...'? Ist das eine statische Style-Definition, die in deinen Code eingefügt wird - oder eine Verlinkung mit <link rel="stylesheet*.... oder wird das CSS dynamisch von der/den eingebundenen JavaScript Funktionen manipuliert?
Grundsätzlich gilt bei CSS immer die zuletzt vom Browser gelesene Anweisung - somit ist auf jeden Fall schon mal deine Reihenfolge (erst <style> dann <script>) eine mögliche Fehlerursache. Bei statisch durch diese JS Anwendung verlinkte bzw eingebunden 'Styles' musst du dafür sorgen, dass deine 'Styles' danach eingebunden werden, damit sie die JS Styles überschreiben.
Wenn jedoch die JS Funktion(en) dynamisch auf das CSS zugreifen, dann hast du keine Chance das zu verhindern, denn dann gilt wieder die letzte Anweisung und das ist die Änderung durch JS! -
Der Fehler ist, dass du deine Meldung mit <div class="Fehlermeldung"... einfügst, dann aber im CSS eine ID ... #Fehlermeldung definierst.
Also Aufruf des divs mit <div id="Fehlermeldung...
oder
im CSS eine Klasse .Fehlermeldung definieren. -
Es könnte auch mit JavaScript klappen:
Erstelle eine .js Datei und speicher die lokal ... zB 'meineDatei.js'
Die Datei sollte folgende Funktion beinhalten.
HTMLfunction texteinfuegen() { var meinText = "....hier steht dein Text..."; document.getElementById("insert").innerHTML = meinText; }
Diese JS Datei bindest du in dein HTML Datei ein mit:
<script type="text/javascript" src="meineDatei.js"></script>In den Body-Tag kommt dann ein Aufruf dieser Funktion mit 'onload'
<body onload="texteinfuegen()">Und dann musst du an die Stelle, an der du den Text einfügen willst, noch ein HTML Elemet (zB <div...>) einfügen, dass du mit der ID 'insert' versiehst!
<div id="insert"></div>Und dann Daumen drücken, dass es klappt!
- - - Aktualisiert - - -
Nachtrag zu meinem Post...
in Variablen 'meinText' dürfen keine unmaskierten Anführungszeichen (" - double quotes) verwendet werden, wenn sie benötigt werden dann mit vorgestelltem Maskierungszeichen \ .
Oder einfache Anführungszeichen ( ' - single quotes) verwenden. -
Da muss ich leider passen. Die 'Umschaltung' und die entsprechend Positionierung erfolgt abhängig von der Scrollposition durch eines der eingebundenen JavaScripte. Da müsste ein JS-Fachmann ran.
-
-
Das sollte gehen!
Habe mein deinen Code von oben etwas modifiziert - schau mal, ob das so etwas ist, wie es dir vorschwebt.PHP
Alles anzeigen<?php $name_monat= array("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember",); $tag = date("d"); $monat = date("m"); $jahr = date("Y"); echo "Tag: " . $tag . " Monat: " . $monat . " Jahr: " . $jahr ."<br><br>\n"; echo "<select name=\"tag\" size=\"1\">\n"; for($a=1; $a<32; $a++) {if($tag == $a) { echo "<option selected>".$a."</option>\n"; } else { echo "<option>".$a."</option>\n"; } } echo "</select>\n"; echo "<select name=\"monat\" size=\"1\">\n"; for($a=0; $a<12; $a++) {if($monat-1 == $a) { echo "<option selected>".$name_monat[$a]."</option>\n"; } else { echo "<option>".$name_monat[$a]."</option>\n"; } } echo "</select>\n"; echo "<select name=\"jahr\" size=\"1\">\n"; for($a=$jahr; $a>$jahr-5; $a--) {if($jahr == $a) { echo "<option selected>".$a."</option>\n"; } else { echo "<option>".$a."</option>\n"; } } echo "</select>\n"; ?> <p><input type="submit" name="gesendet" /> <input type="reset" /></p> </form>
-
So ganz verstehe ich offensichtlich nicht, wo dein Problem ist. Du willst bei Aufruf der Seite - mit dem Formular - das aktuelle Datum vorselektieren. Du hast doch aber immer das aktuelle Datum durch die PHP Abfrage
$tag = date("d");
$monat = date("m");
$jahr = date("Y");Was hindert dich daran, diese Daten zu nutzen, um dynamisch mit PHP dein Formular zu aktualisieren und die richtige 'Option' mit 'selected' zu kennzeichnen?
-
Vorauswahl eines Wertes geht mit <option selected>vorgewählter Wert</option>
https://wiki.selfhtml.org/wiki/HTML/Formulare/Auswahllisten