Beiträge von MrMurphy

    Hallo

    Zitat

    wie positioniere ich z.b. einen Text an eine bestimmte Stelle im outer wrapper

    Gar nicht. Heutzutage sollen sich die Elemente den unterschiedlichen Endgeräten und damit den Bildschirmbreiten anpassen. Bestimmte Positionierungen sollten deshalb vermieden werden.

    Gruss

    MrMurphy

    Hallo Jochen

    Bist du sicher dass das Button-Element überhaupt richtig ist? Deine Beschreibung hört sich eher nach dem a-Element für die Links an.

    Für 10 Bilder in einer Reihe erscheint mir die bisherige Breite des wrapper arg knapp bemessen.

    Gruss

    MrMurphy

    Hallo

    Zitat

    Bekommt jeder seine eigenen Css Anweisungen?

    Ja klar, da du unbedingt

    Zitat

    Die möchte ich über position:absolute positionieren.

    haben willst.

    position: absolute ist halt zum Anordnen von Elementen so ziemlich das unsinnigste Verfahren. Aktuell am sinnvollsten ist Flexbox.

    Gruss

    MrMurphy

    Hallo

    Zitat

    Was mach ich nur falsch?

    Leider sehr viel. Die Erklärung zu allen Problemen würde ein ganzes Buch füllen. Deshalb nur ein paar Beispiele.

    Zunächst hat

    Zitat

    Sticky-Footer am unteren Rand

    nichts mit

    Zitat

    Der #header sollte immer oben stehen. Der #fussbereich sollte permanent unten angeheftet sein, wobei der #inhalt wegen variierenden Datenmengen scrollbar sein.

    zu tun. Das sind zwei unterschiedliche Techniken, die aber beide heutzutage nicht mehr verwendet werden sollten und brauchen.

    Der Sticky-Footer ist bei Webseiten mit Inhalt meist schlicht überflüssig, da der Inhalt in der Regel mehr als eine Bildschirmseite füllt.

    Die angehefteten und stets sichtbaren header und footer nehmen unnötig Platz weg und stören deshalb bei der Darstellung auf kleinen Bildschirmen. Zudem sollte in das normale Scrollverhalten von Browsern nicht eingegriffen werden.

    HTML
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">

    XHTML wurde bereits 2008 offiziell begraben und sollte seitdem nicht mehr verwendet werden, auch wenn die Browser es noch unterstützen. Neue Webseiten sollten mit HTML5 erstellt werden.

    Code
    body { font-family: Verdana, sans-serif, Arial} {font-size: 14px }

    Die Klammern sind falsch gesetzt, hier darf nur ein Klammerpaar stehen.

    Code
    <!-- a { padding: 3px; } a:focus { background-color: yellow; color: black;} -->

    Im CSS darf nicht mit HTML-Mitteln auskommentiert werden.

    Zitat

    text-decoration: blink

    Mal abgesehen davon, dass grundsätzlich auf blinkende Elemente verzichtet werden sollte, muss und wird blink nicht von allen Browsern unterstützt. Siehe zum Beispiel

    https://wiki.selfhtml.org/wiki/CSS/Eigen…text-decoration

    Code
    <body bgcolor="grey" oncontextmenu="return false">

    Attribute wie bgcolor oder align sind bereits seit der Einführung von CSS2 im Jahr 2000 veraltet und sollten bereits seitdem nicht mehr vewendet werden.

    Gleiches gilt für überflüssige JavaScript-Befehle.

    Code
    <div id="seite">

    Den ganzen Inhalt umschließende Container waren immer schon überflüssig, deshalb weglassen.

    Code
    <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber3" height="38">

    Das table-Element darf nicht zum Layouten mißbraucht werden. Zumal Tabellen verschiedene Verhaltensweisen aufweisen, die für andere Inhalte unerwünscht sind.

    Code
    height="19"

    Die Höhe von Elementen wird von deren Inhalt bestimmt. Die meisten height-Angaben sind deshalb überflüssig und sollten so weit wie möglich vermieden werden.

    Code
    <font ...

    Das font-Element ist veraltet und sollte nicht mehr verwendet werden.

    Code
    <center>

    Gleiches gilt für das center-Element. Und natürlich alle anderen veralteten Elemente.

    Code
    <p>Inhalt1</p>

    Auch zum Üben sollte sinnvoller Inhalt verwendet werden, da sich Webseiten mit Inhalt meist anders verhalten als mit solchen künstlichen Inhalten.

    Bei deinen Farbkombinationen ist der Text kaum noch lesbar.

    Code
    background-image: url(bg-04.jpg)

    Gleiches gilt für Bilder hinter Text.

    Code
    opacity: 0.5;

    Durch opacity werden auch alle Kindelemente, zum Beispiel der Text, transparent und deutlich schlechter lesbar.

    Deine Webseite ist weder flexibel noch responsive. Das wird von heutigen Webseiten aber erwartet.

    Der HTML-Quelltext könnte mit aktuellem HTML zum Beispiel folgendermaßen aussehen: Wobei ich als Testtext Texte aus Wikipedia verwende, da er sich ähnlich wie der spätere Inhalt verhält:

    Der Rest dann mit aktuellem CSS.

    Gruss

    MrMurphy

    Hallo

    Bei Breitenangaben in Prozent wird der rechte Scrollbalken nicht berücksichtigt. Die Breite ist bei 100 Prozent die sichtbare Fläche ohne den Scrollbalken.

    Du verwendest für die Breite die Einheit vw.

    Bei der Einheit vw wird hingegen die gesamte Fensterbreite berücksichtigt, also auch der Bereich hinter dem rechten Scrollbalken. Damit dieser Bereich hinter dem Scrollbalken bei 100vw sichtbar werden erscheint zusätzlich der untere Scrollbalken.

    Das grundsätzliche Problem dabei ist, das die Breite des Scrollbalkens nicht vorgegeben ist. Die ist also von Browser zu Browser unterschiedlich. Zumal der Scrollbalken in der Regel bei wenig Inhalt noch ausgeblendet wird. Mit der Einheit vw kann also nicht zuverlässig die gesamte Fensterbreite gefüllt werden. Für seitenbreitenfüllende Webseiten ist also Prozent sinnvoller.

    Gruss

    MrMurphy

    Hallo

    Der Link funktioniert nicht.

    Deshalb mal ins blaue ein Hinweis auf einen typischen Anfängerfehler:

    Die Breite von Elementen besteht aus

    margin-left
    border-left
    padding-left
    width
    padding-right
    border-right
    margin-right

    Wenn du der Breite (width) 100vw gibst bleibt für weitere Breitenangaben kein Platz mehr.

    Du musst in die Gesamtbreite alle genannten Werte einrechnen.

    Alternativ können mit dem Border-Box-Modell padding und border automatisch von der Breite abgezogen werden. margin muss aber auch in diesem Fall der Breite zugerechnet werden.

    Um einem Element das Border-Box-Modell zuzuweisen benötigt es im CSS die Anweisung

    Code
    box-sizing: border-box;

    Allerdings funktioniert das Border-Box-Modell nicht in allen Konstellationen und Browsern problemlos. Selbst in Browsern, die (angeblich) das Border-Box-Modell umsetzen können, kann es in Einzelfällen Probleme geben. Darüber finden sich im Web aber kaum Informationen. Deshalb muss man es immer selbst in den üblichen Browsern mit seiner Website testen.

    Von daher ist es mit Vorsicht zu verwenden.

    Gruss

    MrMurphy

    Hallo

    Ich würde das ganze mit Flexbox machen und dadurch zusätzlich das HTML und CSS weiter vereinfachen.

    Zu diesem HTML

    Code
    <nav>
          <a href="index.html">Home</a>
          <a href="beratungsumfang.html">Beratungsumfang</a>
          <a href="ablauf.html">Prozesse</a>
          <a href="impressum.html">Impressum</a>
       </nav>

    zum Beispiel dieses CSS

    Das CSS kann später auch problemlos zu einem Responsive Layout erweitert werden.

    Gruss

    MrMurphy

    Hallo

    Zitat

    Ich möchte jetzt allerdings gerne einen Start-Content festlegen. Sprich Content, der angezeigt wird, noch bevor ich einen Menü-Eintrag anwähle - also eine Startseite quasi.

    Dafür kannst du das Attribut checked verwenden.

    Hast du bei deinem Problem auch an die Nutzer von Touchscreens gedacht, die bekanntlich keinen hover-Effekt kennen? Oder sollen die deine Seite nur eingeschränkt nutzen können?

    Gruss

    MrMurphy

    Hallo

    Auch mit dem HTML und CSS funktionieren die CSS-Anweisungen.

    Allerdings scheint es noch weitere CSS-Dateien zu geben, die du weiterhin verheimlichst.

    Wie sollen wir dir helfen wenn du uns die entscheidenden Informationen vorenthälst? Es macht keinen Spaß immer weiter nachfragen zu müssen.

    Deshalb wäre ein Link zu der Seite sinnvoller.

    Gruss

    MrMurphy

    Hallo

    Ich gehe mal davon aus, dass im Original auch das parent-div geschlossen wird.

    Zitat

    Das Parent DIV hat keine Hintergrundfarbe mehr

    Doch, du siehst sie nur nicht.

    Durch float wird das gefloatete Element #child aus dem Dokumentenfluss gehoben und gibt seinen Platz frei. Dadurch hat #parent keinen Inhalt mehr und seine Höhe schrumpft auf Null.

    Um solche Probleme zu vermeiden solltest du dich genauer mit dem Floaten beschäftigen, speziell mit dem Clearen. Merksatz: Kein float ohne clear.

    Siehe zum Beispiel

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

    und

    http://www.thestyleworks.de/basics/float-rule.shtml

    Zitat

    Fügt man beim parent DIV "margin-bottom: 100px" ein, verschiebt es das Child DIV nach unten.

    Das liegt an den sogenannten Collapsing Margins. Siehe zum Beispiel

    http://www.thestyleworks.de/basics/margins.shtml

    Mit dem Suchbegriff Collapsing Margins sollte die Suchmaschine deiner Wahl noch viele zusätzliche Erklärungen finden.

    Du kannst #parent ja mal spaßeshalber ein border-bottom von 1px solid black mit auf den Weg geben und schauen, wie sich die margin-bottom dann verhalten.

    Das sind alles vorgeschriebene Regeln. Statt float sollte für das Layout heutzutage sinnvoller Flexbox verwendet werden.

    Gruss

    MrMurphy

    Hallo

    Dann trägst du die Angaben am besten für den body ein.

    Die Abstände (margin) des body musst du auf 0 setzen.

    Gleichzeitig musst du die Wiederholung des background-images (background-repeat) ausschalten und die Höhe (background-size) bestimmen. Also zum Beispiel

    Das auto bei background-size steht für die Breite, da die Höhe immer über den zweiten Wert bestimmt wird.

    Gruss

    MrMurphy