2009-06-30 27 views
12

Di seguito è riportato un codice di esempio, che ha tutti i collegamenti giustificati. Vorrei cambiare il CSS in modo che il link "Sinistra" sia giustificato a sinistra, gli altri sono giustificati a destra, ma sono tutti sulla stessa linea. Come lo faccio?CSS - Allineamento sinistro e destro sulla stessa riga

Grazie in anticipo,

John

Il codice 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> 

Il 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; 
    } 

risposta

10

Float sinistra a sinistra

.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> 

Ma è necessario rimuovere il margin-top: 300px dal a.links:link altrimenti la sinistra essere 300px sotto la destra.

+0

Grazie, Emily. La tua soluzione semplice ha funzionato perfettamente. Inoltre, grazie per avermi aiutato ieri suggerendo Firebug per l'altra domanda che ho posto. –

0

è necessario mettere a separare i blocchi (div) o di esclusione tramite CSS più specifico che si applica al link come proposto da @skurpur

credo sia necessario aggiungere display: bloccare il collegamento per posizionarlo - ad es. solo gli elementi di blocco possono essere posizionati.

+0

Ho provato quello, e il link di sinistra era una linea sopra il link destro. Li voglio sulla stessa linea. –

+0

bene, è necessario studiare i CSS più per capire il modello di scatola. è necessario spostare un elemento a sinistra e l'altro a destra (o entrambi alla larghezza di impostazione a sinistra al 50%, presupponendo che non siano impostati altri padding/margine e bordi). – dusoft

3

Mettere ciascuno in un div separato. Float one left, one right. Imposta le larghezze.

<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

Questo presuppone che non ci sia margine/bordo sui div. Le percentuali sarebbero migliori come px per le lunghezze delle div. –

+0

Ho uno "

" direttamente sotto i miei collegamenti, ma con il tuo set-up sopra, i miei link sono ora sotto la linea.Inoltre, il collegamento che vorrei essere sul lato sinistro dello schermo è ora al centro. I collegamenti corretti sono come al solito. –

+0

Avrai bisogno di cancellare i galleggianti. Attaccare un div con uno stile chiaro: entrambi sottotenono il div mainlink. –

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

Ho provato questa configurazione e ha drasticamente modificato l'aspetto della mia pagina. Forse continuerò a armeggiare. –

15

È un vecchio post, ma è ben posizionato su google, quindi è ancora pertinente.

Ho usato un altro modo per allineare sia la destra che la sinistra sulla stessa linea, senza utilizzare alcun galleggiante brutto. Si avvale di un display da tavolo simile:

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; 
    } 

Trovo molto più pulito in questo modo.

Spero che questo aiuti qualcuno!

+1

Wow, questa è una soluzione incredibile! Ciò che amo di questo è che è molto pulito e non devo usare 'float' (che richiede una chiara: entrambi dopo di esso). –

+2

È grandioso! Questa dovrebbe essere la nuova risposta accettata. – MCattle

Problemi correlati