Joomla! Forum Schweiz wird Teil der D-A-CH Community

Nach vielen Jahren als zentrale Anlaufstelle für Fragen rund um Joomla! in der Schweiz wird das Joomla! Forum Schweiz künftig als Archiv weitergeführt.

Die Joomla!-Communities aus Deutschland, Österreich und der Schweiz arbeiten heute enger denn je zusammen. Deshalb bündeln wir künftig auch den deutschsprachigen Support und Austausch an einem gemeinsamen Ort im Joomla! D-A-CH Forum.

Für neue Fragen, Diskussionen und den Austausch mit der Community nutzt bitte ab sofort:

forum.joomla.de

Das Joomla! Forum Schweiz bleibt weiterhin bestehen und wird als Archiv im Lesemodus erhalten. Die vielen Beiträge, Lösungen und Erfahrungen aus den vergangenen Jahren bleiben damit weiterhin zugänglich und über die Suche auffindbar.

Wir bedanken uns herzlich bei allen Mitgliedern, Moderatoren und Helfern, die das Schweizer Joomla! Forum über viele Jahre mit ihrem Wissen und ihrem Engagement geprägt haben.

Wir sehen uns im Joomla! D-A-CH Forum!

Template wird nicht zentriert

  • Imperitus
  • Autor
  • Neues Mitglied
  • Neues Mitglied
Mehr
10 Feb. 2011 09:19 #28398 von Imperitus
Template wird nicht zentriert wurde erstellt von Imperitus
Guten Tag

Versuche gerade mein Template zu positionieren. Habe valides html und css strict mit folgendem css-code:

* {
padding: 0;
margin: 0;
}
body {
font-family: tahoma, verdana, arial;
font-size: 0.9em;
background-color: #3399FF;
}
#Container {
width: 1000px;
height: 800px;
margin-left: auto;
margin-right: auto;
margin-top: 20px;
position: absolute;
}
Trotzdem bleibt der Container (body) am linken Rand kleben. Ich finde einfach den Fehler nicht, warum dieser nicht in die Bildschirmmitte geht, also zentriert wird.

Weiss hier jemand Rat?


Imperitus
Mehr
10 Feb. 2011 13:06 #28402 von brächi
brächi antwortete auf Re: Template wird nicht zentriert
Hallo Imperitus

Entferne position:absolute, dann sollte es gehen.

Liebe Grüsse
Stefan
  • Imperitus
  • Autor
  • Neues Mitglied
  • Neues Mitglied
Mehr
10 Feb. 2011 22:10 #28405 von Imperitus
Imperitus antwortete auf Re: Template wird nicht zentriert
Habs versucht, mit dem Effekt, dass die ganzen Blockelemente auseinadergerissen wurden. Ein Teil "flog" an den rechten Rand, der Rest blieb am linken Rand.

Gern würde ich die die ganzen Dateien hochladen, aber es wird kein Format das ich versuche akzeptiert. So kopiere ich es hier rein.

Das Html

<?php echo "<?xml version="1.0"?>"; ?>
<?php defined( '_JEXEC' ) or die; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" " www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd ">
<html xmlns=" www.w3.org/1999/xhtml " xml:lang="language; ?>" lang="language; ?>" dir="direction; ?>" >
<head>
<jdoc:include type="head" />
<link rel="stylesheet" href="templates/<?php echo $this->template?>/css/template.css" type="text/css" />
<style type="text/css">
a:link {text-decoration: none;}
a:active {text-decoration: none;}
a:visited {text-decoration: none;}
a:hover {text-decoration: none;}
ul {list-style-type: none;}
</style>
</head>
<body>
<div id="Container">
<div id="Kopfbereich">
<div>
<img id="Rapsfeld" src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template;?>/images/Mohn.jpg" alt="Rapsfeld mit blauem Himmel" title="Rapsfeld"/>
</div>
</div>
<div id="Navigation">
<jdoc:include type="modules" name="breadcrumb" />
</div>
<div id="Seitennavi">
<div id="menu">
<jdoc:include type="modules" name="user1" />
</div>
</div>
<div id="Hauptteil">
<div id="Textbereich">
<jdoc:include type="component" />
</div>
</div>
<div id="Showteil">
<div>
<img id="Hund" src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template;?>/images/Hund.jpg" alt="Hund" title="Hund"/>
</div>
</div>
<div id="Fussbereich">
<jdoc:include type="modules" name="user3" />
</div>
</div>
</body>
</html>

Das css

* {
padding: 0;
margin: 0;
}
body {
font-family: tahoma, verdana, arial;
font-size: 0.9em;
background-color: #3399FF;
}
#Container {
width: 1000px;
height: 800px;
margin-left: auto;
margin-right: auto;
margin-top: 20px;
position: absolute;
}
#Kopfbereich {
width: 100%;
height: 120px;
left: auto;
right: auto;
position: absolute;
}
#Rapsfeld {
width: 100%;
height: 120px;
left: 0px;
right: 0px;
position: absolute;
}
#Navigation {
width: 100%;
height: 20px;
left: auto;
right: auto;
top: 120px;
position: absolute;
}
#Seitennavi{
background-color: silver;
width: 20%;
height: 640px;
left: 0px;
right: auto;
top: 140px;
position: absolute;
}
#menu {
background-color: yellow;
width:90%;
height: 500px;
left: 10px;
right: auto;
top: 20px;
position: absolute;
}
#Hauptteil {
background-color: red;
width: 80%;
height: 420px;
left: auto;
right: 0px;
top: 140px;
position: absolute;
}
#Textbereich {
background-color: white;
height: 400px;
left: 20px;
right: 20px;
top: 10px;
position: absolute;
}
#Showteil {
background-color: yellow;
width: 80%;
height: 220px;
left: auto;
right: 0px;
top: 560px;
position: absolute;
}
#Hund {
width: 80%;
height: 200px;
left: 20%;
right: 20%;
top: 10px;
position: absolute;
}
#Fussbereich {
background-color: green;
width: 100%;
height: 20px;
left: auto;
right: auto;
top: 780px;
position: absolute;

}
/*Linkliste horizontal machen*/
#Fussbereich ul li {
display: inline;
}
/*Link Impressum*/
#item-487 {
margin-left: 20px;
}
/*Link AGB*/
#item-488 {
margin-left: 100px;
}


Wie gesagt, beide Dateien sind valides html und css.


Danke für die Mühe


Imperitus
Mehr
11 Feb. 2011 08:11 #28406 von brächi
brächi antwortete auf Re: Template wird nicht zentriert
Hallo Imperitus

Wie gesagt, es liegt an der absoluten Positionierung. Wenn du ein Element absolut positionierst, nimmst du es aus dem normalen Textfluss. Ein absolutes Element orientiert sich am Eltern-Element. Wenn du dem Elternelement #Container die absolute Positionierung entziehst, beziehen sich die absolute Positionierungen der Kindelemente an body, also an deinem Browserfenster.

Um dein Template fliessender zu gestalten, empfehle ich dir, dich mit float, margin und padding zu beschäftigen ;-)

Liebe Grüsse
Stefan
  • Imperitus
  • Autor
  • Neues Mitglied
  • Neues Mitglied
Mehr
11 Feb. 2011 11:57 #28407 von Imperitus
Imperitus antwortete auf Re: Template wird nicht zentriert
Grüss Gott Stefan

Inzwischen habe ich das ganze CSS auf float umgestellt und es klappt alles wunderbar. Für mich als Nichtprofi sind einzelne CSS-Zuweisungen schnell lernbar. Sobald es aber darum geht dessen Auswirkungen auf das Ganze zu beurteilen und sich für ein "System" zu entscheiden komme ich schnell an die Grenzen. Wann arbeitet man mit position "absolute" und "relative", wann nimmt man den z-index, wann float und schlussendlich, was kann man "gefahrlos" kombinieren und was nicht. Jedenfalls bin ich froh, dass ich hier hilfreiche Antworten erhalte ohne lesen zu müssen, "dass ich das Template schreiben lieber lassen soll, da ich davon doch zu wenig Ahnung hätte". Wer nicht das Geld für teuere Kurse und Bücher hat ist dankbar auf diesem Weg zu lernen und so vielleicht einmal auch zu den Profis zu gehören.

Also nochmals vielen herzlichen Dank


Imperitus
Mehr
11 Feb. 2011 13:16 #28409 von brächi
brächi antwortete auf Re: Template wird nicht zentriert
Hallo Imperitus

Die verschiedenen Positionierungen sind hier ganz gut beschrieben:
[url:13i87980] www.css4you.de/position.html [/url]
Und hier noch der z-index, welcher nur auf absolut positionierte Elemente anwendbar ist:
[url:13i87980] www.css4you.de/z-index.html [/url]
Bis jetzt kam ich ohne postion:absolute und z-index aus. Es führen ja bekanntlich viele Wege nach Rom.

Es lässt sich so ziemlich alles per Selbststudium erlernen, sofern der Wille da ist. Ich mach es nicht anders. ;-)

Liebe Grüsse
Stefan
Mehr
12 Feb. 2011 15:57 #28421 von brächi
brächi antwortete auf Re: Template wird nicht zentriert
Hallo Imperitus

Ich habe noch etwas zu korrigieren und zu ergänzen:

Und hier noch der z-index, welcher nur auf absolut positionierte Elemente anwendbar ist

Stimmt nicht! z-index ist auf position: absolute, relative und fixed anwendbar.

Dein Problem könnte auch anders, ohne das Entfernen aller absoluten Postionierungen, gelöst werden. Anstatt die absolute Position für den div#container zu löschen, könnte man diese auf relative wechseln. Die Kindelemente könnten die absolute Positionierung behalten. Die margin:auto Eigenschaft kannst du in Verbindung mit position:relative benutzen.

Liebe Grüsse
Stefan
  • Imperitus
  • Autor
  • Neues Mitglied
  • Neues Mitglied
Mehr
14 Feb. 2011 11:45 #28442 von Imperitus
Imperitus antwortete auf Re: Template wird nicht zentriert
Grüss Gott Stefan

Vielen Dank für die Ergänzungen!


Imperitus
Moderatoren: pascaleTribal6RePaoDragonlordChris Hoefligeradiheutschi.ch
Powered by Kunena Forum

Joomla! Verband Schweiz - Mitglied werden