Skip to Main Content

Articoli in ‘Realizzazione’

La mia pagina web: struttura e stile

La struttura:


<!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>
<title>La mia prima pagina web - Il mio sito</title>
<meta name="author" content="Paolo Sordi" />
<link rel="stylesheet" type="text/css" href="stile.css" media="screen">
</head>
<body>

<div id="wrap">

<div class="header"><h1>Il mio sito web</h1></div>

<div id="content" class="article">

<h1>Titolo della pagina</h1>
<p class="date">Data di pubblicazione: 11 maggio 2011</p>

<p><a href="http://www.flickr.com/photos/paolosordi/4507263985/" title="4507263985 di paolosordi, su Flickr"><img src="http://farm3.static.flickr.com/2338/4507263985_9c492d78fe_m_d.jpg" width="240" height="160" alt="4507263985"></a>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat.</p>

<h2>Video: The Machine is Us/ing Us</h2>
<iframe width="425" height="349" src="http://www.youtube.com/embed/NLlGopyXT_g" frameborder="0" allowfullscreen></iframe>

</div>

<div id="sidebar" class="aside">
<h1>Un po' di Web 2.0</h1>

<script type="text/javascript" src="http://www.google.it/reader/ui/publisher-it.js"></script>
<script type="text/javascript" src="http://www.google.it/reader/public/javascript/user/14283940041462350337/label/Web Design?n=5&callback=GRC_p(%7Bc%3A%22-%22%2Ct%3A%22Web%20Design%20Feed%22%2Cs%3A%22true%22%2Cn%3A%22true%22%2Cb%3A%22false%22%7D)%3Bnew%20GRC"></script>

<script type="text/javascript" src="http://feeds.delicious.com/v2/js/pavelo?title=My%20Delicious%20Bookmarks&icon=m&count=5&sort=date&tags&extended&name&showadd"></script>

</div>

<div class="footer">
<h1>Collegamenti</h1>
<ul>
<li><a href="http://didattica.uniroma2.it/informazioni/index/40903-Progettazione-E-Realizzazione-DI-Siti-Web-Lm">Progettazione e realizzazione di siti web</a></li>
<li><a href="http://editoriaecomunicazione.uniroma2.it/">Corso di Laurea magistrale in informazione e sistemi editoriali</a></li>
<li><a href="http://lettere.uniroma2.it">Facoltà di Lettere Tor Vergata</a></li>
</ul>
</div>

</div>
</body>
</html>

Lo stile:


 body {
	background-color: #000;
	font-family: Helvetica,Arial,sans-serif;
}

 h1, h2, h3, h4, h5, h6 {
	font-family: Georgia, "Times New Roman", serif;
	color: #444444;
	margin: 0;
	padding: 0;
}

 a {
	color: #1963ff;
}

 a:hover {
	text-decoration: none;
	color: #00007f;
}
 div#wrap {
	background-color: white;
	width: 940px;
	margin: 0 auto;
	padding: 0 10px;
	overflow: hidden;
}

 .header {
	background-color: #999999;
	padding: 20px;
	margin-top: 10px;
}

.header h1 {
	font-size: 44px;
	color: #fff;
	text-shadow: #111 1px 1px 1px;
}

.article {
	width: 540px;
	padding: 10px;
	float: left;
}

.article h1 {
	border-bottom: 2px solid #ddd;
	font-size: 28px;
}

.article h2 {
	border-bottom: 2px dotted #ddd;
	font-size: 20px;
	margin-bottom: 10px;
}

.article p.date {
	text-align: right;
	margin: 0;
	padding: 0 0 10px 0;
	font-size: 11px;
	color: #555;
}

.article img {
	float:right;
	padding: 2px;
	border: 1px solid #444;
	background-color: #ddd;
	margin-left: 5px;
}

 .aside {
	width: 360px;
	margin: 10px 0;
	padding: 10px;
	float: left;
	color: #777;
	background-color: #efefef;
}

.aside h1 {
	margin-bottom: 10px;
	padding: 10px;
	color: white;
	background-color: #7f7f7f;
	font-size: 20px;
}

 #readerpublishermodule0 {
	margin-bottom: 10px;
}
 #readerpublishermodule0 h3 {
	font-size: 20px;
	padding: 0px;
	margin: 10px 0;
	list-style-type: none;
}
 #readerpublishermodule0 ul {
	padding: 0px;
	margin: 10px 0;
	list-style-type: none;
}
 #readerpublishermodule0 li {
	margin-bottom: 5px;
	list-style-type: none;
}
 #readerpublishermodule0 .s {
	margin-top: 5px;
	font-size: 11px;
	list-style-type: none;
}
 .delicious-posts h2 {
	margin: 10px 0;
	font-size: 20px;
}
 .delicious-posts h2 a {
	color: #454545;
	text-decoration: none;
	font-size: 20px;
}
 .footer {
	color: white;
	clear: both;
	background-color: #b1b1b1;
}
 .footer h1 {
	color: white;
	text-shadow: #111 1px 1px;
	font-size: 14px;
	padding: 10px;
	margin: 10px 0;
	list-style-type: none;
}
 .footer ul {
	padding: 0 0 10px 5px;
	margin: 10px 0;
	list-style-type: none;
	overflow: hidden;
}
 .footer li {
	font-size: 11px;
	float: left;
	padding: 0;
	margin: 0;
	list-style-type: none;
}
 .footer a {
	margin-right: 5px;
	padding: 5px;
	background-color: #1963ff;
	color: white;
	text-decoration: none;
	display: block;
}

 .footer a:hover {
	background-color: #efefef;
	color: #444;
}

Il risultato finale:


File lezione 7 aprile

Download


Esercitazione: simulazione della valutazione del modulo B

(continua…)


Una struttura, due presentazioni

La struttura:


<div id="wrap">

<div id="masthead" class="header">
<h1>Questo è <a href="#">il mio sito</a></h1>
</div>

<div id="content">

<div class="article" id="post-18">

<h1>Questo è un mio post</h1>
<p class="post-info">Pubblicato in <a href="#">Categoria</a> il
5 Aprile 2010</p>
<p>Proin at eros non eros adipiscing mollis. Donec semper turpis sed diam. Sed consequat ligula nec tortor. Integer eget sem. Ut vitae enim eu est vehicula gravida. Morbi ipsum ipsum, porta nec, tempor id, auctor vitae, purus. Pellentesque neque. Nulla luctus erat vitae libero. Integer nec enim. Phasellus aliquam enim et tortor. Quisque aliquet, quam elementum condimentum feugiat, tellus odio consectetuer wisi, vel nonummy sem neque in elit. Curabitur eleifend wisi iaculis ipsum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. In non velit non ligula laoreet ultrices. Praesent ultricies facilisis nisl. Vivamus luctus elit sit amet mi. Phasellus pellentesque, erat eget elementum volutpat, dolor nisl porta neque, vitae sodales ipsum nibh in ligula. Maecenas mattis pulvinar diam. Curabitur sed leo.</p>
<p>Proin at eros non eros adipiscing mollis. Donec semper turpis sed diam. Sed consequat ligula nec tortor. Integer eget sem. Ut vitae enim eu est vehicula gravida. Morbi ipsum ipsum, porta nec, tempor id, auctor vitae, purus. Pellentesque neque. Nulla luctus erat vitae libero. Integer nec enim. Phasellus aliquam enim et tortor. Quisque aliquet, quam elementum condimentum feugiat, tellus odio consectetuer wisi, vel nonummy sem neque in elit. Curabitur eleifend wisi iaculis ipsum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. In non velit non ligula laoreet ultrices. Praesent ultricies facilisis nisl. Vivamus luctus elit sit amet mi. Phasellus pellentesque, erat eget elementum volutpat, dolor nisl porta neque, vitae sodales ipsum nibh in ligula. Maecenas mattis pulvinar diam. Curabitur sed leo.</p>
<ul>
  <li>Curabitur quis dui sit amet elit luctus aliquam</li>
  <li>Aliquam adipiscing libero vitae leo</li>
  <li>Maecenas tempus dictum libero</li>
  <li>Curabitur quis dui sit amet elit luctus aliquam</li>
  <li>Mauris aliquet mattis metus</li>
</ul>
<p>Proin at eros non eros adipiscing mollis. Donec semper turpis sed diam. Sed consequat ligula nec tortor. Integer eget sem. Ut vitae enim eu est vehicula gravida. Morbi ipsum ipsum, porta nec, tempor id, auctor vitae, purus. Pellentesque neque. Nulla luctus erat vitae libero. Integer nec enim. Phasellus aliquam enim et tortor. Quisque aliquet, quam elementum condimentum feugiat, tellus odio consectetuer wisi, vel nonummy sem neque in elit. Curabitur eleifend wisi iaculis ipsum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. In non velit non ligula laoreet ultrices. Praesent ultricies facilisis nisl. Vivamus luctus elit sit amet mi. Phasellus pellentesque, erat eget elementum volutpat, dolor nisl porta neque, vitae sodales ipsum nibh in ligula. Maecenas mattis pulvinar diam. Curabitur sed leo.</p>
</div>

<div class="aside">

<h1>Post correlati</h1>
<ul>
<li><a href="#">Questo è un post correlato</a></li>
<li><a href="#">Questo è un altro post correlato</a></li>
<li><a href="#">Questo è ancora un post correlato</a></li>
<li><a href="#">Questo è un ultimo post correlato</a></li>
</ul>
</div>

</div>

<div id="nav-primary" class="nav">
  <ul>
    <li class="nav-previous"><a href="#">&larr; Post precedente</a>
    </li>
    <li class="nav-next"><a href="#">Post successivo &rarr;</a></li>
  </ul>
  </div>

<div class="author-info">
<p>Paolo Rossi nulla luctus erat vitae libero. Integer nec enim. Phasellus aliquam enim et tortor. </p>
</div>

<div id="nav-secondary" class="nav">
<a href="#">&uarr; Home</a>
</div>

<div class="footer" id="site-info">
<p>
&copy; Paolo Rossi.
Powered by <a href="#">WordPress</a>.
</p>
</div>

</div>

Lo stile/1:

/* Reset */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
}

ol, ul {
	list-style: none;
}

/* Regole generali */

body {
background-color: #292C37;
color: #8B92A9;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 14px;
line-height: 1.5em;
}

h1, p {
margin: 0 0 1em 0;
font-weight: normal;
}

a {
color: #DDDFF3;
text-decoration: none;
}

a:hover {
color: #efefef;
text-decoration: underline;
}

/* Layout */

#wrap {
width: 960px;
margin: 0 auto;
position: relative;
}

#content {
position: relative;
overflow: hidden;
}

.article {
width: 620px;
padding: 0 10px; /* 620+10+10=640 */
}

.aside {
position: absolute;
top: 0;
left: 640px;
width: 300px;
padding: 0 10px; /* 640+300+10+10=960 */
}

/* Testata principale */

#masthead {
margin: 50px 0 2em 0;
}

#masthead h1 {
text-align: right;
font-size: 1.25em;
font-weight: normal;
}

/* Contenuto principale */

.article h1 {
color: #efefef;
}

.article ul {
list-style-type: square;
margin: 0 0 1em 20px;
}
.article li {
margin: 0 0 1em 0;
}

/* Contenuto secondario */

.aside ul {
list-style-type: circle;
margin: 0 1em;
}

/* Info autore */

.author-info {
padding: 2em 10px;
}

/* Navigation */

#nav-primary li.nav-previous {
float: left;
}

#nav-primary li.nav-next {
float: right;
}

#nav-primary {
overflow: hidden; /* Per bilanciare il contenimento degli elementi con proprietà 'float'  */
margin: 2em 0;
}

#nav-secondary {
padding: 2em 10px;
}

/* Pié di pagina */

.footer {
margin: 1em 10px;
}

Lo stile/2:

/* Reset */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
}

ol, ul {
	list-style: none;
}

/* Regole generali */

body {
background-color: #001;
font-family: Georgia, "Times New Roman", serif;
font-size: 14px;
line-height: 1.5em;
}

h1, p {
margin: 0 0 1em 0;
}

a {
color: #c33;
text-decoration: none;
}

a:hover {
color: #333;
text-decoration: underline;
}

/* Layout */

#wrap {
width: 960px;
background: white;
margin: 0 auto;
position: relative;
}

#content {
position: relative;
margin-top: 2em;
overflow: hidden; /* Per bilanciare il contenimento degli elementi con proprietà 'float'  */
}

.article {
float: left;
width: 620px;
padding: 0 10px; /* 620+10+10=640 */
}

.aside {
float: left;
width: 300px;
padding: 0 10px; /* 620+10+10+300+10+10=960 */
text-align: right;
}

/* Testata principale */

#masthead  {
background: #F30;
position: relative;
height: 100px;
border-bottom: 10px solid #333;
}

#masthead h1 {
color: #777;
position: absolute;
left: -20px;
top: 1.25em;
font-size: 4em;
color: white;
text-shadow: #000 1px 1px 1px;
}

#masthead a {
color: #ccc;
text-decoration: none;
}

/* Contenuto principale */

.article h1 {
border: 1px solid #930;
border-width: 1px 0;
padding: 1em 0;
margin-bottom: 0;
}

.article ul {
list-style-type: lower-roman;
margin: 0 0 1em 20px;
}
.article li {
margin: 0 0 1em 0;
}

.post-info {
color: #777;
}

/* Contenuto secondario */

.aside h1 {
border: 1px dotted #930;
border-width: 1px 0;
padding: 1em 0;
color:#666;
}

/* Info autore */

.author-info {
color: #888;
background: #efefef;
padding: 10px;
margin: 2em 0 2em 10px;
width: 600px;
}

/* Navigation */

#nav-primary li.nav-previous {
float: left;
margin-left: 10px;
}

#nav-primary li.nav-next {
float: right;
margin-right: 10px;
}

#nav-primary {
overflow: hidden; /* Per bilanciare il contenimento degli elementi con proprietà 'float'  */
width: 640px;
background: black;
}

#nav-primary a:hover {
color: #efefef;
}

#nav-secondary {
position: absolute;
top: 0;
left: 0;
}

#nav-secondary a {
color: white;
background: black;
padding: 10px;
display: block;
}

#nav-secondary a:hover {
color: black;
background: white;
text-decoration: none;
}

.footer {
margin: 1em 0;
padding: 1em;
border-top: 1px solid #777;
}

CSS: box model e posizionamento

Il box model

Il box model dei Cascading Style Sheets prevede che lo spazio occupato da un elemento blocco sia pari alla sua ampiezza e altezza (proprietà width e proprietà height) più la sua spaziatura interna (proprietà padding) più i suoi bordi (proprietà border) più i suoi margini (proprietà margin).

Il posizionamento

Per impostazione predefinita, il posizionamento di un elemento blocco è statico (position: static). Questo significa che se i fogli di stile non prevedono nulla di diverso, gli elementi all’interno di una pagina HTML si susseguono sequenzialmente uno dopo l’altro, ciascuno su una nuova linea, secondo l’esatto ordine in cui compaiono nella struttura del documento.

Ogni elemento posizionato è collocato con riguardo al suo elemento blocco contenitore, che opera da punto di riferimento per il posizionamento dell’elemento in esso contenuto.

Posizionamento relativo

Se la sua posizione è relativa (position: relative), l’elemento viene spostato (si dice: offset) dalla sua naturale collocazione nella sequenza del documento HTML, preservando comunque lo spazio che lo precede. Questo perchè la sua posizione, regolabile attraverso le proprietà top, right, bottom, left, è calcolata rispetto al punto in cui l’elemento compare nella struttura di marcatura. In altre parole, il blocco contenitore di un elemento posizionato relativamente è sempre il blocco desumibile dalla struttura.

In ogni caso, il posizionamento relativo comporta la possibile sovrapposizione dell’elemento con altri elementi, siano essi posizionati o meno: sta al progettista delle regole di stile armonizzare i posizionamenti o stabilire le corrette sovrapposizioni attraverso la proprietà z-index.

Posizionamento assoluto

Se la sua posizione è assoluta (position: asolute), l’elemento viene rimosso completamente dalla sua naturale collocazione all’interno del flow del documento HTML. In questo caso, il blocco contenitore che funziona da punto di riferimento per il posizionamento (regolabile sempre attraverso le proprietà top, right, bottom, left) è il più immediato elemento padre che abbia a sua volta un posizionamento relativo o assoluto. Se non esiste un elemento contenitore così posizionato, il blocco contenitore sarà allora l’elemento radice (root) del documento, vale a dire l’elemento HTML: il blocco contenitore partirà quindi dall’angolo superiore sinistro del documento, a prescindere dai margini assegnati all’elemento BODY.

Il posizionamento assoluto comporta la sovrapposizione dell’elemento con altri elementi, siano essi posizionati o meno: sta al progettista delle regole di stile armonizzare i posizionamenti o stabilire le corrette sovrapposizioni attraverso la proprietà z-index.


CSS2 Reference

www.w3schools.com/css/css_reference.asp


HTML 4.01 / XHTML 1.0 Reference


CSS: selettore discendente

In un documento HTML, ogni elemento è figlio di un altro elemento, fino a risalire all’elemento radice. Questa struttura ad albero può essere utilizzata nei fogli di stile per selezionare un particolare elemento figlio di un altro particolare elemento.

Data questa struttura:

<div id="content">
<p>Paragrafo</p>
</div>
<div>
<p>Altro paragrafo</p>
</div>

posso scrivere una regola di stile che utilizzi come normale selettore un paragrafo e una regola che utilizzi un selettore discendente, valida solo per l’elemento p che discende dall’elemento div con un attributo id uguale a content:

p {color: black;}
#content p {color: red;}

In questa maniera, tutti i paragrafi avranno un colore nero, ma i paragrafi contenuti all’interno dell’elemento di divisione identificato nella struttura come content avranno un colore rosso.


divitis, microformats, 960 grid system: un tema per WordPress

Un post di Livio Mondini mi ha ispirato hAtomGrid (file ZIP, 40KB), un tema o meglio un wireframe framework per WordPress che, oltre a ridurre al minimo indispensabile i div, integra il microformat hAtom per la struttura XHTML dei post e 960 Grid System per l’impaginazione.


Il mio sito: i file

I file integrali delle esercitazioni:


  • Libri

  • Segnalibri su delicious

  • Non solo web design