50 Snippets CSS che ogni designer dovrebbe avere a portata di mano

Quando si parla di impostazioni di siti web, una componente molto importante da considerare sono i CSS, noti anche come fogli di stile o stylesheet. Il CSS non è altro che un insieme di istruzioni, scritte in codice, che spiega al nostro sito come comportarsi quando viene visualizzato.

Qui di seguito, 50 snippet utili per i web designer e non solo.

1. CSS RESETS

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, 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, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  outline: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html { height: 101%; }
body { font-size: 62.5%; line-height: 1; font-family: Arial, Tahoma, sans-serif; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
ol, ul { list-style: none; }

blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }
strong { font-weight: bold; } 

table { border-collapse: collapse; border-spacing: 0; }
img { border: 0; max-width: 100%; }

p { font-size: 1.2em; line-height: 1.0em; color: #333; }

I reset CSS permettono di eliminare elementi superflui impostati dai diversi browser e, di conseguenza, evitare le discrepanze di visualizzazione. Gli snippet CSS reset sono facilissimi e tra i più diffusi da trovare online. Questo, ad esempio,  si rifa al modello proposto da Eric Meyer.

2. Classic CSS Clearfix

.clearfix:after { content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0; }
.clearfix { display: inline-block; }

html[xmlns] .clearfix { display: block; }
* html .clearfix { height: 1%; }

Con questo snippet, i contenuti che inizialmente ‘galleggiano’ (in inglese: float) a metà pagina verranno automaticamente collocati in fondo.

3. 2011 Updated Clearfix

.clearfix:before, .container:after { content: ""; display: table; }
.clearfix:after { clear: both; }

/* IE 6/7 */
.clearfix { zoom: 1; }

Questo snippet svolge le stesse funzioni del precedente, con la differenza che funziona anche sulle versioni di Internet Explorer 6-8

4. Cross-Browser Transparency (trasparenze compatibili)

.transparent {
    filter: alpha(opacity=50); /* internet explorer */
    -khtml-opacity: 0.5;      /* khtml, old safari */
    -moz-opacity: 0.5;       /* mozilla, netscape */
    opacity: 0.5;           /* fx, safari, opera */
}

Questo snippet CSS3 è supportato esclusivamente dalle versioni più recenti dei browser. Vi sarà utile per impostare le trasparenze sia che usiate Internet Explorer, Firefox o Opera.
Demo codice

5. CSS Blockquote Template
 (stile CSS per le citazioni)

blockquote {
    background: #f9f9f9;
    border-left: 10px solid #ccc;
    margin: 1.5em 10px;
    padding: .5em 10px;
    quotes: "\201C""\201D""\2018""\2019";
}
blockquote:before {
    color: #ccc;
    content: open-quote;
    font-size: 4em;
    line-height: .1em;
    margin-right: .25em;
    vertical-align: -.4em;
}
blockquote p {
    display: inline;
}

Con questo frammento di codice si può impostare velocemente lo stile delle citazioni (quote), se le utilizzate nei vostri blog, per farle risaltare all’interno di un post.
Demo codice

6. Individual Rounded Corners (angoli arrotondati)

#container {
    -webkit-border-radius: 4px 3px 6px 10px;
    -moz-border-radius: 4px 3px 6px 10px;
    -o-border-radius: 4px 3px 6px 10px;
    border-radius: 4px 3px 6px 10px;
}

/* alternative syntax broken into each line */
#container {
    -webkit-border-top-left-radius: 4px;
    -webkit-border-top-right-radius: 3px;
    -webkit-border-bottom-right-radius: 6px;
    -webkit-border-bottom-left-radius: 10px;

    -moz-border-radius-topleft: 4px;
    -moz-border-radius-topright: 3px;
    -moz-border-radius-bottomright: 6px;
    -moz-border-radius-bottomleft: 10px;
}

Inserendo questo elemento potete smussare gli angoli di un box, ma non solo: inserendo il valore del radius potete anche determinare quanto smussare ogni estremità.
Demo codice

7. General Media Queries

/* Smartphones (portrait and landscape) ----------- */
@media only screen 
and (min-device-width : 320px) and (max-device-width : 480px) {
  /* Styles */
}

/* Smartphones (landscape) ----------- */
@media only screen and (min-width : 321px) {
  /* Styles */
}

/* Smartphones (portrait) ----------- */
@media only screen and (max-width : 320px) {
  /* Styles */
}

/* iPads (portrait and landscape) ----------- */
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) {
  /* Styles */
}

/* iPads (landscape) ----------- */
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : landscape) {
  /* Styles */
}

/* iPads (portrait) ----------- */
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : portrait) {
  /* Styles */
}

/* Desktops and laptops ----------- */
@media only screen and (min-width : 1224px) {
  /* Styles */
}

/* Large screens ----------- */
@media only screen and (min-width : 1824px) {
  /* Styles */
}

/* iPhone 4 ----------- */
@media only screen and (-webkit-min-device-pixel-ratio:1.5), only screen and (min-device-pixel-ratio:1.5) {
  /* Styles */
}

Mettendo mano a questo snippet, si può stabilire la risoluzione e le dimensioni degli elementi a seconda del dispositivo col quale si visualizza la pagina. In questo modo, il sito apparirà diverso se state utilizzando il tablet al posto del notebook.
Questo codice è importantissimo, perché è alla base della tecnica responsive.

8. Modern Font Stacks (famiglie di font compatibili per il web)

/* Times New Roman-based serif */
font-family: Cambria, "Hoefler Text", Utopia, "Liberation Serif", "Nimbus Roman No9 L Regular", Times, "Times New Roman", serif;

/* A modern Georgia-based serif */
font-family: Constantia, "Lucida Bright", Lucidabright, "Lucida Serif", Lucida, "DejaVu Serif," "Bitstream Vera Serif", "Liberation Serif", Georgia, serif;

/*A more traditional Garamond-based serif */
font-family: "Palatino Linotype", Palatino, Palladio, "URW Palladio L", "Book Antiqua", Baskerville, "Bookman Old Style", "Bitstream Charter", "Nimbus Roman No9 L", Garamond, "Apple Garamond", "ITC Garamond Narrow", "New Century Schoolbook", "Century Schoolbook", "Century Schoolbook L", Georgia, serif;

/*The Helvetica/Arial-based sans serif */
font-family: Frutiger, "Frutiger Linotype", Univers, Calibri, "Gill Sans", "Gill Sans MT", "Myriad Pro", Myriad, "DejaVu Sans Condensed", "Liberation Sans", "Nimbus Sans L", Tahoma, Geneva, "Helvetica Neue", Helvetica, Arial, sans-serif;

/*The Verdana-based sans serif */
font-family: Corbel, "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", "DejaVu Sans", "Bitstream Vera Sans", "Liberation Sans", Verdana, "Verdana Ref", sans-serif;

/*The Trebuchet-based sans serif */
font-family: "Segoe UI", Candara, "Bitstream Vera Sans", "DejaVu Sans", "Bitstream Vera Sans", "Trebuchet MS", Verdana, "Verdana Ref", sans-serif;

/*The heavier "Impact" sans serif */
font-family: Impact, Haettenschweiler, "Franklin Gothic Bold", Charcoal, "Helvetica Inserat", "Bitstream Vera Sans Bold", "Arial Black", sans-serif;

/*The monospace */
font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace;

Serve per indicare le famiglie di font, che permettono di conferire un look coerente a tutti i contenuti scritti. Una volta impostate le famiglie di font, la pagina verrà mostrata col font più simile all’originale.
Per aiutarti a scegliere il miglior font, consiglio di visitare questo sito https://cssfontstack.com dove per ogni famiglia di font troverai anche la compatibilità in ambiente Win e Mac.

9. Custom Text Selection

::selection { background: #e2eae2; }
::-moz-selection { background: #e2eae2; }
::-webkit-selection { background: #e2eae2; }

Di default, gli highlight (cioè quando si seleziona il testo) delle pagine web sono di colore blu elettrico. In questo modo, invece, potete indicare il colore esatto che volete, in modo che si intoni interamente all’intero template, usando il codice esadecimale.
Demo codice

10. Hiding H1 Text for Logo 
(nascondere il logo dietro un H1)

h1 {
    text-indent: -9999px;
    margin: 0 auto;
    width: 320px;
    height: 85px;
    background: transparent url("images/logo.png") no-repeat scroll;
}

Mettendo il logo del vostro sito come H1, potete rendere invisibile la parte di testo che viene comunque recepito dai motori di ricerca, ma è rimpiazzato automaticamente dal logo nelle pagine. Questa tecnica è un modo indiretto per provare ad aumentare le visite.
Demo codice

11. Bordi Polaroid (immagini con effetto polaroid)

img.polaroid {
    background:#000; /*Change this to a background image or remove*/
    border:solid #fff;
    border-width:6px 6px 20px 6px;
    box-shadow:1px 1px 5px #333; /* Standard blur at 5px. Increase for more depth */
    -webkit-box-shadow:1px 1px 5px #333;
    -moz-box-shadow:1px 1px 5px #333;
    height:200px; /*Set to height of your image or desired div*/
    width:200px; /*Set to width of your image or desired div*/
}

Questo snippet vi permetterà di trasformare qualsiasi immagine del vostro sito in stile Polaroid.
Demo codice

12. Anchor Link Pseudo Classes (pseudo classi)

a:link { color: blue; }
a:visited { color: purple; }
a:hover { color: red; }
a:active { color: yellow; }

Imposta il comportamento dei link a seconda delle azioni. Per esempio: il colore di un link non ancora cliccato sarà diverso dal colore di un altro link che, invece, abbiamo già guardato.
Demo codice

13. Fancy CSS3 Pull-Quotes (stile CSS3 per le citazioni)

.has-pullquote:before {
	/* Reset metrics. */
	padding: 0;
	border: none;

	/* Content */
	content: attr(data-pullquote);

	/* Pull out to the right, modular scale based margins. */
	float: right;
	width: 320px;
	margin: 12px -140px 24px 36px;

	/* Baseline correction */
	position: relative;
	top: 5px;

	/* Typography (30px line-height equals 25% incremental leading) */
	font-size: 23px;
	line-height: 30px;
}

.pullquote-adelle:before {
	font-family: "adelle-1", "adelle-2";
	font-weight: 100;
	top: 10px !important;
}

.pullquote-helvetica:before {
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-weight: bold;
	top: 7px !important;
}

.pullquote-facit:before {
	font-family: "facitweb-1", "facitweb-2", Helvetica, Arial, sans-serif;
	font-weight: bold;
	top: 7px !important;
}

In questo caso non solo si possono modificare le citazioni (quotes) ma si può stabilire anche la posizione, il font, la dimensione del carattere e tutto ciò che occorre per diversificarle dal resto del testo. Questo snippet è applicabile solo su CSS3, quindi attenzione ad usarlo nei vecchi browser.

14. Fullscreen Backgrounds with CSS3 (immagini di fondo a schermo intero)

html { 
    background: url('images/bg.jpg') no-repeat center center fixed; 
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

Anche questo codice è solo per CSS3, viene usato per impostare o meno uno sfondo fisso.
Demo codice

15. Vertically Centered Content (contenuto verticale centrato)

.container {
    min-height: 6.5em;
    display: table-cell;
    vertical-align: middle;
}

Impagina tutti i contenuti centrandoli in senso verticale.

16. Force Vertical Scrollbars
 (barra di scorrimento sempre visibile)

html { height: 101% }

Consente di rendere sempre visibile la barra di scorrimento verticale.

17. CSS3 Gradients Template (sfumanture CSS3)

#colorbox {
    background: #629721;
    background-image: -webkit-gradient(linear, left top, left bottom, from(#83b842), to(#629721));
    background-image: -webkit-linear-gradient(top, #83b842, #629721);
    background-image: -moz-linear-gradient(top, #83b842, #629721);
    background-image: -ms-linear-gradient(top, #83b842, #629721);
    background-image: -o-linear-gradient(top, #83b842, #629721);
    background-image: linear-gradient(top, #83b842, #629721);
}

Si può scegliere il gradiente e decidere tutte le tonalità che occorreranno per la sfumatura. A tal proposito voglio segnalarti quesot servizio online che sono sicuro, ti aiuterà tantissimo nella creazione delle sfumature https://www.colorzilla.com/gradient-editor/. Attenzione però perché anche questa opzione è supportata solo da CSS3, quindi non compatibile sui vecchi browser.
Demo codice

18. @font-face Template
 (famiglie di font personalizzate)

@font-face {
    font-family: 'MyWebFont';
    src: url('webfont.eot'); /* IE9 Compat Modes */
    src: url('webfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('webfont.woff') format('woff'), /* Modern Browsers */
    url('webfont.ttf')  format('truetype'), /* Safari, Android, iOS */
    url('webfont.svg#svgFontName') format('svg'); /* Legacy iOS */
}

body {
    font-family: 'MyWebFont', Arial, sans-serif;
}

Vi garantisce di poter usare font personalizzati, che saranno caricati sul vostro template. Dopodiché, possiamo impostare una famiglia di font che si avvicinerà al carattere impiegato.

Oggi è possibile scegliere tra centinaia di fonts grazie anche a servizi online offerti gratuitamente da Google e Adobe, oppure generare la tua famiglia di fonts personalizzata tramite questo tool di FontsSquirrell.


19. Stitched CSS3 Elements (impaginazione)

p {
    position:relative;
    z-index:1;
    padding: 10px;
    margin: 10px;
    font-size: 21px;
    line-height: 1.3em;
    color: #fff;
    background: #ff0030;
    -webkit-box-shadow: 0 0 0 4px #ff0030, 2px 1px 4px 4px rgba(10,10,0,.5);
    -moz-box-shadow: 0 0 0 4px #ff0030, 2px 1px 4px 4px rgba(10,10,0,.5);
    box-shadow: 0 0 0 4px #ff0030, 2px 1px 6px 4px rgba(10,10,0,.5);
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
}

p:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 3px;
    bottom: 3px;
    left :3px;
    right: 3px;
    border: 2px dashed #fff;
}

p a {
    color: #fff;
    text-decoration:none;
}

p a:hover, p a:focus, p a:active {
    text-decoration:underline;
}

Utile per creare un bordo cucitto attorno al testo.
Demo codice

20. CSS3 Zebra Stripes (colore righe alternate)

tbody tr:nth-child(odd) {
    background-color: #ccc;
}

Sempre per CSS3, alterna righe di due colori diversi.
Demo codice

21. Fancy Ampersand

.amp {
    font-family: Baskerville, 'Goudy Old Style', Palatino, 'Book Antiqua', serif;
    font-style: italic;
    font-weight: normal;
}

Garantisce la sicurezza che i caratteri  usati siano esclusivamente appartenenti a famiglie di font eleganti e classiche, per conferire uno stile raffinato al sito.
Demo codice

22. Drop-Cap Paragraphs
 (capo lettera)

p:first-letter{
    display: block;
    margin: 5px 0 0 5px;
    float: left;
    color: #ff3366;
    font-size: 5.4em;
    font-family: Georgia, Times New Roman, serif;
}

È uno snippet che riproduce il capolettera, ovvero il carattere maiuscolo della prima parola che caratterizza gli articoli scritti su carta stampata.
Demo codice

23. Inner CSS3 Box Shadow
 (ombra interna CSS3)

#mydiv { 
    -moz-box-shadow: inset 2px 0 4px #000;
    -webkit-box-shadow: inset 2px 0 4px #000;
    box-shadow: inset 2px 0 4px #000;
}

Disegna un’ombra all’interno di un elemento.
Demo codice

24. Outer CSS3 Box Shadow
 (ombra esterna CSS3)

#mydiv { 
    -webkit-box-shadow: 0 2px 2px -2px rgba(0, 0, 0, 0.52);
    -moz-box-shadow: 0 2px 2px -2px rgba(0, 0, 0, 0.52);
    box-shadow: 0 2px 2px -2px rgba(0, 0, 0, 0.52);
}

Fa la stessa cosa dello snippet precedente, con la differenza che l’ombra è all’esterno di un elemento.
Demo codice

25. Triangular List Bullets 
(elenco puntato a triangoli)

ul {
    margin: 0.75em 0;
    padding: 0 1em;
    list-style: none;
}
li:before { 
    content: "";
    border-color: transparent #111;
    border-style: solid;
    border-width: 0.35em 0 0.35em 0.45em;
    display: block;
    height: 0;
    width: 0;
    left: -1em;
    top: 0.9em;
    position: relative;
}

Grazie a questo accorgimento, possiamo ottenere un elenco puntato a triangolini.
Demo codice

26. Centered Layout Fixed Width (centrare box)

#page-wrap {
    width: 800px;
    margin: 0 auto;
}

Serve per ottenere un layout centrato, per fare ciò bisogna impostare un valore fisso utile alla centratura.
Demo codice

27. CSS3 Column Text
 (colonne paragrafi CSS3)

#columns-3 {
    text-align: justify;
    -moz-column-count: 3;
    -moz-column-gap: 12px;
    -moz-column-rule: 1px solid #c4c8cc;
    -webkit-column-count: 3;
    -webkit-column-gap: 12px;
    -webkit-column-rule: 1px solid #c4c8cc;
}

Definisce il numero di colonne ed altre impostazioni, come l’allineamento del testo e lo spazio tra una colonna e l’altra.
Demo codice

28. CSS Fixed Footer

#footer {
    position: fixed;
    left: 0px;
    bottom: 0px;
    height: 30px;
    width: 100%;
    background: #444;
}

/* IE 6 */
* html #footer {
    position: absolute;
    top: expression((0-(footer.offsetHeight)+(document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight)+(ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop))+'px');
}

Consente l’inserimento di un Footer, ovvero quell’area in fondo alla pagina dove spesso ci sono informazioni utili tipo il copyright ed i recapiti, fisso in basso.
Demo codice

29. Transparent PNG Fix for IE6
(PNG trasparenti su IE6)

.bg {
    width:200px;
    height:100px;
    background: url(/folder/yourimage.png) no-repeat;
    _background:none;
    _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/folder/yourimage.png',sizingMethod='crop');
}

/* 1px gif method */
img, .png {
    position: relative;
    behavior: expression((this.runtimeStyle.behavior="none")&&(this.pngSet?this.pngSet=true:(this.nodeName == "IMG" && this.src.toLowerCase().indexOf('.png')>-1?(this.runtimeStyle.backgroundImage = "none",
       this.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + this.src + "', sizingMethod='image')",
       this.src = "images/transparent.gif"):(this.origBg = this.origBg? this.origBg :this.currentStyle.backgroundImage.toString().replace('url("','').replace('")',''),
       this.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + this.origBg + "', sizingMethod='crop')",
       this.runtimeStyle.backgroundImage = "none")),this.pngSet=true));
}

Talvolta, nei nostri siti, usiamo delle immagini png dai contorni trasparenti, per fare in modo che non si crei uno stacco troppo visibile col template. Internet Explorer non riconosce la trasparenza, creando una antiestetica cornice bianca. Grazie a questa fix, si potranno mantenere le trasparenze anche su Explorer.

30. Cross-Browser Minimum Height 
(altezza minima compatibile con tutti i browser)

#container {
    min-height: 550px;
    height: auto !important;
    height: 550px;
}

Alcuni browser non aggiornati hanno problemi con l’altezza minima. Grazie a questo snippet, non avrete più problemi, soprattutto se usate Internet Explorer.
Demo codice

31. CSS3 Glowing Inputs 
(personalizzazione elementi di input)

input[type=text], textarea {
    -webkit-transition: all 0.30s ease-in-out;
    -moz-transition: all 0.30s ease-in-out;
    -ms-transition: all 0.30s ease-in-out;
    -o-transition: all 0.30s ease-in-out;
    outline: none;
    padding: 3px 0px 3px 3px;
    margin: 5px 1px 3px 0px;
    border: 1px solid #ddd;
}

input[type=text]:focus, textarea:focus {
    box-shadow: 0 0 5px rgba(81, 203, 238, 1);
    padding: 3px 0px 3px 3px;
    margin: 5px 1px 3px 0px;
    border: 1px solid rgba(81, 203, 238, 1);
}

Personalizza le caselle e gli spazi input, come ad esempio la barra del motore di ricerca interno al sito.
Demo codice

32. Style Links Based on Filetype

/* external links */
a[href^="https://"] {
    padding-right: 13px;
    background: url('external.gif') no-repeat center right;
}

/* emails */
a[href^="mailto:"] {
    padding-right: 20px;
    background: url('email.png') no-repeat center right;
}

/* pdfs */
a[href$=".pdf"] {
    padding-right: 18px;
    background: url('acrobat.png') no-repeat center right;
}

Questo snippet permette di personalizzare il link a seconda del file. Infatti il collegamento potrà assumere un colore differente, un’icona o un’immagine di fondo in base all’estensione del file collegato o in base ai vari protocolli (HTTP, FTP, IRC o mailto).
Demo codice

33. Force Code Wraps

pre {
    white-space: pre-wrap;       /* css-3 */
    white-space: -moz-pre-wrap;  /* Mozilla, since 1999 */
    white-space: -pre-wrap;      /* Opera 4-6 */
    white-space: -o-pre-wrap;    /* Opera 7 */
    word-wrap: break-word;       /* Internet Explorer 5.5+ */
}

I tag <pre> vengono utilizzati per visualizzare grandi blocchi di codice, questo è testo preformattato, solo che spesso appaiono come delle linee lunghe e producono fastidiose barre di scorrimento orizzontali.
Questo blocco di CSS forzerà tutti i tag <pre> ad andare a capo invece di sforare al di fuori del contenitore.
Demo codice

34. Force Hand Cursor over Clickable Items 
(forzare il puntatore del mouse)

a[href], input[type='submit'], input[type='image'], label[for], select, button, .pointer {
    cursor: pointer;
}

Talvolta capita che, in una pagina web, il puntatore non venga visualizzato correttamente. Con questo accorgimento visualizzerete l’icone della manina ed eviterete questo disguido.

35. Webpage Top Box Shadow

body:before {
    content: "";
    position: fixed;
    top: -10px;
    left: 0;
    width: 100%;
    height: 10px;

    -webkit-box-shadow: 0px 0px 10px rgba(0,0,0,.8);
    -moz-box-shadow: 0px 0px 10px rgba(0,0,0,.8);
    box-shadow: 0px 0px 10px rgba(0,0,0,.8);
    z-index: 100;
}

Sebbene non sia un elemento di prima necessità, questo snippet disegna un’ombra sul fondo della pagina che si schiarisce e sfuma verso l’alto.

36. CSS3 Speech Bubble

.chat-bubble {
    background-color: #ededed;
    border: 2px solid #666;
    font-size: 35px;
    line-height: 1.3em;
    margin: 10px auto;
    padding: 10px;
    position: relative;
    text-align: center;
    width: 300px;
    -moz-border-radius: 20px;
    -webkit-border-radius: 20px;
    -moz-box-shadow: 0 0 5px #888;
    -webkit-box-shadow: 0 0 5px #888;
    font-family: 'Bangers', arial, serif; 
}
.chat-bubble-arrow-border {
    border-color: #666 transparent transparent transparent;
    border-style: solid;
    border-width: 20px;
    height: 0;
    width: 0;
    position: absolute;
    bottom: -42px;
    left: 30px;
}
.chat-bubble-arrow {
    border-color: #ededed transparent transparent transparent;
    border-style: solid;
    border-width: 20px;
    height: 0;
    width: 0;
    position: absolute;
    bottom: -39px;
    left: 30px;
}

Questo ritaglio di codice provvede all’inserimento di balloon, ovvero le nuvolette dei fumetti – e di inserire del testo all’interno di esse – , nei vostri post. Sono ottimali per riportare discorsi o dar enfasi a una citazione. Supportato esclusivamente da CSS3.
Demo codice

37. Default H1-H5 Headers
 (reset titoli H1-H5)

h1,h2,h3,h4,h5{
	color: #005a9c;
}
h1{
	font-size: 2.6em;
	line-height: 2.45em;
}
h2{
	font-size: 2.1em;
	line-height: 1.9em;
}
h3{
	font-size: 1.8em;
	line-height: 1.65em;
}
h4{
	font-size: 1.65em;
	line-height: 1.4em;
}
h5{
	font-size: 1.4em;
	line-height: 1.25em;
}

Si tratta di un reset abbastanza importante che personalizza i titoli (H1) e i vari stili di testo, impostando il colore esatto e le dimensioni dei fonti.

38. Pure CSS Background Noise
(effetto disturbo in CSS)

body {
    background-image: url(data:image/png;base64,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);
    background-color: #0094d0;
}

Posiziona sopra al vostro sfondo un disturbo, ovvero un altro sfondo (generalmente a pallini) che crea l’effetto della televisione non sintonizzata. Potete creare il vostro disturbo personalizzato qui.
Demo codice

39. Continued List Ordering

ol.chapters {
    list-style: none;
    margin-left: 0;
}

ol.chapters > li:before {
    content: counter(chapter) ". ";
    counter-increment: chapter;
    font-weight: bold;
    float: left;
    width: 40px;
}

ol.chapters li {
    clear: left;
}

ol.start {
	counter-reset: chapter;
}

ol.continue {
	counter-reset: chapter 11;
}


Consente di creare una lista numerata continuata anche se si hanno due elementi <ul> separati.

40. CSS Tooltip Hovers (CSS effetto tooltip)

a { 
    border-bottom:1px solid #bbb;
    color:#666;
    display:inline-block;
    position:relative;
    text-decoration:none;
}
a:hover,
a:focus {
    color:#36c;
}
a:active {
    top:1px; 
}

/* Tooltip styling */
a[data-tooltip]:after {
    border-top: 8px solid #222;
    border-top: 8px solid hsla(0,0%,0%,.85);
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    content: "";
    display: none;
    height: 0;
    width: 0;
    left: 25%;
    position: absolute;
}
a[data-tooltip]:before {
    background: #222;
    background: hsla(0,0%,0%,.85);
    color: #f6f6f6;
    content: attr(data-tooltip);
    display: none;
    font-family: sans-serif;
    font-size: 14px;
    height: 32px;
    left: 0;
    line-height: 32px;
    padding: 0 15px;
    position: absolute;
    text-shadow: 0 1px 1px hsla(0,0%,0%,1);
    white-space: nowrap;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -o-border-radius: 5px;
    border-radius: 5px;
}
a[data-tooltip]:hover:after {
    display: block;
    top: -9px;
}
a[data-tooltip]:hover:before {
    display: block;
    top: -41px;
}
a[data-tooltip]:active:after {
    top: -10px;
}
a[data-tooltip]:active:before {
    top: -42px;
}

Con questo snippet, se si passa il mouse sopra una parola o un elemento, appare un testo personalizzato, come se fosse un post-it o un suggerimento.
Demo codice

41. Dark Grey Rounded Buttons

.graybtn {
    -moz-box-shadow:inset 0px 1px 0px 0px #ffffff;
    -webkit-box-shadow:inset 0px 1px 0px 0px #ffffff;
    box-shadow:inset 0px 1px 0px 0px #ffffff;
    background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #ffffff), color-stop(1, #d1d1d1) );
    background:-moz-linear-gradient( center top, #ffffff 5%, #d1d1d1 100% );
    filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#d1d1d1');
    background-color:#ffffff;
    -moz-border-radius:6px;
    -webkit-border-radius:6px;
    border-radius:6px;
    border:1px solid #dcdcdc;
    display:inline-block;
    color:#777777;
    font-family:arial;
    font-size:15px;
    font-weight:bold;
    padding:6px 24px;
    text-decoration:none;
    text-shadow:1px 1px 0px #ffffff;
}
.graybtn:hover {
    background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #d1d1d1), color-stop(1, #ffffff) );
    background:-moz-linear-gradient( center top, #d1d1d1 5%, #ffffff 100% );
    filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#d1d1d1', endColorstr='#ffffff');
    background-color:#d1d1d1;
}
.graybtn:active {
    position:relative;
    top:1px;
}


Inserendo questo codice ed un codice colore esadecimale, i vostri bottoni potranno essere personalizzati in modo da renderli armoniosi col resto del template.
Demo codice

42. Display URLS in a Printed Webpage 
(mostrare il link nella pagina stampabile)

@media print   {  
  a:after {  
    content: " [" attr(href) "] ";  
  }  
}

Quando si stampa una pagina del sito, questo snippet fa sì che sulla pagina stampata appaia l’url intero del link accanto allo stesso. È molto utile per i siti di informazione.

43. Disable Mobile Webkit Highlights

body {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}


Rende più fluida la navigazione sul sito quando si accede da tablet, smartphone o altri dispositivi, per esempio eliminando alcuni elementi grafici di default nella navigazione mobile.

44. CSS3 Polka-Dot Pattern (effetto a pois sul fondo)

body {
    background: radial-gradient(circle, white 10%, transparent 10%),
    radial-gradient(circle, white 10%, black 10%) 50px 50px;
    background-size: 100px 100px;
}

Supportato esclusivamente da CSS3, crea un effetto polka dot, ovvero a pois, sullo sfondo della pagina.
Demo codice

45. CSS3 Checkered Pattern (effetto sfondo scacchi e sfumato)

body {
    background-color: white;
    background-image: linear-gradient(45deg, black 25%, transparent 25%, transparent 75%, black 75%, black), 
    linear-gradient(45deg, black 25%, transparent 25%, transparent 75%, black 75%, black);
    background-size: 100px 100px;
    background-position: 0 0, 50px 50px;
}

Anch’esso per CSS3, è simile all’elemento precedente con la differenza che, oltre a creare uno sfondo a scacchi, si possono anche decidere i colori e il gradiente da utilizzare.
Demo codice

46. Github Fork Ribbon (Folk me on Github)

.ribbon {
    background-color: #a00;
    overflow: hidden;
    /* top left corner */
    position: absolute;
    left: -3em;
    top: 2.5em;
    /* 45 deg ccw rotation */
    -moz-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    /* shadow */
    -moz-box-shadow: 0 0 1em #888;
    -webkit-box-shadow: 0 0 1em #888;
}
.ribbon a {
    border: 1px solid #faa;
    color: #fff;
    display: block;
    font: bold 81.25% 'Helvetiva Neue', Helvetica, Arial, sans-serif;
    margin: 0.05em 0 0.075em 0;
    padding: 0.5em 3.5em;
    text-align: center;
    text-decoration: none;
    /* shadow */
    text-shadow: 0 0 0.5em #444;
}

Questo ritaglio di codice fa apparire, sul vostro sito, il logo “Fork me on Github” e, utlizzando i transformer, fa sì che l’immagine stia in un angolo senza congestionare la navigazione.  Ideale soprattutto se vi sono elementi open source popolari su Github.
Leggi di più

47. Condensed CSS Font Properties

p {
  font: italic small-caps bold 1.2em/1.0em Arial, Tahoma, Helvetica;
}


Questo snippet non è altro che una soluzione molto più corta e rapida per riassumere le proprietà dei font. Solitamente non è molto usato, ma può esservi utile per risparmiare spazio sul vostro stylesheet.
Demo codice

48. Paper Page Curl Effect 
(effetto pagina arrotolata)

ul.box {
    position: relative;
    z-index: 1; /* prevent shadows falling behind containers with backgrounds */
    overflow: hidden;
    list-style: none;
    margin: 0;
    padding: 0; 
}

ul.box li {
    position: relative;
    float: left;
    width: 250px;
    height: 150px;
    padding: 0;
    border: 1px solid #efefef;
    margin: 0 30px 30px 0;
    background: #fff;
    -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
    -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset; 
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset; 
}

ul.box li:before,
ul.box li:after {
    content: '';
    z-index: -1;
    position: absolute;
    left: 10px;
    bottom: 10px;
    width: 70%;
    max-width: 300px; /* avoid rotation causing ugly appearance at large container widths */
    max-height: 100px;
    height: 55%;
    -webkit-box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3);
    -moz-box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3);
    -webkit-transform: skew(-15deg) rotate(-6deg);
    -moz-transform: skew(-15deg) rotate(-6deg);
    -ms-transform: skew(-15deg) rotate(-6deg);
    -o-transform: skew(-15deg) rotate(-6deg);
    transform: skew(-15deg) rotate(-6deg); 
}

ul.box li:after {
    left: auto;
    right: 10px;
    -webkit-transform: skew(15deg) rotate(6deg);
    -moz-transform: skew(15deg) rotate(6deg);
    -ms-transform: skew(15deg) rotate(6deg);
    -o-transform: skew(15deg) rotate(6deg);
    transform: skew(15deg) rotate(6deg); 
}

Serve per avere, nel vostro template, l’effetto una pagina di carta arrotolata. Qui potete vedere come sarà il risultato finale.
Demo codice

49. Glowing Anchor Links 
(link brillanti)

a {
	color: #00e;
}
a:visited {
	color: #551a8b;
}
a:hover {
	color: #06e;
}
a:focus {
	outline: thin dotted;
}
a:hover, a:active {
	outline: 0;
}
a, a:visited, a:active {
	text-decoration: none;
	color: #fff;
	-webkit-transition: all .3s ease-in-out;
}
a:hover, .glow {
	color: #ff0;
	text-shadow: 0 0 10px #ff0;
}

Posizionando questo codice all’interno del foglio di stile, i link del vostro sito non solo avranno un colore diverso, ma scintilleranno ogni volta che ci passerete il mouse sopra. Non è elegantissimo ma cattura sicuramente l’attenzione ed è indicato per i siti web di creativi.
Demo codice

50. Featured CSS3 Display Banner

.featureBanner {
    position: relative;
    margin: 20px
}
.featureBanner:before {
    content: "Featured";
    position: absolute;
    top: 5px;
    left: -8px;
    padding-right: 10px;
    color: #232323;
    font-weight: bold;
    height: 0px;
    border: 15px solid #ffa200;
    border-right-color: transparent;
    line-height: 0px;
    box-shadow: -0px 5px 5px -5px #000;
    z-index: 1;
}

.featureBanner:after {
    content: "";
    position: absolute;
    top: 35px;
    left: -8px;
    border: 4px solid #89540c;
    border-left-color: transparent;
    border-bottom-color: transparent;
}

Con questo snippets è possibile creare dei ribbon che pendono sul fianco delle immagini, utilissimo ad esempio accanto ai prodotti in un ecommerce, miniature delle immagini, anteprime video o articoli di blog, ecc.
Demo codice

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.