Avevamo già introdotto il concetto di fogli di stile nella prima lezione di questo tutorato. Nel dettaglio con l'utilizzo dei Cascading Style Sheets (CSS), istruiamo il browser a riguardo dei font da utilizzare, i colori degli elementi della pagina, il corretto layout che vogliamo ottenere, ecc.
In aggiunta al materiale visto in aula, per ulteriori approfondimenti vi consiglio la lettura della documenzione disponibile sul portale della w3schools.
Riprendo l'esempio del Carousel visto nella precedente lezione, vogliamo modificarne alcuni comportamenti attraverso l'utilizzo delle formule CSS. Questo rappresenta il primo passo per la definizione del lavoro obiettivo di queste lezioni, che troverete a questo link.
Si tratta di una versione leggermente modificata dell'esempio presente nella documenzione di Bootstrap che abbiamo incontrato. Di seguito, vedremo dunque come introdurre formule aggiuntive di stile senza modificare il documento standard di Bootstrap.
Continuando l'esempio di barra di navigazione fatto nella precedente lezione, proveremo ora ad applicare delle formule in modo da modificarne l'aspetto. Per prima cosa è necessario definire un nuovo documento CSS da importare nella nostra pagina di test. Posizionatevi dunque all'interno della directory Bootstrap e definite un nuovo documento custom.css all'interno della directory css. Tornate quindi all'interno della pagina html e copiate il seguente codice: <link href="css/custom.css" rel="stylesheet">
.
Come visto precedentemente, questo ci permette di importare il nostro foglio di stile in aggiunta al documento di specifica di Bootstrap.
.navbar li a {
text-transform: uppercase;
font-weight: 500;
letter-spacing: 1px;
color: #ffffff;
}
Prova a cambiare il colore del brand (utilizzando la proprietà color
) all'interno della barra di navigazione utilizzando le formule CSS.
Fai attenzione a come è dichiarato il brand all'interno del codice!
Argh! Cambiando il colore delle scritte non riusciamo più a leggere all'interno del dropdown menu. Ma non ti preoccupare, possiamo sempre creare una nuova formula per cambiare il colore dello sfondo no?
Per modificare il colore di sfondo utilizza la funzione CSS: background-color: black
Basandoci su quanto fatto per la versione desktop, intuitivamente per modificare la versione mobile sarà necessario creare delle formule che qualifichino le classi utilizzate per la definizine dei sottomenu mobile oriented. Questi, rispondono alla classe .navbar-toggle
alla quale possiamo inoltre associare reazioni a seconda delle operazioni eseguite sull'elemento.
Basandoti sull'eserizio precedente, utilizza la stessa formula per modificare il colore di sfondo, del navbar-toggle
e delle icon-bar
del menu mobile.
.navbar .navbar-brand:hover,
.navbar .navbar-brand:focus,
.navbar .navbar-brand:active,
.navbar .navbar-brand.active {
color: #0000ff;
}
Nel codice scritto sopra vediamo due volte la formula active
, sapresti spiegare la differenza tra le due?
Con :active
specifichiamo lo stato in cui l'elemento si trova, quindi in questo caso l'elemento è stato premuto o è in focus; mentre, con .active
stiamo applicando la regola nel caso in cui l'elemento sia valorizzato con la classe active.
Sulla base di quanto visto in questo paragrafo, modifica il comportamento delle voci di menu presenti sulla navbar, in caso di hover
e focus
.
Al solito, dobbiamo ricordare che nello sviluppo di elementi web, la struttura gerarchica degli elementi è molto imporante. Per cui, se volessimo modificare i font della nostra pagina, ci sarà sufficiente creare una regola che includa tutto il <body>:
body {
font-family: "Roboto Slab","Times New Roman",Times,serif;
}
Aggiornando la pagina però, avrete notato che il font visualizzato non è affatto Roboto! Infatti, è necessario un passaggio aggiuntivo da parte degli sviluppatori. Sarà necessario includere un collegamento al font, che faremo seguire alle dichiarazioni dei fogli di stile:
<!-- Bootstrap Core CSS -->
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/custom_css.css" rel="stylesheet">
<!-- Font Aggiuntivi -->
<link href='https://fonts.googleapis.com/css?family=Roboto+Slab:400,100,300,700' rel='stylesheet' type='text/css'>
In questo paragrafo abbiamo definito una regola che si applica all'intero body. Per ipotesi, inseriamo nuovi elementi all'interno della pagina:
<div class="container">
<div class="row">
<div class="col-lg-12 text-center">
<h1>Ciao Mondo</h1>
<h2>Ciao Mondo</h2>
<h3>Ciao Mondo</h3>
<h4>Ciao Mondo</h4>
<h5>Ciao Mondo</h5>
</div>
</div>
</div>