- Home
- Categorie
- Coding e Sistemistica
- HTML e CSS
- Problema margini testo non inserito tra paragrafi e layout
-
Problema margini testo non inserito tra paragrafi e layout
Salve a tutti,
Ho un problema abbastanza strano di cui non riesco a venirne a capo; riguarda principalmente i margini tra la colonna sinistra (e quella destra, nel caso il testo fosse allineato diversamente) e il box centrale dei contenuti del sito.
Il layout è un classico 3 colonne table-less in CSS, tipico di un portale.Ad esempio, questa è una pagina del sito:
thetotalsite.it/articoli/showarticle.aspx?id=1
Notate come innanzitutto il testo ha un certo margine normalmente con la colonna di destra, questo fino alla barra in basso (<hr>) che separa i commenti.
A questo punto, sia la barra che il testo e i controlli sotto, sono decentrati rispetto all'altro testo. Vanno più a sinistra, come se il margine fosse minore.Come mai? Sto vedendo il CSS, ma non riesco a capire il problema dov'è...
Il CSS è questo:
* { margin: 0; padding: 0; } body { margin: 0; padding: 0; font: 70%/1.5 Verdana, Tahoma, Arial, Helvetica, sans-serif; color: #333; background: #FFF url(bg.gif) repeat-x; } /* links */ a { color: #003366; background-color: inherit; text-decoration: none; } a:hover { color: #CC0001; background-color: inherit; } /* headers */ h1, h2, h3, h4 { font-family: Arial, 'Trebuchet MS', Sans-Serif; font-weight: bold; color:; } h1 { font-size: 135%; letter-spacing: .5px; } h2 { font-size: 125%; color:; } h3 { font-size: 115%; color:; } h4 { font-size: 110%; color:; } /* images */ img { border: 2px solid #CCC; } img.float-right { margin: 5px 0px 10px 10px; } img.float-left { margin: 5px 10px 10px 0px; } h1, h2, h3, p { padding: 0; margin: 10px; } ul, ol { margin: 10px 20px; padding: 0 20px; } code { margin: 10px 0; padding: 10px; text-align: left; display: block; overflow: auto; font: 500 1em/1.5em 'Lucida Console', 'courier new', monospace; /* white-space: pre; */ background: #FAFAFA; border: 1px solid #f2f2f2; border-left: 4px solid #CC0000; } acronym { cursor: help; border-bottom: 1px solid #777; } blockquote { margin: 10px; padding: 0 0 0 32px; background: url(quote.gif) no-repeat 5px 10px !important; background-position: 8px 10px; border: 1px solid; border-left: 4px solid; font-weight: bold; } /* form elements */ form { /*margin:10px; padding: 0 5px;*/ /* border: 1px solid; */ /* background-color:; */ } label { display:block; font-weight:bold; margin:5px 0; } input { padding: 2px; border:2px solid #000000; font: normal 1em Verdana, sans-serif; color:#777; } textarea { width:400px; padding:2px; font: normal 1em Verdana, sans-serif; border:1px solid #eee; height:100px; display:block; color:#777; } input.button { margin: 0; font: bolder 12px Arial, Sans-serif; border: 1px solid; padding: 1px; background:; color:; } /* search form */ form.search { position: absolute; top: 2px; right: 19px; padding: 0; margin: 0; border: none; background-color: transparent; width: 487px; } form.search input.textbox { margin: 0; width: 180px; border: 1px solid; background:; color:; } form.search input.searchbutton { margin: 0; font-size: 100%; font-family: Arial, Sans-serif; border: 1px solid; background: #FFFFFF url(headerbg.gif) repeat-x bottom left; padding: 1px; font-weight: bold; height: 23px; color:; width: 60px; } /********************************** LAYOUT ***********************************/ #wrap { margin: 0 auto; width: 100%; } /* header */ #header { position: relative; margin: 0; padding: 0; height: 60px; } span#slogan { z-index: 3; position: absolute; left: 14px; bottom: 9px; font: bold 1.2em Verdana, Arial, Tahoma, Sans-serif; color:; } -logo { position: relative; clear: both; height: 50px; margin: 0; padding: 0; }-logo #logo { position: absolute; top: 4px; left: 11px; font: bold 30px "trebuchet MS", Arial, Tahoma, Sans-Serif; margin: 0; padding: 0; letter-spacing: -1px; color: #000; width: 259px; } .withMargin { padding: 0; margin: 10px; } /* navigation tabs */ ul { position: absolute; margin:0; list-style:none; right:1px; bottom: 1px; font: bold 13px 'Trebuchet MS', Arial, Sans-serif; } li { display:inline; margin:0; padding:0; } a { float:left; background: url(tableft.gif) no-repeat left top; margin:0; padding:0 0 0 4px; text-decoration:none; } a span { float:left; display:block; background: url(tabright.gif) no-repeat right top; padding:5px 15px 4px 6px; color:#FFF; } /* Commented Backslash Hack hides rule from IE5-Mac \*/ a span {float:none;} /* End IE5-Mac hack */ a:hover span { color:#FFF; } a:hover { background-position:0% -42px; } a:hover span { background-position:100% -42px; } #current a { background-position:0% -42px; } a span { background-position:100% -42px; } /* main column */ #main { float: left; margin: 0; padding: 0; width: 69%; } h1 { margin: 10px 0; padding: 4px 0 4px 8px; font-size: 105%; color:; text-transform: uppercase; background-color:; letter-spacing: .5px; } /* sidebar */ #sidebar { float: left; width: 13%; margin: 1%; padding: 0; background-color:; } h1 { margin: 10px 0 0 0; padding: 4px 0 4px 8px; font: bold 105% Arial, Sans-Serif; color:; text-transform: uppercase; background:; letter-spacing: 1px; } .left-box { border: 1px solid #EBEBEB; margin: 0 0 5px 0; background:; } ul.sidemenu { list-style: none; text-align: left; margin: 3px 0px 8px 0; padding: 0; text-decoration: none; } ul.sidemenu li { border-bottom: 1px solid; background: url(bullet.gif) no-repeat 3px 2px; padding: 3px 5px 3px 25px; margin: 0; } ul.sidemenu a { font-weight: bolder; padding: 3px 0px; background: none; } /* sidebar2 */ #sidebar2 { float: left; width: 13%; margin-left: 1%; padding: 0; background-color:; } h1 { margin: 10px 0 0 0; padding: 4px 0 4px 8px; font: bold 105% Arial, Sans-Serif; color:; text-transform: uppercase; background:; letter-spacing: 1px; } .left-box { border: 1px solid; margin: 0 0 5px 0; background:; } ul.sidemenu { list-style: none; text-align: left; margin: 3px 0px 8px 0; padding: 0; text-decoration: none; } ul.sidemenu li { border-bottom: 1px solid; background: url(bullet.gif) no-repeat 3px 2px; padding: 3px 5px 3px 25px; margin: 0; } ul.sidemenu a { font-weight: bolder; padding: 3px 0px; background: none; } /* footer */ .footer { clear: both; border-top: 1px solid; background: url(footerbg.gif) repeat-x; padding: 2px 0 10px 0; text-align: center; line-height: 1.5em; font-size: 95%; } .footer a { text-decoration: none; font-weight: bold; } /* alignment classes */ .float-left { float: left; } .float-right { float: right; } .align-left { text-align: left; } .align-right { text-align: right; } /* display and additional classes */ .clear { clear: both; } .red { color:; } .comments { margin: 20px 10px 5px 10px; padding: 3px 0; border-bottom: 1px dashed #EFF0F1; border-top: 1px dashed; }
Grazie in anticipo a chiunque sappia darmi una mano,
-
Ciao Carmine,
innanzitutto c'è qualche errore di sintassi html.
L'intero tuo blocco di testo dato dal tag paragrafo "p" è a sua volta , ed erratamente, chiuso da un tag "span" solitamente utilizzabile sulle singole parole.Tralasciando questo mi pare di notare che il blocco **p, **cioè ciò che viene prima dei commenti, abbia un margine di 10 px.
I commenti invece sono racchiusi unicamente in un tag "div" che non ha nessun margine.
Ti basta ovviare a questo problema aggiungendo alla classe "base" il margine di 10px.Ah naturalmente anche al tag hr che altrimenti sarebbe più lungo a sua volta di 20px.
-
Ciao,
Ho sistemato quel problema dell'aggiunta dello SPAN, grazie per avermelo fatto notare.Inoltre ho provato a modificare il CSS così, aggiungendo un margine di 10px agli hr e ai div all'interno del livello #main.
La direttiva "base" era un errore, in realtà come vedi non esiste all'interno del CSS.Questo è quello che ho aggiunto al CSS:
div, hr { margin: 10px; }
Il problema è che, come vedi, ora i P e gli HR dentro a un DIV prendono altri 10 px in più di margine, arrivando ad avere quindi 20 px di margine, invece di 10px (nota la seconda HR nell'articolo, vedrai che è più piccola dell'altra).
Come faccio a sistemare questo problema?
-
Ciao Carmine volevo sapere se avevi risolto
-
Ciao,
Ancora no purtroppoCome scrivevo ho adesso quel problema che aggiunge troppo margine;
ovvero, se imposto ai div e alle hr un margin di 10px; le hr dentro al div prenderanno ora 20px di margine, e non 10px.