HTML Wie Designvorgabe mit DIVs umsetzen?

Blackbenji

Lieutenant
Registriert
Nov. 2009
Beiträge
557
Hallo,

für einen Familienfreund möchte ich folgendes Umsetzen (siehe Screenshot).
Das ganze soll natürlich "modern" mit Divs und CSS umgesetzt werden.

Nach Möglichkeit soll das Design auf allen Geräten verfügbar sein, dennoch schlicht, einfach und schnell laden.
Weiterhin soll die Seite bei größeren Auflösungen zentriert sein. Die Breite des Bildes ist dabei der Zentrale Punkt.

Folgendes habe ich bereits umsetzten können:

HTML:
<!DOCTYPE HTML>
<html>
<head><title>Test</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<div id="container">
    <div id="header">
        <h1><img src="header.jpg" alt="" /></h1>
    </div>
    <ul id="navigation">
        <li><a href="#">Link 1</a></li>
        <li><a href="#">Link 2</a></li>
        <li><a href="#">Link 3</a></li>
        <li><a href="#">Link 4</a></li>
        <li><a href="#">Link 5</a></li>
    </ul>
    <div id="content">
        <h2>Page Content</h2>
        <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer pulvinar eros eu diam. Quisque ut orci ut nunc lobortis aliquam. Praesent metus. Pellentesque luctus. Suspendisse nisl.</p>
        <p>Morbi convallis lectus a elit. Morbi augue. Aenean quis ipsum non dui interdum egestas. Suspendisse quis turpis. Suspendisse et sem in neque dictum hendrerit. Nulla pede.</p>
        <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer pulvinar eros eu diam. Quisque ut orci ut nunc lobortis aliquam. Praesent metus. Pellentesque luctus. Suspendisse nisl.</p>
        <p>Morbi convallis lectus a elit. Morbi augue. Aenean quis ipsum non dui interdum egestas. Suspendisse quis turpis. Suspendisse et sem in neque dictum hendrerit. Nulla pede.</p>
    </div>
    <div id="footer">
        <p>FOOTER</p>
    </div>
</div>
</body>
</html>

HTML:
* {
    padding: 0;
    margin: 0;
}
body {
    font-size: 100%;
    font-family: arial, verdana, helvetica, sans-serif;
    background-color: #CCC;
}
h1 {
    font-size: 1.6em;
}
h2 {
    font-size: 1.4em;
}
a, a:link {
    color: #CCC;
}
a:hover {
    color: #FFF
}
img {
    max-width: 100%;
    height: auto;
}


#container {
    padding: 20px;
    font-size: 0.8em;
}

#content p {
    margin-bottom: 10px;
}

#header {
    margin-left: auto;
    margin-right: auto;
    width: auto;
    padding: 5px 0 5px 0;
    margin-bottom: 20px;
}

#header img {
    text-align: center;
    box-shadow: 3px 3px 4px #000;
}

#navigation {
    float: left;
    width: 180px;
    padding: 10px;
    text-align: center;
    list-style: none;
}
#navigation a {
    color: #000;
}

#content {
    margin-left: 212px;
    border: solid 1px #000;
    padding: 10px;
    background-color: #FFF;
}
#footer {
    background-color: #66C;
    padding: 10px;
    border: 1px solid #000;
    margin-top: 20px;
    text-align: center;
}

WAS NICHT GEHT:
ich bekomme den Container leider nicht zentriert, wobei die Breite so breit sein soll, wie das Bild.
Das Bild skaliert wunderbar mit der Browserbreite.

Hat jemand einen Ansatz für mich?
 

Anhänge

  • design.jpg
    design.jpg
    247,3 KB · Aufrufe: 431
Füge mal beim wrapper in der CSS folgendes noch hinein:


PHP:
width:xxxpx;
margin-left: auto;
margin-right: auto;

dann sollte es klappen!
 
Recht einfach :)

<header>
<div id="header"></div>
</header>

<nav>
<div id="menu"></div>
</nav>

<div id="wraper">
<div id="katego"></div>
<div id="content"></div>
</div>
<br style="clear:both;">
<footer>
<div id="footer">
</footer>

Katego = float left
content = float right

Edit:

Zu früh geschrieben ;)

alternativ zum Vorschlag von vir0 gehr auch:

margin: 0 auto;
 
Denk dran, dass du für Mobilgeräte, mit ihren kleinen Displays, zusätzliche CSS-Deklarationen benötigst. Du wirst im Zweifel nicht drum herum kommen, mit CSS Mediaqueries zu arbeiten.

Wenn Display breiter als 1231 -> wrapper ist 1231 breit & zentriert
Wenn Display schmaler als 1231 -> wrapper ist 100% breit, Zentrierung nicht möglich
Wenn Display viel schmaler als 1231 -> Kopfbild austauschen oder skalieren
Wenn Display wirklich schmal -> Navigation komplett überdenken, horizontale Suckerfish-Navi geht dann nicht

Allgemein:
- Suckerfish-Navi mit :hover ist auf Touch-Geräten zwar grundsätzlich funktionsfähig, kann aber etwas buggen. Da gibts bessere Lösungen.
- wenn du eh HTML5 als DOCTYPE nutzt, dann hüll deine Navi in ein <nav>, dein Header ist ein <header> und dein Footer ein <footer>. Immer schön semantisch bleiben.
 
Daaron schrieb:
Denk dran, dass du für Mobilgeräte, mit ihren kleinen Displays, zusätzliche CSS-Deklarationen benötigst. Du wirst im Zweifel nicht drum herum kommen, mit CSS Mediaqueries zu arbeiten.

Das ist richtig, wenn Du es dann wirklich "flexibel" halten möchtest. Ist etwas mehr Codieraufwand, bringt aber auch das entsprechende Verhalten.
Beispiel: Mediaqueries

Die Umsetzung kannst Du dann hier testen: Responsive.is

Ansonsten:
Sieht es auf den mobilen Geräten (non-desktop), wie auf dem Bildschirm aus und musst hineinzoomen.

Aber ich kann Dir es empfehlen dieses mit den Mediaqueries umzusetzen. Macht schlussendlich wirklich einen positiven und professionellen Eindruck.
 
sgraphic schrieb:
Die Umsetzung kannst Du dann hier testen: Responsive.is
Das geht auch einfacher:

Chrome -> Entwicklertools (F12) -> Zahnrad ganz unten rechts in der Ecke (könnte man echt besser positionieren)
Willkommen in der Welt der vorgetäuschten Browser. Das Ding kann sogar Touch/Swipe mit der Maus emulieren.
 
Klar..geht es auch so. Ist aber etwas umständlich, oder?

Du musst ja pro Mediaquery dann die Einstellung im Chrome vornehmen (abspeichern kannst Du Sie ja nicht).
Das würde ja bedeuten, dass ich pro responsive Design wieder alles umstellen muss..also das hin und her switchen ist etwas..ähmm...mühsam.

Natürlich ist Dein Tip ideal, wenn Du wirklich nur auf ein responsive Design testest.

Aber..hey..wir wollen ja unseren "Fragenden" nicht überfordern ;) denn immerhin wollte er nur das "Zentrieren" lernen :freak:
 
wenn ich mein width=1231px setze, ist das layout0 zentriert, aber jetzt passen sich dvis und das img nicht mehr der browsergröße an.
gibt es eine alternative ohne jetzt noch etwas zusätzliches zu lernen/ einzubauen?

bei der seite soll nichts professionelles gemacht werden, es ist nur ein privater auftritt.
 
mediaqueries sind nicht schwer, man muss eben nur etwas flüssig denken
 
Zurück
Oben