• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Typisches Anfänger Problem - DIV und XHTML

rider

Neues Mitglied
Hallo,
ich habe ein typisches Anfängerproblem:
Ich möchte, dass ich die 3 DIV Tags über "externe" HTML - Seiten auslesen kann.
Also quasi die Seiten:
- menu
- main
- header

Leider scheint das irgendwie immer ein Problem zu geben...
An was liegt es? Kann mir hierbei bitte jmd helfen...
An bei CSS und die XHTML - Datei

HTML:
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets">

<h:head>
<meta http-equiv="Content-Type" content="text/xhtml; charset=UTF-8"/>
<title>
<ui:insert name="title">
HSKA
</ui:insert>
</title>

<!--<link rel="stylesheet" type="text/css" href="#{resource['css/hska.css']}"/*/>-->
<br> </br>

<link href="file:///D|/Eigene Dateien/Studium/HS Karlsruhe/3. Semester/SWE 1/Projekt/html/css/hska.css" rel="stylesheet" type="text/css" /><!--[if IE]>
<style type="text/css"> 
/* Fügen Sie CSS-Korrekturen für alle IE-Versionen in diesen bedingten Kommentar ein. */
.hska #sidebar1 { padding-top: 30px; }
.hska #mainContent { zoom: 1; padding-top: 15px; }
/* Mit der obigen proprietären Zoom-Eigenschaft wird IE die Eigenschaft hasLayout zugewiesen, die zur Verhinderung verschiedener Fehler erforderlich ist. */
</style>
<![endif]-->
</h:head>


<h:body>


<div id="container"> 
  
  <div id= "header">
        <ui:insert name="header">
          <ui:include src="header.xhtml"/>
      </ui:insert>
        <!-- end #header -->
  </div>
  
  
  <div id="menu">
    <h3>sidebar1-Inhalt</h3>
    <p>Die <a href="main.html" class="hska">Hintergrundfarbe</a> für dieses div wird nur für die Länge des Inhalts angezeigt. Sollten Sie eine Trennlinie bevorzugen, fügen Sie der CSS-Regel des entsprechenden Divs (#sidebar oder #mainContent) eine Rahmen-Eigenschaft hinzu. </p>
    <p>Donec eu mi sed turpis feugiat feugiat. Integer turpis arcu, pellentesque  eget, cursus et, fermentum ut, sapien. Fusce metus mi, eleifend  sollicitudin, molestie id, varius et, nibh. Donec nec libero.</p>
  <!-- end #sidebar1 --></div>
  
  
  <div id="main">
    <h1> Hauptinhalt </h1>
    <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Praesent aliquam,  justo convallis luctus rutrum, erat nulla fermentum diam, at nonummy quam  ante ac quam. Maecenas urna purus, fermentum id, molestie in, commodo  porttitor, felis. Nam blandit quam ut lacus. Quisque ornare risus quis  ligula. Phasellus tristique purus a augue condimentum adipiscing. Aenean  sagittis. Etiam leo pede, rhoncus venenatis, tristique in, vulputate at,  odio. Donec et ipsum et sapien vehicula nonummy. Suspendisse potenti. Fusce  varius urna id quam. Sed neque mi, varius eget, tincidunt nec, suscipit id,  libero. In eget purus. Vestibulum ut nisl. Donec eu mi sed turpis feugiat  feugiat. Integer turpis arcu, pellentesque eget, cursus et, fermentum ut,  sapien. Fusce metus mi, eleifend sollicitudin, molestie id, varius et, nibh.  Donec nec libero.</p>
    <h2>H2-Überschrift </h2>
    <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Praesent aliquam,  justo convallis luctus rutrum, erat nulla fermentum diam, at nonummy quam  ante ac quam. Maecenas urna purus, fermentum id, molestie in, commodo  porttitor, felis. Nam blandit quam ut lacus. Quisque ornare risus quis  ligula. Phasellus tristique purus a augue condimentum adipiscing. Aenean  sagittis. Etiam leo pede, rhoncus venenatis, tristique in, vulputate at, odio.</p>
    <!-- end #mainContent --></div>
    
    
    <!-- Dieses clear-Element sollte direkt auf das #mainContent-div folgen, um das #container-div anzuweisen, alle untergeordneten Floats aufzunehmen. --><br class="clearfloat" />
  <!-- end #container -->
</div>
</h:body>
</html>


CSS - Datei


HTML:
@charset "utf-8";
body  {
        SCROLLBAR-FACE-COLOR: 5787D3;
        SCROLLBAR-HIGHLIGHT-COLOR: #5787D3;
        SCROLLBAR-SHADOW-COLOR: #000000;
        SCROLLBAR-3DLIGHT-COLOR: #000000;
        SCROLLBAR-ARROW-COLOR: #000000;
        SCROLLBAR-TRACK-COLOR: #5787D3;
        SCROLLBAR-DARKSHADOW-COLOR: #5787D3;
    
    font: 100% Verdana, Arial, Helvetica, sans-serif;
    background: #5787D3;
    margin: 0; /* Es empfiehlt sich, margin (Rand) und padding (Auffüllung) des Body-Elements auf 0 einzustellen, um unterschiedlichen Browser-Standardeinstellungen Rechnung zu tragen. */
    padding: 0;
    text-align: center; /* Hierdurch wird der Container in IE 5*-Browsern zentriert. Dem Text wird dann im #container-Selektor die Standardausrichtung left (links) zugewiesen. */
    color: #000000;
    a:link: #0040FF; 
    CURSOR: crosshair;
    TEXT-DECORATION: none;
    
}
.hska #container { 
    width: 80%;  /* Hierdurch wird ein Container mit einer Breite erstellt, die 80% der Browserbreite beträgt. */
    background: #5787D3;
    margin: 0 auto; /* Durch automatische Ränder (in Verbindung mit einer Breite) wird die Seite zentriert. */
    border: 1px solid #000000;
    text-align: left; /* Hierdurch wird die Einstellung text-align: center im Body-Element überschrieben. */
} 
.hska #header { 
    background: #5787D3; 
    padding: 0 10px;  /* Diese Auffüllung entspricht der linksbündigen Ausrichtung der Elemente in den divs, die darunter erscheinen. Wenn im #header anstelle von Text ein Bild eingesetzt wird, sollten Sie die Auffüllung entfernen. */
} 
.hska #header h1 {
    margin: 0; /* Wenn Sie den Rand des letzten Elements im #header-div auf 0 einstellen, können Sie das Auftreten unerwarteter Abstände zwischen divs vermeiden. Wenn das div einen Rahmen hat, ist dies unnötig, weil dieser Rahmen die gleiche Wirkung hat. */
    padding: 10px 0; /* Durch die Verwendung der Auffüllung anstelle von Rändern lässt sich gewährleisten, dass das Element die Kanten des div nicht berührt. */
}

/* Tipps für sidebar1:
1. Da wir mit Prozentwerten arbeiten, ist es empfehlenswert, für die Randleiste keine Auffüllung zu verwenden. Sie wird bei standardgerechten Browsern der Breite hinzugefügt, und dies wiederum führt zu einer unbekannten tatsächlichen Breite. 
2. Zwischen der Kante des div und den darin liegenden Elementen kann ein Abstand eingefügt werden, indem Sie diesen Elementen wie in ".twoColLiqLtHdr #sidebar1 p" demonstriert einen linken und rechten Rand zuweisen.
3. Da Explorer die Breiten nach der Wiedergabe des übergeordneten Elements berechnet, treten bei prozentbasierten Spalten gelegentlich unerklärliche Fehler auf. Wenn Sie zuverlässigere Ergebnisse wünschen, sollten Sie pixelbasierte Spalten verwenden.
*/
.hska #menu {
    float: left; 
    width: 25%; /* Da es sich hier um ein floatendes Element handelt, muss eine Breite angegeben werden. */
    background: #5787D3; /* Die Hintergrundfarbe wird nur für die Länge des Spalteninhalts angezeigt. */
    padding: 15px 0; /* Durch die Auffüllung oben und unten entsteht in diesem div ein visueller Leerraum.  */
}
.hska #menu1 h3, .hska #menu1 p {
    margin-left: 10px; /* Für jedes Element, das in den seitlichen Spalten platziert wird, sollten ein linker und ein rechter Rand angegeben werden. */
    margin-right: 10px;
}

/* Tipps für mainContent:
1. Der Abstand zwischen mainContent und sidebar1 entsteht durch den linken Rand des mainContent-div. Der Spaltenbereich bleibt unabhängig von der Inhaltsmenge des sidebar1-div immer gleich. Sie können diesen linken Rand entfernen, falls der Text des #mainContent-div den Bereich von #sidebar1 füllen soll, wenn der Inhalt in #sidebar1 endet.
2. Zur Vermeidung von Float-Drops bei einer unterstützten Mindestauflösung von 800 x 600 sollten Elemente im mainContent-div eine Größe von maximal 430 Pixel aufweisen (dies gilt auch für Bilder).
3. Im unten stehenden bedingten Kommentar für Internet Explorer wird die Zoom-Eigenschaft verwendet, um mainContent die Eigenschaft hasLayout zuzuweisen. Dadurch werden verschiedene IE-spezifische Fehler verhindert.
*/
.hska  #main { 
    margin: 0 20px 0 26%; /* Der rechte Rand kann in Prozent oder Pixel angegeben werden. Durch ihn entsteht der Abstand am rechten Seitenrand. */
} 


/* Verschiedene wieder verwertbare Klassen */
.fltrt { /* Mit dieser Klasse können Sie ein Element auf der Seite nach rechts fließen lassen. Das floatende Element muss vor dem Element stehen, neben dem es auf der Seite erscheinen soll. */
    float: right;
    margin-left: 8px;
}
.fltlft { /* Mit dieser Klasse können Sie ein Element auf der Seite nach links fließen lassen. */
    float: left;
    margin-right: 8px;
}
.clearfloat { /* Diese Klasse sollte in einem div- oder break-Element platziert werden und das letzte Element vor dem Schließen eines Containers sein, der wiederum einen vollständigen Float enthalten sollte. */
    clear:both;
    height:0;
    font-size: 1px;
    line-height: 0px;
}
 
Man kann keine Dateiinhalte in HTML-Elemente reinladen.
HTML ist eine Strukturbeschreibungssprache, solche Aktionen gehen nur mit einer Programmiersprache, z.B. kannst Du per PHP oder SSI Dateiinhalte includen.

Dein Code ist aber auch kein HTML, also hast Du vielleicht was ganz anderes vor oder gehst von ganz anderen Voraussetzungen aus.
 
genau,
ich möchte mit JSF arbeiten...
wie oder was muss ich denn machen?
So schlecht sieht der Code doch nicht aus, oder?
 
Ist Dein Problem ein HTML-Problem? Dann poste den relevanten HTML-Code (oder nen Link zur Seite) und lass alles JSF raus.
Ist Dein Problem ein Java-Problem? Dann poste die Frage doch besser im Java-Forum.

Dann antwortet vielleicht eher jemand. Ich für meinen Teil habe keine Ahnung von JSF und pflege im HTML-Forum auf HTML-Fragen zu antworten.
 
nein, das Problem ist schon ein HTML Problem - besser gesagt XHTML Problem!

Wie gesagt: statt Frames kann man ja auch DIV - Tages einsetzen!
Den Code habe ich oben ja schon gepostet....
 
Wie gesagt: statt Frames kann man ja auch DIV - Tages einsetzen!
Nö. Frames lassen sich mit nichts vergleichen, schon gar nicht bestimmten (X)HTML-Tags.

Den Code habe ich oben ja schon gepostet....
Das ist aber kein HTML-Code, da sind Tags drin, mit denen ich nichts anfangen kann, von denen ich nicht weiß, was sie machen. Sie können daher die Problemstellung erheblich beeinflussen.

Aber wenn ich JSF richtig verstehe, ist das doch eine serverseitige Java-Lösung, d.h. mit diesen Tags werden Inhalte generiert. D.h. es müsste, ähnlich wie bei PHP, am Ende eine statische (X)HTML-Seite ohne derartige Tags rauskommen. Wenn es ein HTML-Problem ist, dann sollte man es anhand des generierten Codes bearbeiten können.

Wenn ich völlig falsch liege, oder Du mir diesen generierten Code nicht liefern kannst oder willst, dann muss ich Dir leider sagen, dass ich Dir nicht behilflich sein kann.
 
Zurück
Oben