|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Feb 2002
Messaggi: 1368
|
[HTML] prima esperienza, problema con iframe
stò provando a costruire un sitarello piuttosto semplice: titolo in alto, menù a sinistra e un frame centrale dove verranno visualizzate le pagine vere e proprie.
Stò utilizzando dreamweaver con un qualche modifica manuale al codice, ed ho incontrato un problema che mi porta un po' allo sclero: il frame centrale non sta al suo posto bensì, quando visualizzo il sito nel browser, va "a capo". Sapreste aiutarmi? vi allego il codice: Codice:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento senza titolo</title>
<style type="text/css">
<!--
body {
font: 100% Verdana, Arial, Helvetica, sans-serif;
background: #666666;
margin: 0; /* è buona norma impostare a zero i valori margin e padding dell'elemento body per tenere conto delle diverse impostazioni predefinite dei browser*/
padding: 0;
text-align: center; /* centra il contenitore nei browser IE 5*. Il testo viene quindi impostato con l'allineamento predefinito a sinistra nel selettore #container */
color: #000000;
background-image: url(brushed.jpg);
background-repeat: repeat;
}
.twoColLiqLtHdr #container {
width: 80%; /* crea un contenitore pari all'80% della larghezza del browser */
background: #FFFFFF; /* i margini auto (insieme a una larghezza) centrano la pagina */
border: 1px solid #000000;
text-align: left; /* sostituisce l'impostazione text-align: center nell'elemento body. */
margin-top: 2%;
margin-right: auto;
margin-bottom: 2%;
margin-left: auto;
height: 80%;
clear: both;
float: none;
padding: 0px;
position: fixed;
}
.twoColLiqLtHdr #header {
padding: 0 10px; /* questo padding corrisponde all'allineamento a sinistra degli elementi nei div sottostanti. Se in #header viene utilizzata un'immagine anziché un testo, può essere utile rimuovere il padding. */
background-color: #000;
border-bottom-width: medium;
border-bottom-style: groove;
border-bottom-color: #CCC;
}
.twoColLiqLtHdr #header h1 {
margin: 0; /* azzerando il valore margin dell'ultimo elemento del div #header si evita la compressione del margine, con la creazione di uno spazio inspiegabile tra i div. Se il div è circondato da un bordo, questo accorgimento non è necessario perché anche il bordo impedisce la compressione del margine */
padding: 10px 0; /* l'uso del valore padding al posto di margin consente di distanziare l'elemento dai bordi del div */
}
/* Suggerimenti per sidebar1:
1. Poiché si lavora in percentuali, è meglio non applicare un padding alla barra laterale, poiché, nei browser conformi agli standard, verrebbe aggiunto alla larghezza producendo una larghezza effettiva non prevedibile.
2. Per creare spazio tra il lato del div e gli elementi al suo interno, è possibile applicare un margine sinistro e destro a tali elementi, come descritto nella regola ".twoColLiqLtHdr #sidebar1 p".
3. Poiché Explorer calcola le larghezze dopo che è stato eseguito il rendering dell'elemento superiore, talvolta si possono verificare bug imprevisti nelle colonne basate su percentuali. Se si ha bisogno di risultati più prevedeibili, può essere opportuno passare a colonne con dimensioni in pixel.
*/
.twoColLiqLtHdr #sidebar1 {
float: left;
width: 24%; /* il colore di sfondo verrà visualizzato per tutta la lunghezza del contenuto all'interno della colonna, ma non oltre */
padding: 15px 0; /* un padding superiore e inferiore creano uno spazio visivo all'interno di questo div */
background-color: #000;
}
.twoColLiqLtHdr #sidebar1 h3, .twoColLiqLtHdr #sidebar1 p {
margin-left: 10px; /* è necessario applicare un margine sinistro e destro a ogni elemento che verrà inserito nelle colonne laterali */
margin-right: 10px;
}
/* Suggerimenti per mainContent:
1. Lo spazio tra mainContent e sidebar1 viene creato con il margine sinistro del div mainContent. Indipendentemente dalla quantità di contenuto presente nel div sidebar1, lo spazio della colonna rimane inalterato. È possibile rimuovere questo margine sinistro se si desidera che il testo del div #mainContent riempia lo spazio di #sidebar1 quando il contenuto di #sidebar1 finisce.
2. Per evitare il problema del "float drop" a una risoluzione minima supportata di 800 x 600, gli elementi all'interno del div mainContent devono essere di 430 px o più piccoli (comprese le immagini).
3. Nel commento condizionale di Internet Explorer riportato di seguito, la proprietà zoom viene utilizzata per assegnare "hasLayout" a mainContent, al fine di evitare vari bug specifici di IE.
*/
.twoColLiqLtHdr #mainContent {
margin: 0 20px 0 26%; /* il margine destro può essere specificato in percentuali o pixel. Crea lo spazio lungo il lato destro della pagina. */
}
.twoColLiqLtHdr #footer {
padding: 0 10px; /* questo padding corrisponde all'allineamento a sinistra degli elementi nei div sovrastanti. */
background:#DDDDDD;
}
.twoColLiqLtHdr #footer p {
margin: 0; /* azzerando il valore margin del primo elemento del footer si evita il rischio di compressione del margine, con la creazione di uno spazio tra i div */
padding: 10px 0; /* il padding di questo elemento crea uno spazio, così come avverrebbe specificando un valore margin, senza il problema della compressione del margine */
}
/* Classi varie riutilizzabili */
.fltrt { /* questa classe può essere utilizzata per rendere mobile un elemento a destra nella pagina. L'elemento reso mobile deve precedere l'elemento al quale deve essere affiancato sulla pagina. */
float: right;
margin-left: 8px;
}
.fltlft { /* questa classe può essere utilizzata per rendere mobile un elemento a sinistra nella pagina.*/
float: left;
margin-right: 8px;
}
.clearfloat { /* questa classe deve essere inserita in un elemento div o break e deve essere l'elemento finale prima della chiusura di un contenitore che deve contenere per intero un elemento mobile */
clear:both;
height:0;
font-size: 1px;
line-height: 0px;
}
body,td,th {
color: #CCC;
}
-->
</style><!--[if IE]>
<style type="text/css">
/* inserire in questo commento condizionale le correzioni css per tutte le versioni di IE */
.twoColLiqLtHdr #sidebar1 { padding-top: 30px; }
.twoColLiqLtHdr #mainContent { zoom: 1; padding-top: 15px; }
/* la proprietà zoom proprietaria riportata sopra fornisce a IE l'elemento hasLayout necessario per evitare vari bug */
</style>
<![endif]--></head>
<body class="twoColLiqLtHdr">
<div id="container">
<div id="header">
<h1 align="center">G.S. FERRO BATTUTO</h1>
<!-- end #header --></div>
<div id="sidebar1">
<h3> </h3>
<p>CHI SIAMO</p>
<p> </p>
<p>DOVE SIAMO</p>
<p> </p>
<p>SHOWROOM</p>
<p> </p>
<p>CONTATTACI</p>
<p> </p>
<p> </p>
<p>
<!-- end #sidebar1 -->
</p>
<p> </p>
</div>
<!-- Questo elemento di clearing deve seguire immediatamente il div #mainContent al fine di forzare il div #container a contenere tutti i float di livello inferiore -->
<iframe width="715" height="483"> </iframe>
<br class="clearfloat" />
<!-- end #container -->
</div>
</body>
</html>
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2008
Messaggi: 411
|
Perchè il "container" è largo in percentuale e quindi si adatta alla larghezza della finestra. Normale che sotto una certa dimensione spagini.
Prova a mettere Codice:
.twoColLiqLtHdr #container {
width: 1000px;
}
Codice:
.twoColLiqLtHdr #container {
width: 80%;
}
__________________
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Feb 2002
Messaggi: 1368
|
grazie cozza, con il tuo consiglio e una sistematina ai margini sono riuscito a metterlo come volevo!
C'è ancora da sistemare uno spazio bianco in fondo al documento, ma quello posso pure lasciarlo per ultimo e iniziare a preparare le pagine e i collegamenti! Certo oh, fosse un sito del '97 sarebbe indecente pure per allora
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:27.



















