elemento di una classe specifica
DIV.warning
elemento di un id specifico
DIV#myid
elemento contenuto
body p{ /* tutti i p contenuti in body */ }
contenuto in
#el-id p{ } .class p{ } body p{ }
figlio di
#el-id > p{ } .class > p{ } body > p{ }
adiacente a
#el-id + p{ } .class + p{ } body + p{ }
per attributo
select option[selected] { /* tag contenente l'attributo*/ } input[type=text]{ } input[class~=text]{ /* match di una parola in una lista separata da spazi */ } input[class|=text]{ /*select elements with the specified attribute starting with the specified value*/ } input[class^="top"] { /* attribute value begins with a specified value */ } input[class$="test"] { /* end with */ } input[class*="te"] { /* contains */ }
Pseudo classi
:link :hover :active :visited :focus
selettori di elementi valgono 1, classi 10, id 100
* {} /* a=0 b=0 c=0 -> specificity = 0 */ LI {} /* a=0 b=0 c=1 -> specificity = 1 */ UL LI {} /* a=0 b=0 c=2 -> specificity = 2 */ UL OL+LI {} /* a=0 b=0 c=3 -> specificity = 3 */ H1 + *[REL=up]{} /* a=0 b=1 c=1 -> specificity = 11 */ UL OL LI.red {} /* a=0 b=1 c=3 -> specificity = 13 */ LI.red.level {} /* a=0 b=2 c=1 -> specificity = 21 */ #x34y {} /* a=1 b=0 c=0 -> specificity = 100 */
font-style Italic, normal font-variantnormal, small-caps font-weight bold, normal, lighter, bolder, integer (100-900) font-size font-family text-trasform capitalize, uppercase, lowercase, inherit, none white-space pre, nowrap, normal inherit text-indent length, percentage, inherit p { font-family: Georgia, Times, "Times New Roman", serif;}
text-align left, right, center, justify /* orizzontale */ vertical-align baseline, sub, super, top, text-top, middle, bottom, text-bottom, length/* verticale */
line-height
blink, line-through, none, overline, underline
background-color background-image background-repeat (repeat, no-repeat, repeat-x, repeat-y) background-attachment /* l'immagine avrà lo scroll? */ (scroll, fixed) background-position (x y), top, center, bottom, left, right
The simplest way to think about elements is this: unless otherwise defined in a style sheet, block elements have a width equal to that of the browser window, and are as tall as necessary to contain their content. As the name implies, they reserve a rectangular area—a block—on the page.
border-width border-style (dashed, dotted, double, groove, inset, outset, ridge, solid, none) border-color
h1 {margin: 10px}/* tutti i margini a 10px*/ h1 {margin: 10px 2%}/*top e bottom 10px, left e right 2% (width of the document)*/ h1 {margin: 10px 2% 10px}/* top 10px, left e right 2%, bottom 10px */ h1 {margin: 10px 2% 10px auto}/* top 10px, right 2%, bottom 10px, left a cura del browser */
Nella pagina, un elemento può essere posizionato secondo tre modi differenti:
block /* disposto a blocco */ inline /* disposizione in linea */ none /* rimosso dal flusso */
static flusso normale, 'left' e 'top' non si applicano. relative flusso normale, + applicazione di 'left' e 'top'. marca un blocco contenitore da usare con ''absolute'' absolute fuori dal flusso normale, 'left', 'right', 'top', and 'bottom' rispetto al blocco contenitore. diventa blocco contenitore fixed come absolute ma fisse rispetto alla porzione visibile(elementi che scrollano con la pagina)
float: left, right, none
forza gli elementi a disporsi a destra o a sinistra dell'elemento contenitore facendo scorrere attorno gli altri oggetti.
widthoppure, ad esempio per le immagini, dalle dimensioni in pixel del file di origine)
none, left, right, both
Sposta l'elemento a cui viene applicata sotto a tutti gli elementi flottanti dal lato speficicato
che interrompe il testo effettuando il clear in maniera semplice e pulita.
body { text-align: center; /* IE 5 hack, posiziona i block */ } #Content { margin:0px auto;/* CSS2 standard */ text-align:left;/* "text-align" attribute is inherited*/ }
img { vertical-align: bottom }
Center horizontal and vertical align of an element with fixed measure
<div style="width:200px;height:100px;position:absolute;left:50%;top:50%; margin-left:-100px;margin-top:-50px;"> <!–content–> </div>
Center horizontally and vertically a single line of text
<div style="width:400px;height:200px;text-align:center;line-height:200px;"> <!–content–> </div> <code> Center horizontal and vertical align of an element with no specific measure <code css> <div style="display:table;height:300px;text-align:center;"> <div style="display:table-cell;vertical-align:middle;"> <!–content–> </div> </div>
proprietà che controllano la porzione visibile di testo all'interno di un elemento con dimensione fissa
overflow visible, hidden, scroll, auto, inherit clip rect(t, r, b, l)
list-style-type /* tipo di numerazione o pallino */ (disc, circle, square, decimal, lower-roman, upper-roman, lower-alpha, upper-alpha, none) list-style-position(inside, outside) list-style-image /* è possibile usare un'immagine come pallino */ ul{ list-style-image: url(images/arrow.gif); } /* lista in linea, per menu */ li { display: inline; list-style-type: none; padding-right: 20px; }
menu da lista:
<div class="DLB"> <ul id="mainMenu"> <li><a href="#A" class="checked">Home</a></li> <li><a href="#B">Gestione A</a></li> </ul> </div>
.DLB{ overflow: hidden; } .DLB ul{ margin: 0; padding: 0; float: left; width: 100%; background: gray; } .DLB ul li{ display: inline; } .DLB ul li a{ float: left; color: #F8F8FF; padding: 9px 11px; text-decoration: none; } .DLB ul li a:visited{ color: #F8F8FF; } .DLB ul li a.checked{ color: #696969; background: #DCDCDC; } .DLB ul li a:hover, .DLB ul li .current { color: #FFFFF0; background: #C0C0C0; }
// border-collapse: collapse, separate /* Borders are collapsed into a single border when possible */ table { border-collapse: collapse; width: 100%; } table, th, td { border: 1px solid black; } th { height: 50px; }
in un foglio di stile indicare a che media sono dirette le regole
<link rel="stylesheet" type="text/css" href="base.css" media="all"> <link rel="stylesheet" type="text/css" href="main.css" media="screen"> <link rel="stylesheet" type="text/css" href="print.css" media="print">
@media print { body { font-size: 10pt; background-color: white;/* togliere i bg*/ color: black;/* ridefinire se necessario i colori del testo*/ } } /* mostrare le url a cui puntano i collegamenti: contenuto generato e pseudoclasse after */ p a:after { content: " <" attr(href) "> "; } /*controllare il salto pagina*/ page-break-before auto, always, avoid, felft, right, inherit page-break-after auto, always, avoid, felft, right, inherit /*orientazione di pagina*/ size auto, portrait, landscape, inherit
per testare la pagina con il media print: emulation > media > print
usare selettori tipo
.ie #footer{} .ie7 #footer{} .mac.ie7 #footer{}
versione leggera del metodo Modernize
(function(){ var u=navigator.userAgent.toLowerCase(), i=function(t){return u.indexOf(t)>-1;}, g='gecko',w='webkit', c=[(!(/opera|webtv/i.test(u))&&/msie\s(\d)/.test(u)) ? ('ie ie'+RegExp.$1): i('firefox/2')?g+'ff2': i('firefox/3')?g+'ff3': i(g+'/')?g: /opera\s(\d)/.test(u)?'opera opera'+RegExp.$1: i('konqueror')?w+'konqueror': i('chrome')?w+'chrome': i('applewebkit/')?w+'safari': i('mozilla/')?g:'', ,i('mac')?'mac':i('win')?'win':'' ,'js']; // alert(u); document.getElementsByTagName('html')[0].className += c.join(' '); })();
/*------------------------------------------------------------ reset HTML standard elements */ body, h1, h2, h3, p, ul, li, form, input{ border:0; margin:0; padding:0; } ul{list-style:none;} /*------------------------------------------------------------ main layout section */ #wrapper{...} #header{...} #nav{...} #main{...} #sidebar{...} #footer{...} /*------------------------------------------------------------ content structure */ #nav ul{...} #nav ul li{...} #nav ul li a:link{...} #nav ul li a:visited{...} #nav ul li a:hover{...} #nav ul li a:active{...} #footer ul{...} #footer ul li{...} #footer ul li a:link{...} #footer ul li a:visited{...} #footer ul li a:hover{...} #footer ul li a:active{...} #footer p{...} /*------------------------------------------------------------ Custom classes */ .right{float:right;} .feed-icon{...}