CSS per aspiranti programmatori: C – modellazione del testo

Un riassunto sui CSS si trova all’ indirizzo https://umbriawaypotenzia.wordpress.com/2018/12/17/css-per-aspiranti-programmatori-b-font/ ; la proprietà text-align specifica l’allineamento orizzontale del testo in un elemento. Per impostazione predefinita, il testo sul tuo sito web è allineato a sinistra. Tuttavia, a volte potresti richiedere un allineamento diverso. i valori delle proprietà di allineamento del testo sono i seguenti: sinistra, destra, centro e giustificazione.

The HTML:

<code>
<p class=”left”>This paragraph is aligned to <strong>left.</strong></p>
<p class=”right”>This paragraph is aligned to <strong>right.</strong></p>
<p class=”center”>This paragraph is aligned to <strong>center.</strong></p>
</code>

The CSS:

<code>
p.left {
text-align: left;
}
p.right {
text-align: right;
}
p.center {
text-align: center;
}
</code>

Quando l’allineamento del testo è impostato su “giustificare”, ogni linea viene allungata in modo che ogni riga abbia larghezza uguale e i margini sinistro e destro siano diritti (come nelle riviste e nei giornali). La proprietà di allineamento verticale imposta l’allineamento verticale di un elemento. I valori comunemente utilizzati sono in alto, in mezzo e in basso. L’esempio seguente mostra come allineare verticalmente il testo tra la tabella.

The HTML:

<code>
<table border=”1″ cellpadding=”2″ cellspacing=”0″ style=”height: 150px;”>
<tr>
<td class=”top”>Top</td>
<td class=”middle”>Middle</td>
<td class=”bottom”>Bottom</td>
</tr>
</table>
</code>

The CSS:

<code>
td.top {
vertical-align: top;
}
td.middle {
vertical-align: middle;
}
td.bottom {
vertical-align: bottom;
}
</code>

La proprietà vertical-align accetta anche i seguenti valori: baseline, sub, super,% e px (o pt, cm).
L’esempio seguente mostra la differenza tra loro.

HTML:

<code>
<p>This is an <span class=”baseline”>inline text</span> example.</p>
<p>This is a <span class=”sub”>sub line text</span> example.</p>
<p> This is a <span class=”super”>super line text</span> example.</p>
<p> This is a <span class=”pixel”>pixel</span> example.</p>
</code>

CSS:

<code>
span.baseline {
vertical-align: baseline;
}
span.sub {
vertical-align: sub;
}
span.super {
vertical-align: super;
}
span.pixel {
vertical-align: -10px;
}
</code>

La proprietà di allineamento verticale non agisce allo stesso modo per tutti gli elementi. Ad esempio, alcuni stili CSS aggiuntivi sono necessari per gli elementi div.

HTML:



This text is aligned to the middle


</div>

CSS:

.main {
height: 150px; width: 400px;
background-color: LightSkyBlue;
display: inline-table;
}
.paragraph {
display: table-cell;
vertical-align: middle;
}

display: inline-table; e display: table-cell; le regole di stile vengono applicate per far sì che la proprietà di allineamento verticale funzioni con le div. La proprietà text-decoration specifica come verrà decorato il testo. I valori comunemente usati sono:

none – Il valore predefinito, questo definisce un testo normale
inherit: eredita questa proprietà dall’elemento padre
overline – Disegna una linea orizzontale sopra il testo
underline – Disegna una linea orizzontale sotto il testo
line-through – disegna una linea orizzontale attraverso il testo (sostituisce il tag HTML <s>)

L’esempio seguente mostra la differenza tra ciascun valore.

HTML:

<code>
<p class=”none”>This is default style of the text (none).</p>
<p class=”inherit”>This text inherits the decoration of the parent.</p>
<p class=”overline”>This is overlined text.</p>
<p class=”underline”>This is underlined text.</p>
<p class=”line-through”>This is lined-through text.</p>
</code>

CSS:

<code>
p.none {
text-decoration: none;
}
p.inherit {
text-decoration: inherit;
}
p.overline {
text-decoration: overline;
}
p.underline {
text-decoration: underline;
}
p.line-through {
text-decoration: line-through;
}
</code>

È possibile combinare i valori di sottolineatura, overline o line-through in un elenco separato dallo spazio per aggiungere più linee di decorazione. Un altro valore della proprietà della decorazione del testo è lampeggiante che fa lampeggiare il testo. La sintassi CSS si presenta così: text-decoration: blink;
Questo valore è valido ma è deprecato e la maggior parte dei browser lo ignora. La proprietà text-indent specifica quanto spazio orizzontale deve essere lasciato prima dell’inizio della prima riga del testo. I valori delle proprietà sono la lunghezza (px, pt, cm, em, ecc.),% e inherit.

HTML:

<p>This is an example of <strong>text-indent </strong> property.
First line of our text is indented to the right in 60px. Besides pixels you can also use other measurement units, like pt, cm, em, etc. </p>

CSS:

p {
text-indent: 60px;
}

La proprietà text-shadow aggiunge ombra al testo. Prende quattro valori: il primo valore definisce la distanza dell’ombra nella direzione x (orizzontale), il secondo valore imposta la distanza nella direzione y (verticale), il terzo valore definisce la sfocatura dell’ombra e il quarto valore imposta il colore.

HTML:

<h1>Text-shadow example</h1>

The CSS:

h1 {
color: blue;
font-size: 30pt;
text-shadow: 5px 2px 4px grey;
}

In the example above, we created a shadow using the following parameters:

5px – the X-coordinate
2px – the Y-coordinate
4px – the blur radius
grey – the color of the shadow

Per aggiungere più di un’ombra al testo, aggiungi un elenco di ombre separate da virgole. Quando si lavora con le ombre, è possibile utilizzare qualsiasi formato di colore supportato da CSS. Per gli offset xey, è possibile utilizzare vari tipi di unità (come px, cm, mm, in, pc, pt, ecc.). Sono supportati anche i valori negativi. L’esempio seguente crea un’ombreggiatura blu, due pixel più in alto del testo principale, un pixel a sinistra e una sfocatura 0.5em, html:

<h1>Text-shadow with blur effect</h1>

CSS:

h1 {
font-size: 20pt;
text-shadow: rgba(0,0,255,1) -1px -2px 0.5em;
}

Internet Explorer 9 e versioni precedenti non supportano la proprietà text-shadow. La proprietà CSS di trasformazione del testo specifica come inserire in maiuscolo il testo di un elemento. Ad esempio, può essere usato per far apparire il testo con ogni parola in maiuscolo.

HTML:

<p class=”capitalize”>
The value capitalize transforms the first
character in each word to uppercase;
all other characters remain unaffected.
</p>

CSS:

p.capitalize {
text-transform: capitalize;
}

Usando la proprietà text-transform puoi far apparire il testo in lettere maiuscole o minuscole. Ecco un esempio:

HTML:

<p class=”uppercase”>This value transforms all characters to uppercase.</p>
<p class=”lowercase”>This value transforms all characters to lowercase.</p>

CSS:

p.uppercase {
text-transform: uppercase;
}
p.lowercase {
text-transform: lowercase;
}

Il valore none non produrrà alcun effetto. La proprietà letter-spacing specifica lo spazio tra i caratteri in un testo. I valori possono essere impostati come: – normal definisce lo stile predefinito senza spazi aggiuntivi tra i caratteri

– length definisce uno spazio aggiuntivo tra i caratteri usando unità di misura come px, pt, cm, mm, ecc .;
– inherit eredita la proprietà dal suo elemento padre;

HTML:

<code>
<p class=”normal”>This paragraph has no additional letter-spacing applied.</p>

<p class=”positive “>This paragraph is letter-spaced at 4px.</p>
</code>

CSS:

p.normal {
letter-spacing: normal;
}

p.positive {
letter-spacing: 4px;
}

Per definire uno spazio aggiuntivo tra i caratteri, sono ammessi anche valori negativi. Ecco un esempio che dimostra la differenza tra valori positivi e negativi:

HTML:

<code>
<p class=”positive”>This paragraph is letter-spaced at 4px.</p>
<p class=”negative”>This paragraph is letter-spaced at -1.5px</p>
</code>

CSS:

p.positive {
letter-spacing: 4px;
}
p.negative {
letter-spacing: -1.5px;
}

Verifica sempre i tuoi risultati, per assicurarti che il testo sia leggibile.La proprietà word-spacing specifica lo spazio tra le parole in un testo. Proprio come la proprietà letter-spacing, puoi impostare i valori di spaziatura delle parole come normali, length ed inherit.

HTML:

<code>
<p class=”normal”>This paragraph has no additional word-spacing applied.</p>
<p class=”px”>This paragraph is word-spaced at 30px.</p>
</code>

CSS:

p.normal {
word-spacing: normal;
}
p.px {
word-spacing: 30px;
}

Quando si utilizza una spaziatura strana ed è necessario mantenere il paragrafo selezionato con una normale spaziatura delle parole, viene solitamente utilizzata l’opzione normale. Per definire uno spazio aggiuntivo tra le parole, è possibile utilizzare valori di misurazione positivi come px, pt, pc, cm, mm, pollici, em ed ex.
Sono ammessi anche valori negativi. Ecco un esempio per mostrare la differenza:

HTML:

<code>
<p class=”positive”>This paragraph is word-spaced at 20px.</p>
<p class=”negative”>This paragraph is word-spaced at -5px.</p>
</code>

The CSS:

p.positive {
word-spacing: 20px;
}
p.negative {
word-spacing: -5px;
}

La proprietà white-space specifica come viene gestito lo spazio bianco all’interno di un elemento. I valori possono essere impostati come normali, inherit, nowrap, ecc. Il valore nowrap fa sì che il testo continui sulla stessa riga fino a quando non viene rilevato un tag <br> e comprime anche tutte le sequenze di spazi bianchi in un singolo spazio bianco.

HTML:

<code>
<p>
This paragraph has multiple spaces and
a line break, but it will be ignored, as we used the nowrap value.
</p>
</code>

CSS:

p {
white-space: nowrap;
}

Il testo continuerà sulla stessa riga fino a quando non viene rilevato un tag <br />.

La proprietà white-space supporta anche altri valori:

il pre-testo avvolge solo le interruzioni in linea e lo spazio bianco pre-riga: il testo si avvolgerà dove c’è un’interruzione nel codice, ma lo spazio bianco extra è ancora ignorato pre-wrap: il testo si avvolge quando necessario e le interruzioni di riga. Ecco un esempio in cui vengono utilizzati tutti e tre i valori:

HTML:

<p class=”pre”>
In the markup we have multiple spaces and a line break.
</p>
<p class=”preline”>
In the markup we have multiple spaces and a line break, but in the result multiple spaces are ignored.
</p>
<p class=”prewrap”>
In the markup we have multiple spaces and a line break.
</p>

CSS:

p.pre {
white-space: pre;
}
p.preline {
white-space: pre-line;
}
p.prewrap {
white-space: pre-wrap;
}

Il valore pre-wrap si comporta come il valore pre, tranne che aggiunge interruzioni di riga aggiuntive per impedire al testo di uscire dalla casella dell’elemento.

Annunci

Se le cose vanno male nel mondo non sai centrare un e le ingiustizie sociali si moltiplicano, la colpa di tutto sai di chi é? Dei CSS!

agenzia web marketingDiciamocelo chiaramente, il mondo a livello globale va avanti ma potrebbe andare meglio, accanto ai lavori canonici tradizionali regolarizzati per le caste che andiamo a categorizzare come salvati per usare una metafora di Levi P abbiamo attività di alienazione fraudolente che sfociano in business pseudo-strani o malavitosi categorizzate nel cassetto sommersi. La gente miagola nel buio. Si é in cirsi di identità, i giovani non avranno mai la pensione e non avranno mai nè famiglia nè figli, perché lo squilibrio regna sovrano e quella bella gente che ha risanato lo stivale negli anni scorsi oggi di fatto si sollazzera con i suoi 5000 euri al mese di pensione o giù di lì grazie a presunti creduloni che sono andati a votarli fiduciosi per dare loro sostegno e rifocillare i loro codici IBAN. Come se non bastasse anche a diventare GM ci va il grano, se non altro per lubrificare qualche mezzo punto di rito con l’agonista più altolocato. E di chi é la colpa di tutto questo modello BCE basato sulla speculazione e sul profitto e sulle ingiustizie sociali finalizzate al portafoglio proprio? Ma non lo sai che oggi prendere un ambulanza da qualche parte in Italia può essere pericoloso se hai qualcuno sopra che ti segue in affari con il becchino locale che ha bisogno di incrementare il fatturato? Chi é il responsabile? Umbriaway Consulting? Agenzia web marketing? Dio? La Juventus? Lapo? Quello che esalta Fonzie come il miglior politico di tutti i tempi? Se la gente da qualche parte nel mondo muore di fame e di freddo chi sene dicono a RM? L’importante é continuare a usare un cibo incontaminato e a non commetere peccato uccidendo vacche (bovine ndr) per avere una bella fiorentina con cipolline aromatizzate allo zenzero sulla propria tavola? Di chi é la colpa di tutto questo eh? Ebbene si, anche se dà fastidio alle coscienze, la colpa di tutto questo caos é proprio dei CSS, che sta per Cascading Style Sheets. Chi sviluppa il web e ha un profilo da web designer sa che bisogna cristonare molto su margini e padding e posizionamenti e su elementi padri e figli per far quadrare i conti con un approccio: qui piloto io! Spesso quello che si vorrebbe fare a livello di modellazione e gestione degli elementi grafici sulla pagina, non avviene per i più misteriosi motivi, forse nella tua vita precedente eri una persona cattiva e ora anche applicare il codice in maniera corretta ti diventa difficile a cusa di un karma nefasto. Ora chi ha un minimo di esperienza sa bene come la famosa mela del famoso fisico Newton che alcune regole varranno smpre in maniera assoluta, del tipo che se applico un colore rosso a una intestazione h1 quel tag dovrà reagire nell’ unico modo possibile pronosticabile che lasciamo immaginare agli affezionati lettori di Umbriaway Consulting. Come ben sappiamo la parte strutturale di una pagina HTML o ossatura é costituita da HTML, ma come ben sappiamo anche gli edifici hanno un contenuto che é protetto da un contenitore costituito da ferro e acciaio e cemento. Se la parte di struttura é gestita dai tag di formattazione HTML la parte di presentazione é gestita dai CSS in modo da separare vestito grafico ed aspetto estetico dalla struttura ossea di chi lo indossa. E la parte logica dei comportamenti interattivi? Quella la lasciamo fare a javascript. Separata la triade architetturale ipotizziamo adesso di avare un problema pratico. Voglio centrare un elemento di una pagina HTML magari al centro di tutto. Come dici? Ti viene da ridere perché puoi usare un tag di tipo CENTER? Ma non parliamo di testo, quello lo sappiamo bene che reagirà nell’ unico modo possibile con quel tag, parliamo magari di un DIV e allora come centrare ad esempio degli elementi CHILD all’ interno di elementi PARENT? Ma quante volte hai combattuto con margin, padding e proprietà come border o posizionamento per vedereun elemento nel punto esatto dove ti saresti aspettto di vederlo senza riuscirci? E lo sai perché? Perché evidentemente non conosci bene le regole CSS, semplice! Esistono tante strade diverse per raggiungere un unci obiettivo. Sappiamo che una regola di stile ha un elemento caratterizzante, ha delle proprietà a corredo ed ha dei VALUE, dei valori che definiscono il tutto. Ci si aspetterebbe che applicando gli stessi parametri in un progetto, si debbano perseguire gli stessi risultati ma a volte questo non accade perché? Perché dobbiamo contestualizzare il tutto e vedere quali sono gli elementi annidati, capire quali gerarchie di fogli stile interagiscono, vedere in una visione più ampia tutte le circostanze del progetto e come viene gestito. I progetti hanno una loro singolarità e i comportmenti possono essere imprevedibili applicando magari gli stessi valori in certi contesti a certe regole. Se con l’avvento di CSS3 alcune problematiche standard legate per l’appunto a margini, padding, bordi e posizionamenti assoluti e relativi sembrano arginati grazie all’ uso di flexbox, di griglie flessibili, di misure relative e di framework responsivi, di fatto alcuni problemi come quello della centratura di un DIV possono apparire insormontabile se non si conoscono le strade che portano a RM. Di fatto questo può essere risolto ad esempio in 4 mosse, per esmepio impostando un margin: 0 auto oppure una semplice istruzione come display: inline-block oppure usando position: absolute seguito dala proprietà left o ancora usando la proprietà TRANSFORM-TRANSLATE, ma l’unico modo per capire come funzionano queste regole é applicarle per vedere l’effetto che hanno, senza sperimentazione pratica la teoria divent fuffa. Ora per comprendere gli aspetti pratici di tutti questi deliri basta visitare l’indirizzo http://www.farwebdesign.com/css/center1.html e http://www.farwebdesign.com/css/center2.html e visualizzare il codice sorgenti delle pagine con tasto destro visualizza codice sorgente. Ma a questo punto il dado é tratto e non ci resta che scavare a fondo sulla natura dei CSS.

– Il collegamento in cascata si riferisce al modo in cui i CSS applicano uno stile su un altro.
– I fogli di stile controllano l’aspetto dei documenti Web.

CSS e HTML funzionano mano nella mano:

– HTML ordina la struttura della pagina.
– Il CSS definisce come vengono visualizzati gli elementi HTML.

Perché usare i CSS? I CSS ti consentono di applicare stili specifici a specifici elementi HTML. Il vantaggio principale del CSS è che ti consente di separare lo stile dal contenuto. Usando solo HTML, tutti gli stili e la formattazione sono nella stessa posizione, che diventa piuttosto difficile da mantenere man mano che la pagina cresce. Tutta la formattazione può (e dovrebbe) essere rimossa dal documento HTML e archiviata in un file CSS separato. L’utilizzo di uno stile in linea è uno dei modi per inserire un foglio di stile. Con uno stile in linea, uno stile unico viene applicato a un singolo elemento.

Per utilizzare uno stile in linea, aggiungi l’attributo style al tag pertinente.

L’esempio seguente mostra come creare un paragrafo con sfondo grigio e testo bianco:

CSS incorporato / interno

Gli stili interni sono definiti all’interno dell’elemento <style>, all’interno della sezione head di una pagina HTML.

Ad esempio, il codice seguente definisce tutti i paragrafi:

<pre>
<html>
<head>
<style>
p {
color:white;
background-color:gray;
}
</style>
</head>
<body>
<p>This is my first paragraph. </p>
<p>This is my second paragraph. </p>
</body>
</html>

Tutti i paragrafi hanno un carattere bianco e uno sfondo grigio:
</pre>

CSS esterno

Con questo metodo, tutte le regole di stile sono contenute in un singolo file di testo, che viene salvato con l’estensione .css. Questo file CSS viene quindi referenziato nell’HTML usando il tag <link>. L’elemento <link> entra nella sezione head. Ecco un esempio:

L’HTML:
<pre>
<head>
<link rel=”stylesheet” href=”example.css”>
</head>
<body>
<p>This is my first paragraph.</p>
<p>This is my second paragraph. </p>
<p>This is my third paragraph. </p>
</body>
</pre>

The CSS:
p {
color:white;
background-color:gray;
}

Entrambi i percorsi relativi e assoluti possono essere utilizzati per definire l’href per il file CSS. Nel nostro esempio, il percorso è relativo, poiché il file CSS si trova nella stessa directory del file HTML. Il CSS è composto da regole di stile che il browser interpreta e quindi si applica agli elementi corrispondenti nel documento. Una regola di stile ha tre parti: selettore, proprietà e valore. Ad esempio, il colore del titolo può essere definito come nella figura inserita. Il selettore punta all’elemento HTML che desideri applicare allo stile. Il blocco di dichiarazione contiene una o più dichiarazioni, separate da punti e virgola. Ogni dichiarazione include un nome di proprietà e un valore, separati da due punti. I selettori più comuni e facili da capire sono i selettori di tipo. Questo selettore seleziona i tipi di elementi nella pagina. Ad esempio, per indirizzare tutti i commenti sulla pagina:

p {
color: red;
font-size:130%;
}

Una dichiarazione CSS termina sempre con un punto e virgola ei gruppi di dichiarazione sono circondati da parentesi graffe. I selettori di id consentono di applicare uno stile a un elemento HTML con attributo id, indipendentemente dalla loro posizione nell’albero del documento. Ecco un esempio di un selettore di ID:

The HTML:


This paragraph is in the intro section.



<p> This paragraph is not in the intro section.</p>

The CSS:
#intro {
color: white;
background-color: gray;
}

Per selezionare un elemento con un ID specifico, utilizzare un carattere hash e quindi seguirlo con l’id dell’elemento. I selettori di classe funzionano in modo simile. La principale differenza è che gli ID possono essere applicati solo una volta per pagina, mentre le classi possono essere utilizzate tutte le volte in una pagina secondo necessità. Nell’esempio seguente, entrambi i paragrafi con la “prima” classe saranno interessati dal CSS:

The HTML:
<pre>


This is a paragraph


This is the second paragraph.



<p class=”first”> This is not in the intro section</p>
<p> The second paragraph is not in the intro section. </p>
</pre>

The CSS:
.first {font-size: 200%;}

Per selezionare elementi con una classe specifica, usa un carattere punto, seguito dal nome della classe. NON avviare un nome di classe o ID con un numero! Questi selettori vengono utilizzati per selezionare elementi che sono discendenti di un altro elemento. Quando si selezionano i livelli, è possibile selezionare tutti i livelli in profondità necessari. Ad esempio, per indirizzare solo gli elementi <em> nel primo paragrafo della sezione “intro”:

The HTML:
<pre>


This is a paragraph.


This is the second paragraph.



<p class=”first”> This is not in the intro section.</p>
<p> The second paragraph is not in the intro section. </p>
</pre>

The CSS:
#intro .first em {
color: pink;
background-color:gray;
}

Di conseguenza, saranno interessati solo gli elementi selezionati. I commenti sono usati per spiegare il tuo codice e possono aiutarti quando modifichi il codice sorgente in seguito. I commenti sono ignorati dai browser. Un commento CSS assomiglia a questo:

/* Comment goes here */

Example:
p {
color: green;
/* This is a comment */
font-size: 150%;
}

Il commento non appare nel browser. L’aspetto finale di una pagina Web è il risultato di diverse regole di stile. Le tre principali fonti di informazioni di stile che formano una cascata sono:

– Il foglio di stile creato dall’autore della pagina
– Gli stili di default del browser
– Stili specificati dall’utente

L’ereditarietà si riferisce al modo in cui le proprietà fluiscono attraverso la pagina. Un elemento figlio di solito assume le caratteristiche dell’elemento genitore se non diversamente definito. Per esempio:
<pre>
<html>
<head>
<style>
body {
color: green;
font-family: Arial;
}
</style>
</head>
<body>
<p>
This is a text inside the paragraph.
</p>
</body>
</html>
</pre>

Poiché il tag di paragrafo (elemento figlio) si trova all’interno del tag body (elemento padre), assume qualsiasi stile assegnato al tag body.