Beiträge von MrMurphy

    Hallo


    Ich sehe eher das folgende HTML



    mit dem folgenden CSS



    Eine komplette Seite könnte dann folgendermaßen aussehen




    Nachtrag: Ich habe einige Tippfehler korrigieren müssen.


    Gruss


    MrMurphy

    Hallo


    Zitat

    Gibt es eine Schicke lösung das ganze so anzupassen, damit die fußleiste etwas weiter runter rutscht, ohne die anderen pages zu beeinflussen?


    Wie schon von mir vermutet suchst du den Sticky Footer. Eine schicke (du meinst wahrscheinlich eher einfache) Lösung gibt es nicht. Du musst dir halt eine Lösung suchen mit der du zurecht kommst.


    Gruss


    MrMurphy

    Hallo


    Zitat

    ... dass sozusagen die Fußleiste nicht abschließt.


    Was meinst du damit?


    Zitat

    ich frage mich ob es in CSS ein Befehl gibt ...


    Eher nicht.


    Wenn es um Fußzeilen bei relativ wenig Inhalt geht wird im Regelfall "Sticky Footer" gesucht. Das ist ein Oberbegriff, für den es verschiedene Techniken / Lösungen gibt. Du kannst ja mal nach "css sticky footer" suchen und dir dann eine Lösung herauspicken, mit der du klar kommst.


    Insgesamt würde ich zu Flexbox raten, aber damit wirst du noch überfordert sein, wenn ich mir deinen bisherigen Quelltext anschaue.


    Gruss


    MrMurphy

    Hallo


    Zitat

    wie erreiche ich das?


    Der HTML-Quelltext für das Grundlayout entspricht



    Das dazu passende CSS kann so aussehen:



    Gruss


    MrMurphy

    Hallo


    Der Quelltext passt aber nicht zum Bild.


    Der header soll also 10% Breite haben und links stehen. Ich finde aber weder einen div-Container für den Inhalt noch einen dritten Container für die Werbefläche.


    Zitat

    wenn ich das jetzt mal so verlinken darf


    Ja, Webseiten dürfen grundsätzlich verlinkt werden.


    Allerdings hat die verlinkte Webseite mit aktuellem HTML / CSS wenig zu tun. Sie ist zentriert und starr. Außerdem enthält sie keine nebeneinander liegenden Container und passt damit auch nicht zu deiner Seite.


    Zitat

    die verschiebung passiert beim reinzoomen nach außen hin


    Das ist schlechter Stil und sollte vermieden werden, da die Besucher beim Hineinzoomen oder schmaleren Fenstern seitlich scrollen müssen. Webseiten sollten aber so erstellt werden, dass die Besucher nur hoch- und runter scrollen müssen.


    Gruss


    MrMurphy

    Hallo


    Ohne den HTML-Quelltext können wir dir nicht konkret helfen.


    Zitat

    Ich bringe mir alles per trial and error bei...


    Das ist grundsätzlich schlecht. Das aktuelle HTML und CSS sind sehr komplex geworden und erfordern ein gewissen Grundwissen.


    Grade auch wenn es um unterschiedliche Fenstergrößen und Responsive Design geht.


    Zitat

    Problem 1: Die Buttons und das Logo sollen sich nciht vergrößern oder verkleinern lassen, damit diese nicht aus ihrem Rahmen springen.


    Das ist aber das ganz normale Verhalten und daran solltest du nichts ändern. Es ist besser in solchen Fällen die Anordnung der Elemente zu ändern.


    Zitat

    Problem 2: Ich verstehe schlichtweg nicht, wieso der Hintergrund der Navigationsbar schön brav statisch an seinem Platz bleibt; alle anderen Rahmen jedoch nicht......


    Das liegt an dem Zusammenspiel von HTML und CSS. Aber ohne das HTML - siehe weiter vorne im Text.


    Gruss


    MrMurphy

    Hallo


    Zitat

    aber div#main verändert die größe nicht


    Warum liest du meine Antwort nicht?


    Zum Beispiel


    Zitat

    Da die Auswirkungen von float immer wieder unterschätzt werden ...


    und


    Zitat

    damit sie beide aus dem Dokumentenfluß genommen werden


    Mit float werden main und aside aus dem Dokumentenfluß genommen und andere Elemente können deshalb nicht mehr auf sie reagieren. Das gilt natürlich auch für umgebende Elemente. Deshalb sind für das umgebende Element main und aside kein Inhalt mehr, auf das es reagieren kann.


    Das ist alles in dem von mir verlinkten Beitrag beschrieben. Wenn du float anwenden willst solltest du den verstanden haben. Ansonsten wird dir float regelmäßig Probleme bereiten.


    Gruss


    MrMurphy

    Hallo


    Die Beispielseite enthält keinen Inhalt, das Problem ist deshalb nicht direkt nachvollziehbar.


    Das hat zwar mit deinem Problem nichts zu tun: Aber du verwendest Elemente teilweise in unzulässiger Weise. Damit solltest du dich noch mal beschäftigen. In den HTML-Grundlagen ist relativ genau bestimmt, wann welche Elemente verwendet werden dürfen.


    Grundsätzlich gilt folgendes:


    Wenn zwei Elemente (main, aside) nebeneinander angezeigt werden sollen, dürfen sie zusammen nicht breiter als das umgebende Element (div.website) sein.


    Da main (980px) so breit wie das umgebende div.website (980px) ist passt daneben kein weiteres Element.


    Zusätzlich ist main ein Blockelement. Selbst wenn main und aside zusammen weniger als 980px Breite haben stehen sie dennoch untereinander.


    Deshalb müssen beide Elemente gefloatet werden, damit sie beide aus dem Dokumentenfluß genommen werden.


    Zusätzlich muss das floaten aber vor dem ersten nachfolgenden Element beendet werden, welches unterhalb der gefloateten Elemente stehen soll. Sonst kann es auch neben die gefloateten Elemente rutschen. Merksatz: Kein Float ohne Clear.


    Da die Auswirkungen von float immer wieder unterschätzt werden noch der Hinweis auf einen ausführlichen Beitrag dazu:


    http://www.andreas-kalt.de/webdesign/tutorials/float-theorie


    Insgesamt solltest du dich auch mit Flexbox beschäftigen.


    Gruss


    MrMurphy

    Hallo


    Deine Angaben sind für konkrete Hilfe leider viel zu mager.


    Der Skizze ist weder zu entnehmen


    a) in welchen Kästen/Container welche Informationen stehen sollen


    b) wie sie sich die Kästen im 12er-Grid aufteilen sollen


    c) ob, und wenn ja, wie sich die Kästen responsive verhalten sollen.


    Die gleiche Höhe des ersten sowie der zweiten und dritten Kästen sind mit Bootstrap-Mitteln nicht zu erreichen. Da wirst du nacharbeiten müssen.


    Grundsätzlich musst du für die Aufteilung zunächst ein Gerüst aus Containern mit den dafür gedachten Bootstrap-Klassen erstellen. Das Gerüst könnte folgendermaßen aussehen:



    Der Übersichtlichkeit halber habe ich statt der Kästen erstmal Absätze (p) genommen. Praktisch sieht das Ergebnis dann so aus:


    http://boratb.bplaced.net/index09.html


    Mit deinem Inhalt könnte das HTML dann folgendermaßen aussehen:



    Und praktisch dann


    http://boratb.bplaced.net/index10.html


    Das responsive Verhalten kann noch mit zusätzlichen Klassen (.col-xs-, .col-sm- und .col-lg- zu den bereits vorhandenen Klassen .col-md-) verfeinert werden.


    Gruss


    MrMurphy

    Hallo


    Zitat

    Es könnte ja nichts durch HTML5 Elemente ersetzt werden oder sehe ich das falsch?


    Doch. Die HTML5-Richtlinien schreiben vor, das div-Elemente nur noch verwendet werden dürfen, wenn es keine geeigneteren gibt. Damit sollten div-Wüsten endgültig der Vergangenheit angehören. div-Seiten werden zwar problemlos auch zukünftig von den Browser angezeigt werden, aber sie sind sachlich trotzdem falsch.


    Zitat

    Einige Beispiele wären nett.


    Code
    <div id="main">


    Solche umfassenden Container werden üblicherweise eher als wrapper bezeichnet - und sind komplett überflüssig. Also löschen.


    Code
    <div id="kopfzeile">


    Dafür ist das header-Element besser geeignet.


    Code
    <ul>
    <li>


    Nach den Richtlinien von HTML / CSS sollen Inhalt und Gestaltung getrennt werden. Elementen und Container, die nur der Gestaltung deinen, sollten nur verwendet werden, wenn die technisch notwendig sind.


    Eine der Folgen ist, dass auf unnötige Container und Elemente verzichtet werden sollte. Die Liste ist überflüssig und sollte gelöscht werden.


    Code
    F&uuml;nfter


    Seit über 10 Jahren ist UTF-8 problemlos zu verwenden und inzwischen Standard geworden. Damit sind Maskierungen von Sonderzeichen und Umlauten überflüssig. Abgesehen von sehr wenigen Ausnahmen.


    Code
    <div id="content">


    Dafür ist das main-Element besser geeignet.


    Code
    <div id="footer"


    Dafür ist das footer-Element besser geeignet.


    Aktuell könnte der HTML-Quellcode also folgendermaßen aussehen:



    Die Gestaltung erfolgt dann per CSS.


    Gruss


    MrMurphy

    Hallo


    Zitat

    ... allerdings bewegen entweder sich die Buttons oder die Container Größe springt etwas. Sind zwar nur ein paar Pixel, ...


    Das kann ich nicht bestätigen. Die Buttons werden zwar höher, aber das ist durch


    Code
    nav a:focus,
          nav a:hover {
             margin-top: 0;
             padding: 1em 0.4em 0.4em;
          }


    wohl gewollt. Ansonsten müsstest du das padding auskommentieren oder löschen.


    Es wäre auch sinnvoller wenn du gleich aktuelles HTML5 und CSS3 lernen und anwenden würdest. Dein Quelltext ist veraltet.


    Zudem sollten Elemente wie das li-Element immer geschlossen werden. Es wird zwar immer wieder mal behauptet, das offene Elemente problemlos funktionieren sollen, bloß die Praxis sieht anders aus.


    Gruss


    MrMurphy

    Hallo


    Zitat

    Ich verstehe gerade nicht, worüber du redest bzw. worauf du hinaus willst. Sry.


    Im Moment ist es etwas in Mode Selektoren wie :nth-child() schlecht zu machen.


    Da es dafür keine sachlichen Gründe gibt muss man sich halt nebulös ausdrücken.


    Sowas geschieht regelmäßig wenn in HTML / CSS Neuerungen eingeführt werden, die nicht von allen verstanden und angewandt werden können. Um die eigenen Unzulänglichkeiten zu verschleiern wird halt an den Neuerungen herumgenörgelt und Anderen madig gemacht.


    Unter anderem werden dazu eher weltfremde Szenarien als tägliche Vorkommnisse dargestellt und die Anwendung der Neuerungen falsch beschrieben.


    Webseitenersteller, die noch nicht so sattelfest sind fallen dann darauf herein und verbreiten schlimmstenfalls ohne Hintergrundwissen die Horrormeldungen weiter.


    Das geschieht aktuell halt mit den Selektoren. Die sind zwar nicht für jeden möglichen Einsatzzweck sinnvoll, aber solche sinnlosen Einsatzzwecke sind eher selten. Von daher solltest du dich nicht nervös machen lassen. Für deinen aktuellen Einsatzzweck sind Selektoren besser geeignet als IDs oder Klassen.


    Dass Selektoren die Zukunft gehört ist auch daran ersichtlich, dass mit CSS3 viele neue eingeführt wurden und schon viele zusätzliche in Planung sind.


    Selektoren gehören auch zu dem Konzept, Inhalt und Layout zu trennen. Ähnlich wie unnütze Container sollen auch IDs und Klassen möglichst selten verwendet werden. Viele gestandene Webseitenersteller haben aber Schwierigkeiten das neue Konzept umzusetzen und auf die geliebten ID- und Klassenansammlungen zu verzichten.


    Bitte nicht falsch verstehen: IDs und Klassen sind und bleiben ein Konzept von HTML und CSS. Sie sind auch nicht schlecht oder veraltet und haben ihre sinnvollen Einsatzzwecke. Allerdings gibt es viele Lösungen für die Selektoren besser geeignet sind.


    Gruss


    MrMurphy

    Hallo


    Zitat

    Ist halt einfach ein Article innerhalb des Main-Containers.


    Klar. Und das div-Element hast du vergessen?


    Das ist aber genau die Problemursache. Das div ist div:nth-child(1).


    Durch das div gibt es keinen article:nth-child(1). Der erste article ist article:nth-child(2).


    Die Anweisung ist von hinten zu lesen: Das CSS sucht bei article:nth-child(1) zunächst das 1. Kind und kontrolliert dann, ob es sich um ein article-Element handelt. Wenn nicht, werden die CSS-Anweisungen nicht ausgeführt.


    Wenn du den ersten article erwischen willst, egal wie viele Elemente sich davor befinden kannst du mal article:nth-of-type(1) ausprobieren.


    Gruss


    MrMurphy

    Hallo


    Da können wir nur raten. Zumal deine Beschreibung teilweise etwa mysteriös ist.


    1. Cache nicht geleert (bei den meisten Browsern mit Strg+F5)
    2. Das neue Bild ist nicht vorhanden
    3. Tipp- bzw. Rechtschreibfehler
    4. Pfad- und Dateiname falsch
    5. Pfadname passt nicht zum Pfad von der CSS zur Bilddatei


    Gruss


    MrMurphy

    Hallo


    Zitat

    Gibt es auch eine Möglichkeit, dass für alle Browser zu machen?


    Für die wichtigen - ja. Es gibt verschiedene Lösungen: display: table oder display: inline-block oder float oder display: flex


    Wobei ich display: flex (das Flexbox-Modell) bevorzuge.


    Dafür habe ich auch mal ein Beispiel erstellt:



    Gruss


    MrMurphy