Beiträge von MrMurphy

    Hallo

    Zitat

    Ich müsste doch theoretisch in jeder! Div einen Sticky footer nach dem oben verlinkten Tutorial machen können?

    Richtig. Erst mal musst du dich aber an die Regeln von HTML und CSS halten.

    Wenn du im CSS display:table vorschreibst, muss sich das HTML auch an den Aufbau einer Tabelle halten. Mit allen Vor-, aber auch Nachteilen. Und das ganze Konstrukt verhält sich dann auch wie eine Tabelle.

    So dürfen sich zwischen table, table-row und table-cell keine weiteren Elemente befinden.

    Auf deiner Webseite folgt jedoch auf body (= table) zunächst #bigcontentarea und dann erst mit nav (= table-row) die erste Tabellenzeile. Anstatt body müsste also #bigcontentarea die Eigenschaft display:table bekommen.

    Gruss

    MrMurphy

    Hallo,

    bei deinem Quelltext scheint ein Teil zu fehlen. So wird ein nav-Element geöffnet, aber nicht wieder geschlossen und hat auch keinen Inhalt.

    Es wäre schön wenn du dir beim Einstellen des Quelltextes etwas mehr Mühe geben würdest. Mit solchen Fehlern sinkt die Hilfsbereitschaft im allgemeinen ungemein.

    Zitat

    Also mit 100% höhe geht es nicht, aber mit 1000px höhe wird der Bereich 1000px hoch. warum?

    % und fixe Einheiten werden unterschiedlich vom Browser interpretiert.

    1000px sind 1000px.

    Bei % muss man aber immer bedenken, wovon die % genommen werden sollen. Bei height von der Höhe des umgebenden Elements. Wenn das nicht die gesamte Bildschirmhöhe ausfüllt kann das innenliegende mit der 100%-height-Angabe das auch nicht. Du musst also dafür sorgen, dass alle umgebenden Elemente (Eltern- , Großelternelemente u.s.w.) bereits über die gewünschte Höhe verfügen.

    Insgesamt kann in deinem Beispiel die Sticky Footer-Methode mit display:table nicht funktionieren. #bigcontentarea zerstört die Tabellenkonstruktion.

    Gruss

    MrMurphy

    Hallo,

    meinst du eventuell so:

    Gruss

    MrMurphy

    Hallo

    Zitat

    Wie das auf der Webseite gemacht wurde

    Auf der von dir verlinkten Seite werden zwei relativ großen Bilder für den Hintergrund verwendet. Von daher ist die als Beispiel eher nicht geeignet.

    Zitat

    Muss ich dazu ein Bild verwenden

    Wenn es so unregelmäßig wie auf der Seite sein soll - ja. Allerdings sollten dann kleinere gekachelt werden. So vollkommen unregelmäßge Muster lassen sich mit CSS nicht erstellen.

    Zitat

    kann ich das auch irgendwie mit ein paar Zeilen CSS erledigen?

    Mit CSS können kleine Muster erzeugt werden, die einen ähnlichen Effekt erzeugen. Zum Beispiel mit Farbverläufen

    http://www.olivergast.de/blog/2011/10/1…le-backgrounds/

    Oder auch mit Formen. Auf der folgenden Seite einige Beispiele, wobei das Thema Carbon für dich interessant sein könnte, die Farben kannst du ja einfach wechseln:

    http://lea.verou.me/css3patterns/#

    Gruss

    MrMurphy

    Hallo

    Nein, dafür gibt es kein Beispiel.

    Es geht

    1. um den Arbeitsprozeß eine Webseite zu erstellen und

    2. um die Performance, mit der die Webseite von Browsern aufgebaut und angezeigt wird. Speziell bei langsamen Rechnern wie zum Beispiel Smartphones.

    Ich könnte höchstens versuchen die Nachteile zu beschreiben. Wobei es für viele Webseitenersteller eher um Theorie geht, die sie in der Praxis nicht nachvollziehen können. Wer sich nicht mit den Hintergründen von HTML / CSS beschäftigt, grade mal so eine Webseite erstellen kann und hauptsächlich mit einem Desktop-Rechner im Internet surft wird die Beschreibung zudem eher nicht nachvollziehen können.

    Erst recht nicht, wenn Webseitenersteller fest an die beiden Einträge glauben und sich diesen Glauben nicht zerstören lassen wollen. Meine Erfahrung ist, dass es leider viele Webseitenersteller gibt, die ihr Wissen über HTML / CSS für unveränderlich halten und deshalb keine Argumente akzeptieren, die dem nicht entsprechen.

    Gruss

    MrMurphy

    Hallo

    Zitat

    Dadurch ist auch die Webseite breiter als 100%

    Das sehe ich auch so. An mindestens zwei Stellen ist der Inhalt breiter als die Fensterbreite.

    Zitat

    Wie mache ich das weg? Bzw. stelle das Richtig?

    Füge im CSS hier

    CSS
    * {
       margin: 0;
       padding: 0;
       font-family: Arial, sans-serif;
    }

    folgendes hinzu

    CSS
    box-sizing: border-box;

    also im Endeffekt sollte dort stehen

    CSS
    * {
       margin: 0;
       padding: 0;
       font-family: Arial, sans-serif;
       box-sizing: border-box;
    }

    Nebenbei: Die beiden Einträge margin:0 und paddin:0 machen an dieser Stelle mehr Probleme als sie lösen. Deshalb wird bereits seit Jahren empfohlen, sie nicht zu verwenden und nur dort einzutragen, wo sie benötigt werden.

    Gruss

    MrMurphy

    Hallo

    zunächst ein Hinweis: Das Bild sollte nur in der Größe bereitgestellt werden, in der es maximal erscheinen soll. Das ist guter Stil und erspart den Besuchern Traffic.

    Als zusätzlichen Nebeneffekt brauchst du dich im Regelfall dann auch nicht mehr um die Media-Queries zu kümmern sondern kannst außerhalb der Media-Queries (oder in Media-Queries, die für alle Bildschirmgrößen gelten) folgende CSS-Angaben anwenden:

    CSS
    img {
             max-width: 100%;
             max-height: 100vh;
          }

    Ich benutze gerne zusätzlich display:block um die Zwangsabstände um das Bild zu verhindern, also

    CSS
    img {
             display: block;
             max-width: 100%;
             max-height: 100vh;
          }

    Gruss

    MrMurphy

    Hallo

    Zitat

    Dadurch wird mein Problem dann auch gelöst?

    Klar, wenn du keine anderen Probleme einbaust. Probier es einfach mal aus. Wenn du Angst vorm Löschen der Einträge hast kannst du sie zunächst ja einfach auskommentieren.

    Zitat

    Muss nämlich echt sagen, dass ich mich nur schwer davon verabschieden kann und diesen Ansatz irgendwie auch nicht hundertprozentig verstehe/nachvollziehen kann...

    Es gibt festgeschriebene Regeln und bewährte, aber nicht festgeschriebene, auch bekannt unter dem Stichwort "Best Practices". Eine dieser Best Practices ist es halt Höhenangaben wo weit wie möglich zu vermeiden. Darum können und sollen sich die Browser selbst kümmern.

    Gruss

    MrMurphy

    Hallo

    erst mal, weil es so weh tut: Gewöhne dir ab bei kleineren Viewports die Schrift zu verkleinern. Genau das Gegenteil ist benutzerfreundlich: Grundsätzlich eine größere Schrift wählen und die bei kleinerem Viewport noch zu vergrößern.

    Zu deinem Problem:

    Laß die unnötigen min-height-Angaben weg und ersetzte die auch nicht durch height-Angaben. Grundsätzlich sollten height und min-height nur dort verwendet werden, wo sie sachlich erforderlich sind und nicht, um planlos Platz zu schaffen.

    Die Höhe der einzelnen Container bestimmt sich durch ihren Inhalt. Wenn zum Beispiel header, nav, footer etwas höher dargestellt werden sollen vergrößere zunächst die Schrift. Spendiere dem Inhalt (in diesem Fall also dem p-Element) eine geringe line-height. 1.3 (ohne Einheit) hat sich Bewährt, auch für den Fließtext.

    Für noch mehr Höhe kannst du den p-Elementen im header, nav, footer ein oberes und / oder unteres padding auf den Weg geben.

    In deinem Beispiel solltest du folgende min-height-Angaben ersatzlos entfernen:

    Gruss

    MrMurphy

    Hallo

    Besser und zukunftsträchtiger wäre es eher wenn du dich von deinen veralteten Vorstellungen von HTML / CSS / Layout / Responsive Design trennen könntest / würdest. Aber das ist halt auch schwieriger als nach anderen Lösungen zu suchen.

    Gruss

    MrMurphy

    Hallo

    Zitat

    Oder habe ich da einen Denkfehler?

    Davon gehe ich aus.

    Anfang des Jahres waren über 60% aller User mit Touchscreens unterwegs. Inzwischen dürften es bereits über 70% sein.

    Touchscreens kennen aber keine Hover-Effekte.

    Wenn bei einem Klick bzw. Tippen auf einen aufklappbaren Menüpunkt direkt eine andere Seite aufgerufen wird können Touchscreen-User die Unterpunkte nicht aufrufen. Deshalb ist es sinnvoll ein Aufklapp- bzw. Accordeon-Menü so anzulegen, dass beim Klicken bzw. Tippen auf einen aufklappbaren Menüpunkt nur das Untermenü geöffnet bzw. ein geöffnetes wieder geschlossen wird.

    Direkt anwählbare Menüpunkte sollten also außerhalb des Aufklappmenüs stehen.

    Hover-Effekte sind eigentlich schon megaout, nur viele Webseitenersteller an ihren Destops haben das noch nicht erkannt. Als Folge sollten aktuelle Webseiten grundsätzlich auch ohne Hover-Effekte funktionieren. Also ähnlich wie bei JavaScript.

    Gruss

    MrMurphy

    Hallo

    du suchst nach "Akkordeon Menü" bzw. englisch "accordion menu".

    Um Probleme zu vermeiden sollte es nur CSS benötigen, also ohne JavaScript funktionieren.

    Auf Touchscreens gibt es zudem keinen Hover-Effekt.

    Ich empfinde es als angenehm, wenn die Menüpunkte einzeln auf- und wieder zugeklappt werden können.

    Als Grundlage empfehle ich folgendes Beispiel

    http://codepen.io/anon/pen/QjxxpW

    Die ganze Optik (Farben, Icons u.s.w.) kannst du natürlich nach deinen Vorstellungen anpassen. Das Beispiel kannst du auf deinem Rechner speichern, wenn du im Fenster unten rechts auf "Export" klickst.

    Gruss

    MrMurphy

    Hallo,

    du solltest für den header gar keine Höhe angeben sondern sie durch den Browser berechnen lassen.

    Als Beispiel habe ich mal eine Seite mit aktuellem HTML / CSS erstellt und etwas Responsive Design eingebaut:

    Gruss

    MrMurphy

    Hallo

    Zitat

    Ich fachkundige Hilfe wäre ich begeistert

    Glaube ich eher nicht.

    Problem: Im Gegensatz zu Papierseiten (Bücher, Zeitungen, Plakate u.s.w.) haben Webseiten keine (sinnvoll) definierbaren Größen. Siehe

    http://little-boxes.de/lb1/1-das-web-…aus-papier.html

    http://little-boxes.de/lb1/1.1-papierdenken.html

    und die folgenden Seiten.

    Im Endeffekt wird eine Webseite so groß wie ihr Inhalt. Wenn der nicht ausreicht um das Fenster zu füllen hört die Seite eher auf. Ist der Inhalt größer muss gescrollt werden, möglichst nur nach unten bzw. zurück.

    Wenn du trotzdem den Eindruck erwecken möchtest, dass nicht ausreichender Inhalt das gesamte Fenster füllt, kannst du nach "sticky footer" suchen.

    Gruss

    MrMurphy