Zitat von
tab
Das <ul> hat hier irgendwoher einen margin von 1em zugewiesen bekommen (user agent stylesheet). Deswegen stehen die Flaggen unterhalb der Schrift, denn die hat dieses Margin nicht.
Code:
ul, menu, dir {
display: block;
list-style-type: disc;
-webkit-margin-before: 1em;
-webkit-margin-after: 1em;
-webkit-margin-start: 0px;
-webkit-margin-end: 0px;
-webkit-padding-start: 40px;
}
Damit hat das nichts zu tun, bzw. nur indirekt. Er hat folgendes definiert:
PHP-Code:
#header_complete .mod_changelanguage {
float: right;
}
Er will damit erzielen, dass .mod_changelanguage rechts von den anderen Links erscheint. Das funktioniert so aber nicht, da sein DOM Tree so aussieht:
PHP-Code:
<div class="login_registration">
<a rel="lightbox[400 200]" href="en/login.html"></a>
|
<a title="Register" href="en/register/articles/register.html"></a>
|
<a title="Lost password" href="en/lost-password/articles/lost-password.html"></a>
|
<nav class="mod_changelanguage block"></nav>
</div>
float:right; besagt, dass die jeweilige Box rechts vom folgenden Inhalt floated. Auf den Inhalt davor hat die CSS Eigenschaft float keine Auswirkung.
Funktioniert zwar in den meisten Browsern so wie er möchte, ist aber eher willkürlich und prinzipiell nicht der richtige Weg. Es gibt jetzt viele Lösungswege dafür, aber am zielführensten ist wohl dass sepp_a_u das CSS Box Model und die CSS Eigenschaft float verstehen lernt .
Eine Möglichkeit wäre allen Inhalten von .login_registration die Eigenschaft display:inline-block; zu geben (und kein Floating), bzw. nur dem .mod_changelanguage.
Lesezeichen