In questa pagina volevo creare un header in modo che comparissero le due immagini ai lati e il titolo in mezzo...come posso portare questi tre elementi sulla stessa "riga"?
In questa pagina volevo creare un header in modo che comparissero le due immagini ai lati e il titolo in mezzo...come posso portare questi tre elementi sulla stessa "riga"?
Il link che hai postato non funziona. Comunque per fare quello che chiedi devi usare i CSS.
O, in maniera molto brutale e decisamente meno fine, creare una tabella a una riga e tre colonne, ovviamente con bordi a spessore zero.
Secondo me basta usare 3 <span>, e con la proprietà float li sposto a sinistra e a destra.
Il link corretto è questo.
Pensavo che si potesse fare in maniera analoga alle colonne sotto ma non riesco.
Ovviamente parlavo di soluzioni css senza tabelle ;)
Copia tutto questo, sia html che css
Codice HTML:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <title>Titolo</title> <link rel="stylesheet" type="text/css" href="style.css" /> </head> <body> <div id="header"> <div id="headerdestra"> <img src="logoheader.jpg" alt="Logo" /> </div> <div id="headercentro"> <h1>Titolo</h1> </div> <div id="headersinistra"> <img src="logoheader.jpg" alt="Logo" /> </div> </div> <div id="contenitore"> <div id="sinistra"> <p>Link1</p> <p>Link2</p> </div> <div id="centro"> <p>Ciao</p><p>Ciao</p><p>Ciao</p><p>Ciao</p><p>Ciao</p><p>Ciao</p><p>Ciao</p> </div> <div id="destra"> <p>Altro</p> </div> </div> </body> </html>
Codice:@charset "utf-8"; /* CSS Document */ body { width:1000px; margin:auto; background-color:#BBBBBB; } #header { background-color:#ABCDEF; margin:0; padding:0; } #headersinistra { float:left; } #headercentro { float:right; width:590px; } #headercentro h1{text-align:center; } #headerdestra { float:right; } #contenitore { overflow:auto; margin:auto; background-color:#C6D580; } #sinistra { float:left; width:200px; } #centro { float:left; width:600px; background-color:#FFFFFF; } #destra { float:left; width:200px; }
Ultima modifica di australiafever : 27-08-2012 alle ore 15.02.04
C'è qualcosa che non va, può essere dovuto al fatto che l'immagine è di 202px anzichè 200?
Si, basta un pixel per rovinare tutto. Ho controllato il codice e non è quello che ti ho postato io. Per fare in modo che funzioni devi mettere l'HTML che ti ho postato io.
Ultima modifica di australiafever : 27-08-2012 alle ore 14.47.10
Ho quasi sistemato, resta il fatto che sotto alle due immagini rimane un po di header...è forse dovuto al bordo delle immagini? Come lo tolgo?
Devi mettere all'Header lo stesso height delle immagini. Esempio se l'immagine è alta 200px, devi mettere l'header alta 200px, e poi ricordati di azzerrare margin e padding.
Correggi l'id dell'header di sinistra manca un uguale.
Ultima modifica di australiafever : 27-08-2012 alle ore 18.59.48
Ho solamente corretto l'uguale che mancava e la pagina è diventata un disastro :(
Dal codice ho notato che l'header è fuori dal contenitore, invece deve essere all'interno del contenitore.
E poi non potresti creare un banner unico senza diventare pazzo con float ecc.?
ma se hai già una struttura a 3 colonne perchè non la usi e distribuisci quello che vorresti nell'header nelle 3 colonne?
oppure se avessi usato le classi ti sarebbe bastato raddoppiare l'html
Benissimo ;)
Ultima cosa...nel riquadro bianco il testo è attaccato al bordo e non c'è il solito margine, come mai?
E non si può impostare qualche proprietà margin o simili?
Ho ricevuto il messaggio privato, quindi per mettere del margine interno (padding parola corretta) al div con lo sfondo bianco, devi aggiungere questo codice;
esempio padding sinistro:
Esempio padding sinistro alto:Codice:#centro {padding:0 0 0 10px; }
Spero di avere azzeccato la richiesta.Codice:#centro {padding:10px 0 0 10px; }
EDIT: ricorda che se aggiungi il padding devi diminuire il width, altrimenti si sballa tutto.
Ultima modifica di australiafever : 28-08-2012 alle ore 20.46.53
Ho scritto:
sulle proprietà del div bianco ma non è cambiato nulla...riguardo il ridimensionare la width ho provato a ridurre quella del div bianco da 600px a 580px ma si sballa il layout.Codice PHP:
padding:10 10 10 10px;
Di fianco ad ogni 10 devi mettere px! Per quello che non funziona.
Inserendo il padding direttamente nel div centrale mi sballava anche l'header, ho quindi deciso di aggiungere all'interno del div centrare un ulteriore div con padding ;)
Ultima chicca riguardo gli elenchi puntati (con i quali ho costruito il menù di sinsitra): avendo eliminato i punti dell'elenco puntato, la parte sinistra del bottone scompare...come posso recuperarla?
Semplicemente al tag <ul> devi dargli un valore width con i css, in pratica la stessa larghezza che ha il div del menù.
è quello che ho fatto ma non funziona...
Codice PHP:
ul.navbar {
width:200px;
list-style:none;
border-top:1px solid #666666;
margin-bottom:15px;
}
Prova a mettere
Codice:li {margin:0; padding:0; }
Aggiunto ma...niente da fare :(
All'inizio del codice CSS inserisci questo
Se anche così non funziona, significa che hai impostato un qualche valore anomalo nei css.Codice:*, html {margin:0; padding:0; }
Un po è migliorato ma si è anche sformato in basso...
Tranquillo, per quello basta che nel div centrale bianco metti questo
Ovviamente in aggiunta all'altro codice.Codice:#centro {line-height:3em; }
vero, grazie!
e per centrare verticalmente il titolo?
Ultima modifica di tryhere : 29-08-2012 alle ore 15.40.40
Cambia il class .margine in questo modo
In pratica ho azzerato il padding che hai aggiunto a sinistra.Codice:.margine { padding:180px 10px 10px 0px; }
Ho editato la risposta mentre tu rispondevi credo :)
Ho risolto togliendo il margine nella colonna di sinistra...ora devo solo centrare verticalmente il titolo ed ho finito :)