Hallo,
ich befasse mich nun schon seit gut einer Woche mit CSS (mehr oder weniger intensiv), um genauer zu sein, mit dem Thema DIV's.
Nun war ein älterer Beitrag schon eine riesige Hilfe, aber zu dem endgültigen Ergebnis wie ich es gerne hätte bin ich noch nicht gelangt.
Die kurze Hintergrundgeschichte:
Ich betreibe seit 2006 einen kleinen Onlineshop mit Motorradersatzteilen und habe die Seite komplett selbst Programmiert. Nur das Frame- und Farbgrundgerüst stammt aus einer Vorlage.
Nun habe ich mich dazu entschlossen auf ein durch CSS "kontrolliertes" Design umzusteigen.
Die Gründe hierfür:
- die "veraltete" Frame-Struktur will ich hinter mir lassen
- wenn die Seite durch Google übersetzt wird, dann gibt es mit Verlinkungen Probleme, die 2 Frames gleichzeitig ändern.
Das Grundgerüst des 2 zweispaltigen Layouts mit einer Kopfzeile funktioniert erst einmal so wie gewollt.
Durch den Wrapper ist eine Mindestbreite von 800px gegeben und soll die komplette Fensterbreite nutzen.
Das scrollen in der Kopfzeile in der Ebene funktioniert und das Ausblenden der Scrollbar in der vertikalen funzt auch (Tip hier gefunden, irgendwo).
Jetzt kommt aber der etwas schwierigere Teil bei dem ich so meine Probleme habe. Es geht um das 2 Spalten Design (2 unterschiedliche Hintergrundfarben).
Die Navigationsleiste (links)
- wird in der kompletten Größe dargestellt, also der Inhalt bestimmt die Größe des DIV's, d.h. die komplette Seite muss gescrollt werden und nicht der DIV-Container.
Das ist richtig so und damit bin ich zufrieden.
Der Inhaltsbereich (Mitte)
Der Inhalt dieses DIV-Containers soll mittig im verbliebenen Rest der Fensterbreite angezeigt werden.
Dank des float left in der Navigation funktioniert das auch.
Soweit so gut, aber da gibt es nun Probleme.
1. Wenn nun aber wenig Text da ist, dann wird der DIV-Container kleiner und der X-Scrollbalken rutscht hoch. Dieser soll aber auf der selben Position sein, wie der x-Scrollbalken der Navi-Leiste.
2. Wenn der Text so lang ist, dass der Navi-DIV-Container kürzer ist als der Inhalts-DIV-Container, dann gibt einen unschönen sich hervorhebenden farbigen Kasten.
Somit ist die Frage an sich:
Wie bekomme ich es hin, dass der Inhalts-DIV-Container immer genau so groß ist, wie der Navi-Div-Container????
Eine feste Höhenangabe in px ist KEINE Anternative.
Hier nun die Quelltexte (mit dem worauf es ankommt):
Und hier die CSS Deklarationen
Hier kann man sich den derzeitigen Entwicklungsstand ansehen:
http://www.tw-parts.com/index_div.php
Und hier geht's direkt zur kompletten CSS-Datei:
http://www.tw-parts.com/design.css
Ich danke euch bereits im Voraus für eure Hilfe.
Beste Grüße aus dem (im Moment) leicht verschneiten Sachsen,
macbig2k1
PS: Gibt es die Möglichkeit, dass bei dem Click auf einen Link in der Navigation, dass dann nur der DIV-Container mit dem Inhalt neu geladen wird und nicht die komplette Seite?
Also im Prinzip so, wie es beim Frame Design ist.
ich befasse mich nun schon seit gut einer Woche mit CSS (mehr oder weniger intensiv), um genauer zu sein, mit dem Thema DIV's.
Nun war ein älterer Beitrag schon eine riesige Hilfe, aber zu dem endgültigen Ergebnis wie ich es gerne hätte bin ich noch nicht gelangt.
Die kurze Hintergrundgeschichte:
Ich betreibe seit 2006 einen kleinen Onlineshop mit Motorradersatzteilen und habe die Seite komplett selbst Programmiert. Nur das Frame- und Farbgrundgerüst stammt aus einer Vorlage.
Nun habe ich mich dazu entschlossen auf ein durch CSS "kontrolliertes" Design umzusteigen.
Die Gründe hierfür:
- die "veraltete" Frame-Struktur will ich hinter mir lassen
- wenn die Seite durch Google übersetzt wird, dann gibt es mit Verlinkungen Probleme, die 2 Frames gleichzeitig ändern.
Code:
<script type="text/javascript" language="JavaScript">
<!--
function FrameAendern (URI, Framename) {
parent[Framename].location.href = URI;
}
//-->
</script>
Das Grundgerüst des 2 zweispaltigen Layouts mit einer Kopfzeile funktioniert erst einmal so wie gewollt.
Durch den Wrapper ist eine Mindestbreite von 800px gegeben und soll die komplette Fensterbreite nutzen.
Das scrollen in der Kopfzeile in der Ebene funktioniert und das Ausblenden der Scrollbar in der vertikalen funzt auch (Tip hier gefunden, irgendwo).
Jetzt kommt aber der etwas schwierigere Teil bei dem ich so meine Probleme habe. Es geht um das 2 Spalten Design (2 unterschiedliche Hintergrundfarben).
Die Navigationsleiste (links)
- wird in der kompletten Größe dargestellt, also der Inhalt bestimmt die Größe des DIV's, d.h. die komplette Seite muss gescrollt werden und nicht der DIV-Container.
Das ist richtig so und damit bin ich zufrieden.
Der Inhaltsbereich (Mitte)
Der Inhalt dieses DIV-Containers soll mittig im verbliebenen Rest der Fensterbreite angezeigt werden.
Dank des float left in der Navigation funktioniert das auch.
Soweit so gut, aber da gibt es nun Probleme.
1. Wenn nun aber wenig Text da ist, dann wird der DIV-Container kleiner und der X-Scrollbalken rutscht hoch. Dieser soll aber auf der selben Position sein, wie der x-Scrollbalken der Navi-Leiste.
2. Wenn der Text so lang ist, dass der Navi-DIV-Container kürzer ist als der Inhalts-DIV-Container, dann gibt einen unschönen sich hervorhebenden farbigen Kasten.
Somit ist die Frage an sich:
Wie bekomme ich es hin, dass der Inhalts-DIV-Container immer genau so groß ist, wie der Navi-Div-Container????
Eine feste Höhenangabe in px ist KEINE Anternative.
Hier nun die Quelltexte (mit dem worauf es ankommt):
PHP:
<!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">
<head>
<title>tw-parts.com - Der Online-Shop mit Tuning-, Zubehör- und Ersatzteilen für die Yamaha TW125, 200 und 225</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<link rel="stylesheet" type="text/css" href="design.css" />
</head>
<body style="width:100%; height:100%">
<!--Wrapper Beginn-->
<div id="wrapper">
<!--BilderOben Beginn-->
<div id="BilderOben">
BILDER
</div>
<!--BilderOben Ende-->
<!--Navigation Beginn-->
<div id="Navigation">
<?php
require("menu_div.php");
?>
</div>
<!--Navigation Ende-->
<div id="Inhalt">
<?php
switch ($inhalt)
{
case "news":
require("news_div.php");
break;
case "artikel":
require("artikel_div.php");
break;
default:
case "home":
require("home_div.php");
}
?>
</div>
<!--Wrapper Ende-->
</body>
</html>
Und hier die CSS Deklarationen
Code:
body {
background-color: #FFFFFF;
scrollbar-face-color: #A0410D;
scrollbar-shadow-color: #000000;
scrollbar-highlight-color: #000000;
scrollbar-3dlight-color: #A0410D;
scrollbar-darkshadow-color: #A0410D;
scrollbar-track-color: #ffffff;
scrollbar-arrow-color: #000000
}
div#wrapper{
width: 100%;
height: 100%;
min-width: 800px;
margin: 0;
text-align: left;
}
div#BilderOben {
height: 106px;
overflow: scroll;
overflow-y: hidden;
background-color: #A0410D;
scrollbar-base-color: #A0410D;
scrollbar-face-color: #A0410D;
scrollbar-shadow-color: #000000;
scrollbar-highlight-color: #000000;
scrollbar-3dlight-color: #A0410D;
scrollbar-darkshadow-color: #A0410D;
scrollbar-track-color: #ffffff;
scrollbar-arrow-color: #000000;
}
div#Navigation {
width:186px;
height:100%;
overflow: scroll;
overflow-y: hidden;
float: left;
background-color: #A0410D;
scrollbar-base-color: #A0410D;
scrollbar-face-color: #A0410D;
scrollbar-shadow-color: #000000;
scrollbar-highlight-color: #000000;
scrollbar-3dlight-color: #A0410D;
scrollbar-darkshadow-color: #A0410D;
scrollbar-track-color: #ffffff;
scrollbar-arrow-color: #000000;
}
div#Inhalt {
height:100%;
overflow: scroll;
background-color: #FFFFFF;
scrollbar-base-color: #A0410D;
scrollbar-face-color: #A0410D;
scrollbar-shadow-color: #000000;
scrollbar-highlight-color: #000000;
scrollbar-3dlight-color: #A0410D;
scrollbar-darkshadow-color: #A0410D;
scrollbar-track-color: #ffffff;
scrollbar-arrow-color: #000000;
}
Hier kann man sich den derzeitigen Entwicklungsstand ansehen:
http://www.tw-parts.com/index_div.php
Und hier geht's direkt zur kompletten CSS-Datei:
http://www.tw-parts.com/design.css
Ich danke euch bereits im Voraus für eure Hilfe.
Beste Grüße aus dem (im Moment) leicht verschneiten Sachsen,
macbig2k1
PS: Gibt es die Möglichkeit, dass bei dem Click auf einen Link in der Navigation, dass dann nur der DIV-Container mit dem Inhalt neu geladen wird und nicht die komplette Seite?
Also im Prinzip so, wie es beim Frame Design ist.