2009-06-30 16 views
12

Unten finden Sie einen Beispielcode, der alle Links rechtsbündig anzeigt. Ich möchte das CSS so ändern, dass der linke Link linksbündig ist, der andere linksbündig ist, aber alle auf derselben Zeile stehen. Wie mache ich das?CSS - Linke und rechte Ausrichtung in derselben Zeile

Vielen Dank im Voraus,

John

Die HTML:

<div class="mainlinks"> 
    <a href="left.php" class="links">Left</a> 
    <a href="right1.php" class="links">Right1</a> 
    <a href="right2.php" class="links">Right2</a> 
</div> 

Die CSS:

.mainlinks 
    { 
    text-align:right; 
    margin-top:3px; 
    margin-right:10px; 
    margin-bottom:0px; 
    padding:0px; 
    } 

a.links:link { 
    color: #FF0000; text-decoration: none; 
    text-align:center; 
    margin-left:8px; 
    margin-top:300px; 
    margin-bottom:0px; 
    padding:2px; 
    font-family:Arial, Helvetica, sans-serif; 
    font-size: 14px; 
    } 

Antwort

10

Float links nach links

.left {float:left;} 

    <div class="mainlinks"> 
     <a href="left.php" class="links left">Left</a> 
     <a href="right1.php" class="links">Right1</a> 
     <a href="right2.php" class="links">Right2</a> 
    </div> 

Aber müssen Sie die margin-top entfernen: 300px von a.links:link sonst die linke wird 300px unter dem Recht sein.

+0

Danke, Emily. Ihre einfache Lösung hat perfekt funktioniert. Danke, dass du mir gestern geholfen hast, indem ich Firebug für die andere Frage vorgeschlagen habe. –

0

Sie brauchen, um es Blöcke zu trennen (div) oder Überschreibung über spezifischere CSS, die für den Link gelten, wie von @skurpur

vorgeschlagen

Ich glaube, Sie müssen Anzeige: Block zu dem Link, um es zu positionieren - z. Nur Blockelemente können positioniert werden.

+0

Ich habe versucht, und die linke Verbindung war eine Linie über der rechten Verbindung. Ich möchte sie auf der gleichen Linie. –

+0

Nun, Sie müssen CSS mehr studieren, um das Box-Modell zu verstehen. Sie müssen ein Element nach links und das andere nach rechts schweben lassen (oder beide auf die linke Einstellungsbreite auf 50% - vorausgesetzt, dass kein anderer Abstand/Rand und Rahmen gesetzt sind). – dusoft

3

Setzen Sie jedes in ein separates Div. Schweben Sie einen links, einen rechts. Stellen Sie die Breiten ein.

<div class="mainlinks"> 
    <div class="left">  
     <a href="left.php" class="links">Left</a> 
    </div> 
    <div class="right"> 
     <a href="right1.php" class="links">Right1</a> 
     <a href="right2.php" class="links">Right2</a> 
    </div> 
</div> 

CSS

.mainlinks .left { 
    float:left; 
    width: 49%; 
} 

.mainlinks .right { 
    float:right; 
    width: 49%; 
} 
+0

Dies setzt voraus, dass es keinen Rand/Rand auf den Divs gibt. Die Prozentsätze wären besser als px für die Längen der divs. –

+0

Ich habe eine "

" direkt unter meinen Links, aber mit Ihrem Setup oben sind meine Links jetzt unter der Linie.Darüber hinaus befindet sich der Link, den ich auf der linken Seite des Bildschirms haben möchte, jetzt in der Mitte. Die rechten Links sind wie gewohnt vorhanden. –

+0

Sie müssen die Schwimmer leeren. Kleben Sie ein div mit einem Stil von clear: beide unter dem Hauptlink div. –

1
<style> 
.mainlinks 
    { 
    text-align:right; 
    margin-top:3px; 
    margin-right:10px; 
    margin-bottom:0px; 
    padding:0px; 
    } 

a.links:link { 
    color: #FF0000; text-decoration: none; 
    text-align:center; 
    margin-left:8px; 
    margin-top:300px; 
    margin-bottom:0px; 
    padding:2px; 
    font-family:Arial, Helvetica, sans-serif; 
    font-size: 14px; 
    } 

.right { float: right } 
.left { float: left } 

</style> 
<div class="mainlinks"> 
    <a href="left.php" class="links left">Left</a> 
    <a href="right1.php" class="links right">Right1</a> 
    <a href="right2.php" class="links right">Right2</a> 
</div> 
+0

Ich habe dieses Setup versucht und das Aussehen meiner Seite drastisch geändert. Vielleicht werde ich weiter basteln. –

15

Es ist ein alter Post, aber es ist gut auf Google eingestuft, so dass es immer noch relevant ist.

Ich benutzte einen anderen Weg, um beide rechts und links auf der gleichen Linie auszurichten, ohne einen hässlichen Schwimmer zu verwenden. Es nutzt eine tabellenartige Anzeige:

HTML:


    <footer> 
     <nav>links (to the left)</nav> 
     <p>copyright (to the right)</p> 
    </footer> 

CSS:


    footer 
    { 
     display: table; 
     width: 100%; 
    } 
    footer nav 
    { 
     display: table-cell; 
     text-align: left; 
    } 
    footer p 
    { 
     display: table-cell; 
     text-align: right; 
    } 

Ich finde es so viel sauberer.

Hoffe das hilft jemandem!

+1

Wow, das ist eine erstaunliche Lösung! Was ich daran liebe ist, dass es sehr sauber ist und ich nicht 'float' benutzen muss (was ein klares verlangen: beides nachher). –

+2

Das ist großartig! Dies sollte die neue akzeptierte Antwort sein. – MCattle

Verwandte Themen