ich möchte im html möglichst wenig vom Design haben [...]
So ist es ja auch gedacht. Markup: Struktur und Semantik; CSS: Präsentation, Styling.
|
Quellcode
|
1
|
<div class="ueberschrift">Das ist die Überschrift</div>
|
ouch
Junge, `<hX>` ist das Stichwort!
Mal davon ab, dass diese fadenden Linien ziemlich hässlich sind, brauchst du mindestens ein Wrapper-Element:
|
Quellcode
|
1
|
<div id="header"><h1>ACME Inc.</h1></div>
|
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
|
#header {
background: url("fade-horizontal-alpha.png') repeat-y;
padding: 2px 0;
}
h1 {
background: #666666 url('logo.png') right 10px no-repeat;
display: block;
height: 80px;
line-height: 80px;
margin: 0 10px 0 0;
padding: 0 200px 0 0;
}
|
Idee dahinter:
Der äußere Container erhält keine Hintergrundfarbe, aber ein vertikal wiederholtes Hintergrundbild mit einem Farbverlauf von Transparent zu Schwarz und muss ausreichend breit sein. Dadurch musst du die Hintergrundfarbe der Seite nicht in der Grafik widerspiegeln. Alternativ kannst du auch eine z.B. 100px breite Grafik mit einem Farbverlauf von Weiß zu Transparent benutzen und explizit die Hintergrundfarbe des Headers auf Schwarz setzen. In beiden Fällen reicht eine Höhe von einem Pixel aus, im zweiten Fall kannst du die Farbpalette auf 256 Farben reduzieren um die Datei zu verkleinern (im ersten wird dagegen für die Alphatranparenz IIRC 24-Bit Farbtiefe vorausgesetzt).
Die Überschrift bildet den inneren Container und überdeckt den äußeren bis auf den Rand oben und unten (s. Padding des Headers) mit seiner Hintergrundfarbe. Das Logo wird rechtsbündig mit ein paar Pixeln Abstand nach oben positioniert, durch das Margin rechts wird es vom rechten Rand auf Abstand gehalten (`background-position:` kann zwar - auch negative - Pixelangaben, jedoch nur linksbündig; wir benötigen es aber rechtsbündig), durch das Padding bricht der Text um und überdeckt das Logo nicht (Wert entsprechend an die Breite des Logos anpassen). Die Höhe der Überschrift richtet sich nach der des Logos plus vertikales Padding, der Text selbst sollte auf der vollen Höhe vertikal zentriert werden. Bei einer mehrzeiligen Überschrift müsste man sich evtl. noch was anderes überlegen, für eine feste, kurze Überschrift sollte es so aber reichen. `display: block;` kann möglicherweise entfallen, hier nur sicherheitshalber.