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

CSS und relative Positionierung

Status
Für weitere Antworten geschlossen.

MJSmith

Neues Mitglied
Hallo Zusammen,

bin neu im Forum und komme gleich mal mit einem Problem daher.

Leider habe ich über die Suche nicht sehr viel gefunden bzw. bin ich zu dämlich, die richtigen Rückschlüsse aus verschiedenen Hack-Empfehlungen zu ziehen.

Folgendes Problem: Die Seite x44.com sieht mit aktueller Version des Firefox, Opera und IE7 so aus, wie sie es soll. Mit IE6 hängt die Navigation so ziemlich über der Mitte der Seite und der Rest darunter, so nach dem Motto, alles mit und nach der Navigation einfach mal ein paar 100 Pixel tiefer. Leider habe ich keinen Lösungsansatz:

Das CSS sieht so aus:

Code:
BODY {
    font-family : Verdana, Arial, sans-serif;
    font-size : 10px;        
    color: #3a4369;
    margin: 0px;
    background-color: #aebed0;

    background-position:top center;
     height:101%;
     margin:0%;
     padding:0%;
}

div#hundertprozent {
    height: 100%;
}

div#main {
 margin:0% auto;
 padding:0% 0%;
 height: 100%;
 width: 100%;
}

div#logo {
 position:relative;
 width: 850px;
 height: 40px;
 top: -145px;
 left: 0px;
 float: left;
 z-index: 1;
}

div#menue {
 position:relative;
 width: 850px;
 height: 29px;
 top: -14px;
 left: 20px;
 float: left;
 z-index: 1;
}

div#unter_menu {
 clear: left;
 position:relative;
 width: 850px;
 height: 34px;
 top: -14px !important;
 left: 0px;
 float: left;
 background-image: url(img/unter_menu.gif);
 z-index: 1;
}

div#basket {
     position:relative;
    clear: right;
    float: right;
    width: 175px;
    height: 145px;
     right: 10px;
    top: 0px;
 z-index: 2;    
}

div#boxen_left {
    top: 0px;
    left: 34px;
    position: relative;
    width: 185px;
    float: left;    
    background-color: #FFFFFF;
}

div#text {
    clear: none;
    top: 63px;
    left: 40px;
    position: relative;
    width: 520px;
    float: left;
}

div#information {
    top: 120px;
    left: 220px;
    position: relative;
    width: 520px;
    float: left;
    text-align: center;
}

Der dazugehörige HTML-Code der entsprechenden Stelle so:

Code:
<div id="hundertprozent">
<div align="center">
<table border="0" cellpadding="0" cellspacing="0" width="850" height="100%" bgcolor="#FFFFFF" style="border-left: 1px solid #606DA1; border-right: 1px solid #606DA1; border-top-width: 1px; border-bottom-width: 1px"><!-- height="100%" -->
    <tr height="1%">
        <td valign="top" height="1">
        <div id="basket">{$box_CART}</div>
        <div id="logo"><img src="{$tpl_path}img/logo.jpg" border="0" width="850" height="200"></div>
        <div id="menue">
        <dl class="menu">
        <dd><a href="index.php"><span class="aa">&nbsp;</span><span class="bb">Home</span><span class="cc">&nbsp;</span></a></dd>
        {php} if (isset($_SESSION['customer_id'])) { {/php}
        <dd><a href="{$logoff}"><span class="aa">&nbsp;</span><span class="bb">{#link_logoff#}</span><span class="cc">&nbsp;</span></a></dd>
        {php} } else { {/php}
        <dd><a href="login.php"><span class="aa">&nbsp;</span><span class="bb">{#link_login#}</span><span class="cc">&nbsp;</span></a></dd>
        {php} } {/php}
        <dd><a href="shop_content.php?coID=10"><span class="aa">&nbsp;</span><span class="bb">{#link_questions#}</span><span class="cc">&nbsp;</span></a></dd>
        <dd><a href="{$account}"><span class="aa">&nbsp;</span><span class="bb">{#link_account#}</span><span class="cc">&nbsp;</span></a></dd>
        <dd><a href="{$cart}"><span class="aa">&nbsp;</span><span class="bb">{#link_cart#}</span><span class="cc">&nbsp;</span></a></dd>
        <dd><a href="{$checkout}"><span class="aa">&nbsp;</span><span class="bb">{#link_checkout#}</span><span class="cc">&nbsp;</span></a></dd>        
        </dl>
        </div>
        <div id="unter_menu" align="left"><span class="navTrail">{$navtrail}</span></div>    
        </td>
    </tr>
    <tr height="98%">
        <td bgcolor="#FFFFFF" valign="top" height="99%">

Vielleicht kann mir von euch jemand helfen, wie ich IE6 noch dressieren muss, damit auch das ordentlich aussieht.

Vielen Dank vorerst mal...

Ciao
Andreas
 
Hey Grünspan,

schau mal hier: Link (bei denen läuft die Seite trotz sehr hoher Anzahl an Fehlern auch)

Meine Fehler müssen wohl eine Eigenschaft des Core von XT-Commerce sein, da kann ich wohl nix dran machen und es ist wohl nicht die Ursache, dass der IE6 mein Layout nicht darstellen kann...

Hat jemand vielleicht einen passenden Hack parat?

Ciao
Andreas

 
Ehrlich gesagt ist dein Argument nichts wert, weil bei Amazon sind die meisten Fehler gar keine, sondern werden vom Validator nur ausgegeben, weil bei Amazon kein Doctype angegeben ist. Wir warten immernoch auf den validen Code. :mrgreen:
 
Jungs,

ich habe von der HTML-Sch... absolut keine Ahnung, bin froh, dass ich einigermaßen ein Layout hinbekommen habe und wenn ich hier einen Fehler validiert bekomme, der so lautet:
  • Line 841, column > 80: XML Parsing Error: Opening and ending tag mismatch: img line 841 and div …g/logo.jpg" border="0" width="850" height="200"></div>…
dann weiß ich mit dem Mist nichts anzufangen, außer, dass da ich da unten ein ordentliches Anfangs- und Endtag habe.

"<div id="logo"><img src="templates/x44/img/logo.jpg" border="0" width="850" height="200"></div>"

Ich habe keine Ahnung, warum der Validator das nicht erkennt.

... und dieser Fehler hier:
  • Line 853, column 7: XML Parsing Error: Opening and ending tag mismatch: div line 841 and td
ist mir auch vollkommen unerklärlich, denn das Tag sieht im Quelltext bitte schön so aus: "</td>"

Und hier noch einer:
  • Line 823, column 12: there is no attribute "height" <tr height="1%">
Sauber, in meinem Quelltext ist bitte schön das auch so vergeben:
<tr height="1%">

Die Aussage "validire" bitte mal schön Deinen Code bei x-tausend php- und html-Dateien hilft mir recht wenig. Ich weiß hier muss mir keiner helfen und es ist gut, dass es derartige Foren gibt. Aber ich denke, hier liegt es einfach nur an einer Kinderkrankheit des IE, dass das Menü nicht passt und nicht daran, dass der Code nicht sauber validiert ist.

Es grüßt ein entnervter User

Ciao
 
Also, DU HAST XHTML ALS DOCTYPE, so das wäre gesagt und nun kommen wir zu den Einzelheiten. In XHTML sieht ein richtiges head Element so aus:
HTML:
<html xmlns="http://www.w3.org/1999/xhtml"
  xml:lang="de" lang="de">
Zudem must du den Omnitag(Endtag) bei leeren Elementen wie dem img Element machen, das heisst, einen Abstand nach dem letzten Attribut und dann ein Backslash. img:
HTML:
<img src="" width="" height="" alt="" />
und nicht
HTML:
<img src="" width="" height="">
Zudem gibt es bei table, tr etc. wohl kein Attribut height mehr, also musst du das über CSS machen:
HTML:
<tr style="height:10%;">
Aber das ist kein schöner Stil, man sollte dies verwenden, sondern im <head> über
HTML:
<style type="text/css">
</style>
bzw. am besten über eine externe Datei.
HTML:
<link rel="stylesheet" media="screen,projection"
        title="Standard" href="css.css"
        type="text/css" />
 
Mach erstmal aus deinen ganzen <br> überall ein <br />, dann hast du schonmal einige Fehler weniger...
 
Hallo Drakes,

vielen Dank. D.h. wenn ich die richtigen Rückschlüsse daraus ziehe, muss in die header.php statt:

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

Dein Vorschlag, d.h.

<html xmlns="http://www.w3.org/1999/xhtml"
xml:lang="de" lang="de">


Hat es Sinn, dass ich bei allen Elementen einen Leerschlag Abstand lasse, dann ein Backslash und anschließend abschließe? In meiner index.php finde ich keine Zeichenfolge "/>

Bei dem Argument "table" und "height", heißt das, ich vergebe den Parameter "height" nicht mehr direkt in der Tabelle, sondern zwingend über ein CSS? Dann gibt es indirekt ja schon noch den Parameter "heigt" für Tabellen, nur wurde er ins CSS ausgelagert, oder?

Ich passe die HTML-Dateien meist hardcore mit Frontpage an, damit kann ich zumindest etwas die fehlenden HTML-Kenntnisse ausgleichen und rumwurschteln...

Erst mal besten Dank

Andreas
 
Hallo Drakes,

so schaut mein Header jetzt aus:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/1999/xhtml">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">

Konnte wieder einen Fehler beim validieren beseitigen...

Danke

Also, DU HAST XHTML ALS DOCTYPE, so das wäre gesagt und nun kommen wir zu den Einzelheiten. In XHTML sieht ein richtiges head Element so aus:
HTML:
<html xmlns="http://www.w3.org/1999/xhtml"
  xml:lang="de" lang="de">
 
Hallo Zusammen,

habe auf 17 Fehler reduzieren könnten. Leider zeigt er mir hierzu noch folgende Fehler an:

Code:
<p>Sehr geehrter Besucher - x44.com wird gerade einem Relaunch unterzogen. Bitte 
haben Sie dafür Verständnis, dass das Produktangebot derzeit leider ziemlich 
eingeschränkt ist.<br>
Schauen Sie doch in zwei bis drei Wochen wieder mal vorbei...<br>
Vielen Dank<br>
Ihr x44-Team</p>


  • Line 928, column 22: end tag for "br" omitted, but OMITTAG NO was specified eingeschränkt ist.<br>
  • Line 929, column 65: end tag for "br" omitted, but OMITTAG NO was specified …och in zwei bis drei Wochen wieder mal vorbei...<br>
  • Line 930, column 15: end tag for "br" omitted, but OMITTAG NO was specified Vielen Dank<br>
  • Line 931, column 16: XML Parsing Error: Opening and ending tag mismatch: br line 930 and p Ihr x44-Team</p>
  • Line 932, column 11: XML Parsing Error: Opening and ending tag mismatch: br line 929 and td <br /></td>
  • Line 933, column 7: XML Parsing Error: Opening and ending tag mismatch: br line 928 and tr </tr>
Keine Ahnung was er hier noch von mir will...

Die noch vorhandenen Probleme dürften aber jetzt zu vernachlässigen sein, oder?

Mein Layout passt beim IE6 leider immer noch nicht.

Ciao & schönes Wochenende
 
Du musst <br> zu <br /> machen. (hast noch nicht alle, so um di 928 hat es ein paar)
Zudem sagt der Validator, dass du vergessen hast ein div zu zumachen.
 
Hallo Drakes,

supervielen Dank. Jetzt sind es nur noch drei Fehler, wobei ich mir die wirklich nicht erklären kann...

  1. error.png
    Line 1025, Column 6: non SGML character number 0.</div></body></html>
  2. error.png
    Line 1025, Column 6: XML Parsing Error: Premature end of data in tag body line 819.</div></body></html>
  3. error.png
    Line 1025, Column 6: XML Parsing Error: Premature end of data in tag html line 2.</div></body></html>
Irgendwas versucht da noch Content am Ende der Seite reinzupacken, und mein Quelltext gibt das nicht her:

Auszug vom Ende des Codes

Code:
                <table border="0" width="100%">
                    <tr>
                        <td><script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
                            </script>
                            <script type="text/javascript">
                            _uacct = "UA-2281815-3";
                            urchinTracker();
                            </script></td>
                    </tr>
                </table>
                </td>
              </tr>                                
              </table>        
        </td>
    </tr>
</table>
</div>
</div>



Du musst <br> zu <br /> machen. (hast noch nicht alle, so um di 928 hat es ein paar)
Zudem sagt der Validator, dass du vergessen hast ein div zu zumachen.
 
Komisch, mein Plugin Validator meldet keinen Fehler mehr, aber der von W3C schon. Nimm </body> und </html> noch jeweils auf eine neue Zeile. *notgedrungen etwas sag* ;ugl
 
Hi,

dann macht er mir vier Fehler draus. Ich vermute, dass die Macher von xtcommerce hier noch irgendwas reinladen...
  1. error.png
    character data is not allowed here
    • </html></body></html>
  2. error.png
    non SGML character number X
    • Line 1027, column 7: non SGML character number 0 </html></body></html>
  3. error.png
    end tag for element X which is not open
    • Line 1027, column 14: end tag for element "body" which is not open </html></body></html>
    • Line 1027, column 21: end tag for element "html" which is not open </html></body></html>
Komisch, mein Plugin Validator meldet keinen Fehler mehr, aber der von W3C schon. Nimm </body> und </html> noch jeweils auf eine neue Zeile. *notgedrungen etwas sag* ;ugl

By the way...., der IE6 ärgert mich immer noch ziemlich ;-)

fehler.jpg
 
Zuletzt bearbeitet:
Naja, das mit den vier Fehlern ist kein Wunder, da dein Code jetzt so aussieht:
HTML:
</body>
</html></body></html>
;ugl
 
@ MJSmith

es sieht so aus, wie wenn du erst den HTML-Tag schließen würdest, dann erst den Body-Tag und dann nochmal den HTML-Tag. Entferne mal das erste </html> und wieder ein Fehler weniger.
 
Auch ohne den Fehlern schaut es so aus..., aber nur bei IE6...

Der Rest, auch IE7, stellt das Template wie gewünscht dar..., jetzt habe ich zwar einen schön, fast w3c-konformen Code, aber mein Problem noch nicht gelöst...:-P

Hallo Maxi,

ich frage mich eh, wo die überflüssigen HTML-Tags herkommen, denn ich öffne in meinem Code ja kein <html> oder <body>

Code:
{config_load file="$language/lang_$language.conf" section="index"}
<div id="hundertprozent">
<div align="center">
<table border="0" cellpadding="0" cellspacing="0" width="850" bgcolor="#FFFFFF" style="border-left: 1px solid #606DA1; border-right: 1px solid #606DA1; border-top-width: 1px; border-bottom-width: 1px">
    <tr>
        <td valign="top" height="1">
        <div id="basket">{$box_CART}</div>
        <div id="logo">
            <img src="{$tpl_path}img/logo.jpg" border="0" width="850" height="200" alt="Logo" /></div>
        <div id="menue">
        <dl class="menu">
        <dd><a href="index.php"><span class="aa">&nbsp;</span><span class="bb">Home</span><span class="cc">&nbsp;</span></a></dd>
        {php} if (isset($_SESSION['customer_id'])) { {/php}
        <dd><a href="{$logoff}"><span class="aa">&nbsp;</span><span class="bb">{#link_logoff#}</span><span class="cc">&nbsp;</span></a></dd>
        {php} } else { {/php}
        <dd><a href="login.php"><span class="aa">&nbsp;</span><span class="bb">{#link_login#}</span><span class="cc">&nbsp;</span></a></dd>
        {php} } {/php}
        <dd><a href="shop_content.php?coID=10"><span class="aa">&nbsp;</span><span class="bb">{#link_questions#}</span><span class="cc">&nbsp;</span></a></dd>
        <dd><a href="{$account}"><span class="aa">&nbsp;</span><span class="bb">{#link_account#}</span><span class="cc">&nbsp;</span></a></dd>
        <dd><a href="{$cart}"><span class="aa">&nbsp;</span><span class="bb">{#link_cart#}</span><span class="cc">&nbsp;</span></a></dd>
        <dd><a href="{$checkout}"><span class="aa">&nbsp;</span><span class="bb">{#link_checkout#}</span><span class="cc">&nbsp;</span></a></dd>        
        </dl>
        </div>
        <div id="unter_menu" align="left"><span class="navTrail">{$navtrail}</span></div>    
        </td>
    </tr>
    <tr>
        <td bgcolor="#FFFFFF" valign="top" height="99%">
        <table border="0" cellpadding="0" cellspacing="0" width="100%">
        <tr>
            <td class="menuTabelle" valign="top" width="150">{if $box_CATEGORIES!=""}<br /><br />{$box_CATEGORIES}{/if}
            {if $box_LOGIN!=""}<br /><br />{$box_LOGIN}{/if}<br />{if $box_ADMIN!=""}<br /><br />{$box_ADMIN}{/if}<br />{if $box_CURRENCIES!=""}<br /><br />{$box_CURRENCIES}{/if}
            {if $box_LANGUAGES==""}<br /><br />{$box_LANGUAGES}{/if}
            </td>
            <td valign="top" width="700">
            <table border="0" cellpadding="0" cellspacing="0" width="100%">
            <tr><td valign="top" align="right"></td></tr>
            <tr><td valign="top" align="right"><img src="{$tpl_path}img/pixel_trans.jpg" alt="" width="1" height="5" border="0" /></td></tr>            
            <tr><td valign="top" align="center">
            <table width="90%"  border="0" cellspacing="4" cellpadding="0">
              <tr>
                <td align="left">{$main_content}</td>
              </tr>
              <tr>
                <td align="left"><img src="{$tpl_path}img/pixel_trans.gif" alt="" width="1" height="30" border="0" /></td>
              </tr>              
            </table>    
            {if $BANNER}
            <table width="100%"  border="0" cellspacing="4" cellpadding="0">
              <tr>
                <td align="center">{$BANNER}</td>
              </tr>
            </table>
            {/if}    
            </td></tr>                        
            </table>    
            </td>
        </tr>
        </table>
        </td>
    </tr>
    <tr >
        <td style="padding-top:10px" align="center" height="1" bgcolor="#FFFFFF">
              <table border="0" cellpadding="0" cellspacing="0" width="100%">
              <tr>
                <td align="center" style="border-left-width: 1px; border-right-width: 1px; border-top: 1px solid #606DA1; border-bottom: 1px solid #606DA1; padding: 5px">{if $box_SEARCH!=""} {$box_SEARCH}{/if}
                                {if $box_NEWSLETTER!=""}{$box_NEWSLETTER} {/if}
                {if $box_INFORMATION!=""}{$box_INFORMATION}{/if}<br />
                {if $box_CONTENT!=""}{$box_CONTENT}{/if}</td>
              </tr>
              <tr>
                <td align="left"><img src="{$tpl_path}img/pixel_trans.gif" alt="" width="1" height="10" border="0" /></td>
              </tr>    
              <tr>
                <td align="center">© 2007 Caban Management AG<br />
                <font size="1">eCommerce Engine © XT-Commerce</font></td>
              </tr>    
              <tr>
                <td align="left"><img src="{$tpl_path}img/pixel_trans.gif" alt="" width="1" height="14" border="0" /></td>
              </tr>                                
              <tr>
                <td align="center">
                <table border="0" width="100%">
                    <tr>
                        <td><script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
                            </script>
                            <script type="text/javascript">
                            _uacct = "UA-2281815-3";
                            urchinTracker();
                            </script></td>
                    </tr>
                </table>
                </td>
              </tr>                                
              </table>        
        </td>
    </tr>
</table>
</div>
</div>
@ MJSmith

es sieht so aus, wie wenn du erst den HTML-Tag schließen würdest, dann erst den Body-Tag und dann nochmal den HTML-Tag. Entferne mal das erste </html> und wieder ein Fehler weniger.
 
Zuletzt bearbeitet von einem Moderator:
Status
Für weitere Antworten geschlossen.
Zurück
Oben