Anfänger braucht Hilfe - Vertikal zentrieren
Wahrscheinlich ein lästiges Thema. Ich hab jedoch schon (nach Forumsuche) etwas probiert und nicht hinbekommen.
Ich baue gerade eine Seite um. Ich habe mich der Masse gefügt und will nun die alten Framesets und Tabellen über Board werfen. :happy: Dafür lerne ich gerade CSS. Nun bin ich auf mein erstes Problem gestoßen und bräuchte eure Hilfe. Folgendes: Jam - Studio Veranstaltungstechnik Flensburg | Head (Es handelt sich hier lediglich um eine Testseite. Die Container sollen natürlich später keine Rahmen haben). Nun soll der Inhalt des zweiten (verschachtelten) Containers (oben rechts) horizontal und vertikal zentriert werden. Vorher habe ich die Seite mit Frames und Tabellen aufgebaut: siehe hier: Jam - Studio | Veranstaltungstechnik und Tonstudio Flensburg | Norddeutschland | Schleswig-Holstein ---------------------------------------------------------------------------------------------------------------------------------------- Hier erstmal der Quellcode (abgespeckt). Es gibt zudem noch eine ausgelagerte CSS-Seite. Ist für meine Frage aber wahrscheinlich uninteressant, da bisher nur die Schrift "Visitenkarte" damit formatiert wurde (nur Schrift, Größe und Schriftfarbe): HTML-Code:
<link rel="stylesheet" type="text/css" href="../Style.css" /> Folgendes habe ich schon versucht: 1. HTML-Code:
#container_visit 2. HTML-Code:
<img src="graphics/vc.jpg"... align="middle" /> 3. HTML-Code:
...padding-top:15px; Mit Tabellen konnte ich das Problem beheben, indem ich die Grafiken (rechts) und die Schrift ("Visitenkarte" links) in unterschiedliche Tabellen gesetzt und diese zentriert habe. Wie kann ich das ganze am besten in CSS umsetzen (ohne das der Quellcode verschachtelter und größer wird, als mit den Tabellen), denn gerade diese Vorteil verspreche ich mir von CSS? Danke schonmal für eure Hilfe! |
#container_visit relativ und die Bilder absolut positionieren
|
hab folgendes versucht:
HTML-Code:
#container_visit HTML-Code:
img HTML-Code:
#container_visit |
alles was du für img benötigst ist folgendes:
img { position: absolute; top: 10px; (nur ein Beispielwert) } Du musst wohl mit Klassen arbeiten und den Bildern noch die Eigenschaft "left:" geben sodass jedes Bild den passenden Abstand hat. Wenn du ein Element absolut positioniert, positioniert es sich im Verhältnis zum umliegenden relativ positionieren Element und beginnt direkt oben links, d.h. bei 0 0. img1 { left: 10px; } img2 { left: 30px; } img3 { left: 50px; } |
super!!! Vielen Dank. Das hat schonmal wie folgt funktioniert:
HTML-Code:
img HTML-Code:
.img1 /*Bsp.: für Bild1*/ HTML-Code:
<img src="graphics/vc.jpg" border="0" width="40" name="Image1" class="img1"/> Den Text hab ich in gleicher Weise formatiert: HTML-Code:
span Dank dir für deine Hilfe! :thumbsup: |
Du brauchst dafür keine abs. Positionierung.
Auch brauch #container_visit keine Breite - da bei float shrink-to-fit gilt. Allgemein solltest Du deinen Code erst einmal auf Fehler überprüfen. Deine img-Tags sind nicht abschließend und du verwendet uA border="0". Code:
<img /> HTML-Code:
<dl id="container_visit"> Code:
#container_visit, #container_visit dt, #container_visit dd { Des weiteren sollten Bilder immer einen alternativ Text erhalten, falls die Grafik mal nicht angezeigt werden kann. Code:
a img { |
Super, dass du mir beim optimieren hilfst (obwohl das Prob. "eigentlich" gelöst war)!
1. HTML-Code:
a img { 2. Der img - Tag ist eigentlich geschlossen?... d.h. <img ... />! Vielleicht hab ich was übersehen. 3. Da ich ja gerade mit CSS anfange, waren mir Definitionslisten noch nicht bekannt. Danke für den guten Tipp, den mein 1. Ziel ist ja Quelltext zu sparen. Ich werde das gleich mal ausprobieren und mich in das Thema einlesen. Danke dir :D |
Zitat:
Überleg mal, was für einen Aufwand Du gehabt hättest, wenn der Text auf mal kürzer wird? Also dir "Visitenkarte" nicht mehr zusagt und Du da lieber "vCard" stehen haben willst? Was ist, wenn noch eine weitere vCard hinzukommt oder gar eine verschwindet? ;) Du müsstest in der CSS immer alles nachregeln (wegen der abs. pos.). Zitat:
Zitat:
Hier wäre eine Elementenliste. Einige davon sollte man aber nicht nutzen, hier findest Du den Grund. |
Zitat:
Zitat:
Noch eine letzte Frage: wohin mit dem Abstand der Bilder (left: ) der ja bei jedem Bild unterschiedlich ist? Aktuelle Code: Code:
#container_visit Code:
<dl id="container_visit"> also: HTML-Code:
.imgV1 |
Zitat:
Zitat:
Kopiere meinen Code mal in eine eigenständige HTML Datei und teste es aus. Die dd-Elemente sind so groß, wie Ihr Inhalt und legen sich durch float nebeneinander. Damit es nicht so gequetscht ausschaut, habe ich in meinem Beispiel noch einen right/left Innenabstand von 3px hinzugefügt. |
Ok.
1. Probiert! :arrowr: Funktioniert! :check: 2. Genau gelesen :coffee:! :arrowr: und verstanden (warum es funktioniert)! Danke Dir für Deine gute Hilfe. (:thumbsup:) |
Alle Zeitangaben in WEZ +2. Es ist jetzt 04:19 Uhr. |
Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
© Dirk H. 2003 - 2023