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

Header einfügen

Sakura♥

Neues Mitglied
Huhu Leute^^

also ich hab ´n problem und zwar das ich einfach nicht check wie ich den header in die HP bekomm. >,>
Könnt ihr mir helfen?

hier html:
HTML:
<html>
 <head>
   <title>AnimeMangaStyle</title>
   <link rel="stylesheet" type="text/css" href="style/homestyle.css" />
  </head>
  <body>
     <span class="box"></span>
  </body>
</html>


hier CSS:
Code:
body
{
 background: #434D67;
 background-position: 50% 25% ;
}

span.box
{
 position: absolute ;
 left: 15% ;
 right: 15% ;
 height: 100% ;
 border: 1px double ;
 background: #2B2427;
 background-image: url("Style/Header1.jpg") ;
 }

stimmt das so oder bin ich total auf dem irrweg?

LG
Sakura♥
 
Werbung:
Zum Prüfen von HTMLDateien The W3C Markup Validation Service

Zum Prüfen von CSSDateien The W3C CSS Validation Service


Was willst du denn erreichen und was klappt nicht?
Warum setzt du die ; auf abstand?

Absolut zu Positionieren ist immer ungeschickt und in den seltensten Fällen sinnvoll.


Syntaktische fehler fallen mir auf den ersten blick nicht auf, eher logische wie, das du im body sachen für einen nicht vorhandenen hintergrund definierst.



MfG
 
Ja, du bist auf dem Irrweg.

Frag dich erstmal was du erreichen willst. Soll das einfach nur ein Bild sein, welches oberhalb der Webseite steht? Dann binde es auch als solches ein!

Einen span für sowas zu missbrauchen ist an der Stelle der falsche Weg.
Absolute Positionierung zu verwenden ist ebenfalls der falsche Weg. Verwende erstmal normale Positionierung im Textfluss bevor Du zu sowas greifst.
 
Werbung:
Startseite

Also ich wollte eine Startseite machen.
ungefähr wie hier dargestellt:
bsp.jpg

und der header sieht dann so aus:
Header.jpg

span habe ich benutz um den hauptteil der Home zu definieren.
War das so falsch? Wie müsste ich es richtig machen?

lg
Sakura♥
moz-screenshot.png
moz-screenshot-1.png
 

Anhänge

  • bsp.jpg
    bsp.jpg
    21,4 KB · Aufrufe: 9
  • Header.jpg
    Header.jpg
    52,8 KB · Aufrufe: 7
Welche Tags Du verwendest hängt nicht davon ab, wie es später aussehen soll.
Das Aussehen wird durch CSS bestimmt, nicht durch HTML.

Eine Überschrift (header) machst Du mit einem der Überschriftentags, mit der richtigen Ordnung, begonnen mit <h1> bis hin zu <h6>. Ein Image, das als Überschrift dienen soll, packst Du also in dieses Block-Element ein.
Bilder, die Content darstellen, werden per HTML mit dem <img>-Tag eingebunden. Bilder, die nur der Zierde, also dem Design gelten, werden (wie alles, was Design betrifft) per CSS eingebunden, als background-image.

<span> ist das allgemeine Inline-Element ohne weitere semantische Bedeutung. Das benutzt man, um Inline-Inhalt auszuzeichnen, der keine besondere Semantik, aber ein besonderes Aussehen (mit CSS definiert) haben soll.
 
:arrow:

wie man oben schon sieht habe ich versucht mit CSS das Bild einzubinden.
Naja aber i-wie wills nicht klappen, obwohl der ganze pfad angegeben ist.
 
Werbung:
Ja, das war aber falsch. Soweit waren wir schon in #2.

Du hast also ein Bild, das nur der Zierde dient. Na, dann bist Du sowieso schon bei Schritt 3. Schritt 1 ist "Inhalt niederschreiben". Schritt 2 ist "Logische Auszeichnung (Semantik) mit HTML". Erst Schritt 3 ist "Layout und Design".

Ich kann Dir nichts raten, wenn ich nicht Deinen Inhalt kenne.

Wenn das Bild z.B. als Zierde zu einer Überschrift dienen soll, dann sieht das im HTML-Code anders aus, als wenn das Bild Zierde ist und irgendwo ohne Bezug im Raum steht. Wenn sich das Bild wiederholen soll (klassisches Hintergrundbild) sieht es wieder anders aus.
Das liegt daran, dass HTML nicht für das Aussehen zuständig ist, sondern für die logische Bedeutung Deines Inhalts. Und da ich den nicht kenne, kann ich nicht sagen, wie es aussehen muss. Denn HTML kommt immer vor CSS. Erst ein Layout machen und dann den Inhalt rein - das geht nicht (bzw. nur, wenn man verstanden hat, was HTML genau ist).
 
=)

Yay ,

jetzt hab ichs^^
HTML:
<html>
 <head>
   <title>AnimeMangaStyle</title>
   <link rel="stylesheet" type="text/css" href="style/homestyle.css" />
  </head>
  <body>
     <span class="box">
           <img src="Style/Header1.jpg" alt="Header">
     </span>
  </body>
</html>

Code:
body
{
 background: #434D67;
}

span.box
{
 position: absolute;
 left: 15%;
 right: 15%;
 height: 100%;
 border: 1px double;
 background: #2B2427 url("Style/Header1.jpg");
 }

Ja es soll als "Überschrift" dienen. Da kommt dann noch der Name von der Hp rein, also AnimeMangaStyle.

naja jetzt muss ich nur noch das positionieren hinbekommen xD
 
Wenn es als Überschrift (warum steht das bei Dir in Anführungszeichen?) dienen soll, warum zeichnest Du es dann nicht auch als Überschrift aus? Woher soll derjenige, der den HTML-Code interpretiert (z.B. Vorlesebrowser, Suchmaschinen), wissen, dass es eine Überschrift ist? Das ist die Aufgabe von HTML, Deine Aufgabe! Mit HTML dem Inhalt eine Bedeutung verpassen.

Übrigens wurde Dir geraten, das position:asolute rauszuwerfen. Das ist nicht die ultimative Waffe zur idealen Positionierung in Webseiten. Außerdem, wenn ich schon beim CSS-Code bin, ist span ein Inline-Element, da gibts also kein "height". Und bei border hast Du die farbe vergessen. Die ist Dir sicher nicht egal. Was man nicht angibt, ist einem automatisch egal. Dann macht es jeder Browser nach eigenem Gutdünken.

Außerdem fehlt in Deinem HTML-Code der Doctype.
 
Werbung:
ich hab schon mal die position: absolute rausgemacht dann gibts aber den kasten in der mitte = den Hauptteil nicht mehr.

so der "header":
...


...ähmmm und die Farbe vom border ist mit nicht egal...habs vergessen ;P
sry

...:
HTML:
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">

<html>
 <head>
   <title>AnimeMangaStyle</title>
   <link rel="stylesheet" type="text/css" href="style/homestyle.css" />
 </head>
 <body>
     <span class="box">
           <img src="Style/Header1.jpg" alt="Header">
             <p>
               <div id="list"> 
                 <h3> &nbsp Home &nbsp
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp Anime/Managa 
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp Japan 
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp Login/Regist  &nbsp</h3>
                </div>
               <p>
               <div id="tl">
               </div>
     </span>
  </body>
</html>

muss man immer &bsp für Zeilenabstand nehmen?
sind so viele xD

naja.......ich hab noch sehr sehr viel zu lernen ~.~
aber danke das ihr mir beisteht =)

lg
Sakura♥
 

Anhänge

  • Header1.jpg
    Header1.jpg
    74,9 KB · Aufrufe: 4
span ein Inline-Element, da gibts also kein "height". Und bei border hast Du die farbe vergessen. Die ist Dir sicher nicht egal. Was man nicht angibt, ist einem automatisch egal.
Das möchte ich mal Korrigieren:
  • Das span hatte position:absolute; somit hat es seine inline-Eigenschaften verloren (height ist also möglich).
  • Wenn border-color nicht angegeben wird gilt color (ist also nicht automatisch egal)

@Sakura♥
Geschützte Leerzeichen sind hier verkehrt. Verwende besser padding.
<h3> mußt du auch wieder schließen (</h3>).
Zum Doctype:
DOCTYPE-Switch und seine Auswirkungen
 
Nu stimmt ja irgendwie noch weniger.
Ein Textabsatz, der enthält eine Gruppe von Elemente, die keine Gruppe enthält, sondern nur eine nicht geschlossene Überschrift, die Non-breakable-Spaces enthält? Huh? Und das ganze noch in einem Span?

Dürfen denn Block-Elemente innerhalb des Span stehen, wenn es sich wie ein Block-Element verhält? Ich dachte eher nein.

Aber wie dem auch sei, Deinen Inhalt kenne ich immer noch nicht und ich bin der Ansicht, dass Du bei der Vergabe der HTML-Codes (von Semantik kann man ja gar nicht sprechen, wenn Du nicht endlich den Inhalt hinschreibst) zu sehr vom Aussehen gesteuert bist. Das ist bei der HTML-Codierung aber falsch und führt zu Fehlern.
 
Werbung:
Inhalt:
HTML:
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">

<html>
 <head>
   <title>AnimeMangaStyle</title>
   <link rel="stylesheet" type="text/css" href="style/homestyle.css" />
 </head>
 <body>
     <span class="box">
           <img src="Style/Header1.jpg" alt="Header">
             <p>
               <div id="list"> 
                 <h3>Home Anime/Managa Japan Login/Regist </h3>
                </div>
             </p>
       <th><h1>Willkommen auf AnimeMangaStyle!</h1>
              <p><h4>AnimeMangaStyle ist eine Community, 
                             in der sich alle Anime und Manga,
                             sowie Japan Intressenten austoben können.
               <br>Die Mitgliedschaft in dieser Community ist kostenlos.</br></h4></p>
        </th>
     </span>
  </body>
</html>

reicht das` für den Anfang?

jetzt hab ich noch 3Probleme:
1.) wie ich das bild oben der größe vom braunen Kasten anpssen kann.
2.) wie ich in die auswahllist "Home Anime/Manga etc." abstand bring.
habs mit padding versucht, aber zwischen den verschiedenen Breichen kommt der abstand nicht.
3.) obwohl ich text-indent bei dem Haptteil benutzt habe, verschiebt sich nur das "Willkommen auf AnimeMangaStyle" und der halbe Satz darunter
so wie ich will.

......
bin ich ein hoffnungsloser Fall?
sollte ich es lassen?
 
bin ich ein hoffnungsloser Fall?
sollte ich es lassen?



Du solltest darauf achten dein Hirn einzuschalten, und Elemente sinnvoll auszuzeichnen.

Wieso benutzt du denn Bitte hier ein th (!Tabellenüberschrift!!!!), obwohl es NIX, rein gar nix mit ner Tabelle zu tuen hat, und noch nicht einmal eine Tabelle da ist?

zu 1. Das Bild an den Kasten anzupassen machste folgendermaßen im CSS:

Code:
*
{
padding:0;
margin:0;
}
img  //hier idealerweiße noch eine ID setzen und das gescheit mim HTML verknüpfen
{
width:100%;
height: 100%;
}

zu 2.: leg dir am besten mal ein Englischwörterbuch zu, oder nutze Google, padding ist für Innenabstand, nicht Außenabstand, von daher ist es ja wohl logisch das das damit schwer umzusetzen ist?
Außenabstand = margin



MfG
 
Werbung:
Ich bin sehr gut in English xDDD
mein gehirn verarbeitet nur daten sehr langsam =)

danke ich werd deine tipps mal versuchen umzusetzen^^

lg
Sakura♥
 
Zuletzt bearbeitet:
jetzt hab ich noch 3Probleme:
1.) wie ich das bild oben der größe vom braunen Kasten anpssen kann.
Brrr, Hooo! Langsam.

Kein CSS ohne HTML. Wir wollen doch erstmal Dein HTML verbessern. Wenn Du jetzt schon das Design machst, musst Du hinterher wieder alles ändern, wenn wir Deinen HTML-Code ändern. Also vergiss mal CSS.

bin ich ein hoffnungsloser Fall?
sollte ich es lassen?
Wenn Du hoffnungslos wärest, würde ich mich nicht bemühen, Dir zu helfen. :-)

Also...Dein Code...
Der Inhalt sagt mir, Du hast eine Überschrift und dazu ein Bild. Das Bild haben wir ja schon gesehen. Es enthält einen Text, der zur Überschrift gehört, bzw. sie darstellt.
Dann gehts schon los...Du hast etwas als Überschrift dritten Grades (warum dritter Grad? Und wo ist der zweite Grad?) eingestellt, was "Home Anime/Managa Japan Login/Regist" heißt. Das ist doch keine Überschrift!? Das ist doch ein Menü? Warum behauptest Du dann in Deinem HTML-Code, es sei eine Überschrift? Das ganze doppelt verpackt in ein sinnloses <div> und das seltsamerweise dann noch als Textabsatz ausgezeichnet. Gehts noch? :-)
Sieht Du gerade selber, was Du da für sinnfreies Zeug verzapft hast? :-)
Danach kommt eine Überschrift, soweit so gut. Aber dann kommt ein Textabsatz, der gleichzeitig eine Überschrift ist - wie bitte?
Und dann werden die ganzen Elemente noch in ein <span> gepackt. Hä?

Also ich fasse zusammen:
Wir brauchen eine Überschrift mit einem Bild.
Wir brauchen ein Menü. Das soll offensichtlich über der Überschrift/dem Bild stehen.
Wir brauchen einen Text.

So sollten Deine Überlegungen jedes Mal sein, wenn Du eine Website erstellt.
Im Editor sieht das dann so aus:

Home Anime/Managa Japan Login/Regist
[Bild] AnimeManga Style
Willkommen auf AnimeMangaStyle!
AnimeMangaStyle ist eine Community, in der sich alle Anime und Manga, sowie Japan Intressenten austoben können.
Die Mitgliedschaft in dieser Community ist kostenlos.

Soweit so gut. Rechtschreibfehler verbesserst Du später ;-)

Jetzt kommt HTML dazu (auf den Header mit Doctype, charset, body usw. verzichte ich hier mal.

Code:
<ul>
  <li>Home</li>
  <li>Anime/Managa</li>
  <li>Japan</li>
  <li>Login/Regist</li>
</ul>
<h1><img src="header1.jpg" alt="AnimeManga Style" /></h1>
<h2>Willkommen auf AnimeMangaStyle!</h2>
<p>AnimeMangaStyle ist eine Community, in der sich alle Anime und Manga, sowie Japan Intressenten austoben können.</p>
<p>Die Mitgliedschaft in dieser Community ist kostenlos.</p>
Fertig.
1. Das Menü als Liste ausgezeichnet. Denn ein Menü ist eine Liste von Menüpunkten.
2. Der Header ist die erste Überschrift. Es enthält Content, also muss es als <img> eingebunden werden. Der Text in dem Bild dient gleichzeitig als Alternativtext, damit da was sinnvolles steht, wenn das Bild nicht dargestellt wird.
3. Eine zweite Überschrift, zweiten Grades nur.
4. Der Rest besteht aus zwei Textabsätzen.
Fertig.

Nicht schwer, oder?
In bezug auf HTML ist das alles. Wirklich!

Und jetzt das Stylesheet - extern natürlich.

Da fehlt mir, was Du möchtest. Du hast in jedem Beitrag immer mal irgendwas reingeworfen, fragst im letzten, wie Du etwas der Größe des braunen Kastens anpassen kannst, ich weiß leider nicht, wo ein brauner Kasten ist.

Geh einfach die Elemente eines nach dem anderen durch und formatier sie nach Deinen Wünschen. So wie Du das Bild mal gepostet hast, wirst Du weder "position" noch "float" brauchen und keine spezielle Form der Positionierung.

Wenn Du unbedingt den vorhandenen Platz im Viewport beschneiden und en Content mittig anzeigen willst, dann brauchst Du noch eine Änderung am HTML-Code. Dazu musst Du alle Elemente der Seite gruppieren, damit Du dieser Gruppe eine feste Breite und einen gleichen Abstand links und rechts geben kannst. Zum Gruppieren gibt es ein Tag: <div>.
Das <div> kommt ganz außen rum um den o.a. Code, z.B. <div id="Content">

Im CSS brauchst Du dann sowas:
Code:
div#Content {
  width:20em;  /* Feste Breite */
  margin:0 auto;  /* Abstand oben/unten:0, links/rechts: gleich groß, also horizontal zentriert */
}

Abstände jeglicher Art macht man mit margin (Außenabstand) oder padding (Innenabstand). Wenn man nicht alle Elemente eines Typs formatieren will, vergibt man Klassen (in mehreren Elementen möglich) oder IDs (nur einmal pro Seite erlaubt).

Dein Bild würde ich nicht einer bestimmten Größe anpassen, wenn Browser Bilder skalieren, sieht das immer schlecht aus.
Abstände in Deinem Menü hast Du jetzt. Wenn Du das Menü horizontal willst, nutzt Du entweder "display:inline" für jedes <li> oder "float:left". Wenn Du feste Größen für die Listenelemente angeben willst, brauchst Du float, weil das erstere die Listenpunkte zu Inline-Elementen macht, die kein height/width haben.

Was ist jetzt noch unklar?

Verstehe, was HTML ist, was "Semantik" bedeutet.
Lerne das Box-Model.
Verstehe den Unterschied zwischen Inline- und Block-Element.

Alles andere ist stures Lernen, was welches Tag beschreibt und was welche CSS-Eigenschaft macht.

Alle Klarheiten beseitigt?
 
Danke dasu mir meine Fehler aufgezeigt hast ^^
Ich bin einfach dran gegangen ohne mir richtig klar zu machen wie.

Ich werde mich jetzt intensiever damit beschäftigen und anstrengen =)
Falls ich dann doch nochmal hängen bleib und wirklich nicht mehr weiter komm meld ich mich wieder :)

THX nochmal
lg
Sakura♥
 
Werbung:
aktuelle ergebnis

also ich hab es versucht und das ist dabei rausgekommen:

HTML:
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">

<html>
 <head>
   <title>AnimeMangaStyle</title>
    <link rel="stylesheet" type="text/css" href="style/homestyle.css" />
 </head>
 <body>
<div id="Content">
<h1><img src="Style/Header1.jpg" alt="AnimeManga Style" /></h1>
     <ul>
  <li>Home</li>
  <li>Anime/Managa</li>
  <li>Japan</li>
  <li>Forum</li>
  <li>Login/Register</li>
</ul>
<h2>Willkommen auf AnimeMangaStyle!</h2>
<p>AnimeMangaStyle ist eine Community, in der sich alle Anime und Manga,      sowie Japan Fans austoben können. 
     Die Mitgliedschaft in dieser Community ist kostenlos.</p>
<p id="news">News:....zur Zeit keine verfügbar!</p>
 </div>
  </body>
</html>


Code:
div#Content 
{
  width: 60%;
  margin:0 auto; 5px 5px 75px 75px;
  background: #434D67;
  font-family: arial, verdana, sans-serif;
  border: 5px double #2B2427;
}

h1
{
 background-image: url("Style/Header1.jpg");
 padding-left: 70px;
 padding-right: 70px;
}


li
{
  display:inline;
  padding-right: 70px;
  margin: 10px;
}

ul
{
  background: #61636F;
  padding-top: 2px;
  padding-bottom: 2px;
}

h2
{
  padding-top: 15px;
  padding-left: 5px;
  margin-bottom: 10px;
}

p
{
  padding-left: 5px;
  font-size: 14px;
  margin-right: 150px;
}

p#news
{
  font-size: 18px;
  font-style: italic;
  font-weight: bold;
  margin-top: 40px;
  margin-left: 20px;
  margin-right: 20px;
  padding-left: 15px;
  padding-top: 5px;
  padding-bottom: 5px;
  border: 3px dashed #2B2427;
}

und....schon ein bisschen besser?
padding und margin hab ein wenig kompliziert geschrieben ><

lg
Sakura♥
 
Auf jeden Fall besser, ich wei´ss zwar nicht wie es am Ende aussehen soll, aber der Anfang ist schon mal ziemlich solide.

was ein wenig doof ist, ist

1. CSS, welches, wenn du so weiter machst, das Laden deiner Seite verlangsamen wird.

Es gibt für jede Langschreibart bei der man alles auflistet (zB margin-left, margin-top ...)
immer einen kurzschreibweise, einfach nur zB margin: 0px 2px 3px 4px;


Kuck dir dazu mal margin: Außenabstand: CSS-Referenz auf CSS 4 You - The Finest in Stylesheets an.

2. Du musst deine Elemente nicht von einem Content Container umschliessen, du kannst die Eigenschaften auch direkt dem Body geben
(Falls du nicht vorhast noch ein anderes Element mit anderer positionsart zu haben)

3.
margin:0 auto; 5px 5px 75px 75px;
Hier hast du 1. ja schon angewandt, aber was soll denn der Sinn davon sein!
Mit logischem Denken dürfte dir da doch was auffallen ;)....



MfG
 
Zurück
Oben