Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
public:appro-s7:td_web:css [2020/12/01 14:05] – créée edauce | public:appro-s7:td_web:css [2023/11/03 14:59] (Version actuelle) – edauce | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ==== 13. CSS - Rendez votre site joli ! ==== | ||
+ | Soyons honnêtes : notre blog est plutôt moche, non ? Un peu de CSS devrait nous permettre d' | ||
+ | |||
+ | === Qu' | ||
+ | |||
+ | Les feuilles de style (CSS : Cascading Style Sheets) sont un langage utilisé pour décrire l' | ||
+ | |||
+ | Mais on ne souhaite pas repartir de zéro. Une fois de plus, nous utiliserons quelque chose que les programmeurs ont publié gratuitement sur Internet. Réinventer la roue n'est pas amusant, n' | ||
+ | Utilisons Bootstrap ! | ||
+ | |||
+ | Bootstrap est l'un des frameworks HTML/CSS les plus populaires pour développer de beaux sites web : {{https:// | ||
+ | |||
+ | Il a été créé par d' | ||
+ | |||
+ | === Installer Bootstrap === | ||
+ | |||
+ | Pour installer Bootstrap, ouvrez votre fichier .html dans l' | ||
+ | |||
+ | '' | ||
+ | <code html> | ||
+ | <link rel=" | ||
+ | <link rel=" | ||
+ | </ | ||
+ | Cela n' | ||
+ | |||
+ | {{https:// | ||
+ | |||
+ | C'est déjà un peu mieux ! | ||
+ | |||
+ | === Les fichiers statiques dans Django === | ||
+ | |||
+ | Enfin, allons jeter un coup d'œil à ces fichiers statiques dont nous n' | ||
+ | Où ranger les fichiers statiques dans Django ? | ||
+ | |||
+ | Django sait déjà où trouver les fichiers statiques pour l' | ||
+ | |||
+ | Pour cela, nous allons créer un dossier appelé static à l' | ||
+ | |||
+ | djangogirls | ||
+ | ├── blog | ||
+ | │ ├── migrations | ||
+ | │ ├── static | ||
+ | │ └── templates | ||
+ | └── mysite | ||
+ | |||
+ | Django va rechercher automatiquement tous les dossiers dits " | ||
+ | |||
+ | === Votre premier fichier CSS ! === | ||
+ | |||
+ | Nous allons maintenant créer un fichier CSS afin de personnaliser votre page. Créez un nouveau dossier appelé css à l' | ||
+ | |||
+ | djangogirls | ||
+ | └─── blog | ||
+ | | ||
+ | └─── css | ||
+ | | ||
+ | |||
+ | Et c'est parti pour un peu de CSS ! Ouvrez le fichier '' | ||
+ | |||
+ | Nous n' | ||
+ | |||
+ | Que pourrions-nous faire rapidement ? Pourquoi ne pas changer la couleur de notre en-tête ? Pour indiquer la couleur que nous souhaitons utiliser, nous devons utiliser un code particulier. Ce code commence par un # suivi de 6 lettres (A-F) et chiffres (0-9). Par exemple, le code pour du bleu est #0000FF. Afin de trouver le code associé à la couleur de votre choix, vous pouvez consulter le site {{http:// | ||
+ | |||
+ | Dans votre fichier blog/ | ||
+ | |||
+ | '' | ||
+ | <code css> | ||
+ | h1 a, h2 a { color: #C25100; } | ||
+ | </ | ||
+ | |||
+ | h1 a est un sélecteur CSS. Cela signifie que nous allons appliquer nos styles à tout élément a qui se trouve dans un élément h1 ; le sélecteur h2 a fait la même chose pour les éléments h2. Donc lorsque nous avons quelque chose comme ''< | ||
+ | |||
+ | Un fichier CSS permet de déterminer le style des éléments présents dans un fichier HTML. La première façon pour identifier des éléments, c'est avec leur nom d' | ||
+ | |||
+ | ''< | ||
+ | |||
+ | Apprenez-en plus à propos des Sélecteurs CSS sur {{http:// | ||
+ | |||
+ | Nous devons aussi dire à notre modèle HTML que nous avons utilisé un peu de CSS. Ouvrez le fichier '' | ||
+ | |||
+ | '' | ||
+ | <code html> | ||
+ | {% load static %} | ||
+ | </ | ||
+ | |||
+ | On vient tout juste de charger les fichiers statiques :). Entre les balises ''< | ||
+ | |||
+ | '' | ||
+ | <code html> | ||
+ | <link rel=" | ||
+ | </ | ||
+ | |||
+ | Le navigateur lit les fichiers dans l' | ||
+ | |||
+ | Maintenant, votre fichier doit ressembler à ceci : | ||
+ | |||
+ | '' | ||
+ | <code html> | ||
+ | {% load static %} | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | <link rel=" | ||
+ | <link rel=" | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | {% for post in posts %} | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | <p>{{ post.text|linebreaksbr }}</ | ||
+ | </ | ||
+ | {% endfor %} | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Ok, on sauvegarde et on rafraîchit la page ! | ||
+ | |||
+ | {{https:// | ||
+ | |||
+ | Bravo ! Peut-être que nous pourrions aérer un peu notre page web en augmentant la marge du côté gauche ? Essayons pour voir ! | ||
+ | |||
+ | '' | ||
+ | <code css> | ||
+ | body { padding-left: | ||
+ | </ | ||
+ | |||
+ | Ajoutez ceci à votre CSS, enregistrez le fichier et regarder comment cela fonctionne ! | ||
+ | |||
+ | {{https:// | ||
+ | |||
+ | Et si nous changions aussi la police de caractères de notre entête ? Collez ceci dans le < | ||
+ | |||
+ | '' | ||
+ | <code html> | ||
+ | <link href="// | ||
+ | </ | ||
+ | |||
+ | Comme précédemment, | ||
+ | |||
+ | Retrouvez le bloc de règles h1 a (délimité par les accolades { }) dans le fichier css '' | ||
+ | |||
+ | '' | ||
+ | <code css> | ||
+ | h1 a, h2 a { color: #C25100; font-family: | ||
+ | </ | ||
+ | {{https:// | ||
+ | |||
+ | Super ! | ||
+ | |||
+ | Comme mentionné ci-dessus, CSS a un concept de classe. Ce concept vous permet de nommer une partie de code HTML et d'y appliquer des styles, uniquement pour cette partie, sans affecter le reste. Cela peut être très utile ! Peut-être que vous avez deux divs qui sont en train de faire quelque chose de différent (comme votre en-tête et votre contenu). Une classe peut vous aider à leur donner un aspect différent. | ||
+ | |||
+ | Allons donner des noms à certaines parties de notre code html. Ajouter la classe page-header à votre div qui contient votre en-tête. Votre fichier doit ressembler maintenant à ceci : | ||
+ | |||
+ | '' | ||
+ | <code html> | ||
+ | <header class=" | ||
+ | <div class=" | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Maintenant, ajoutez la classe billet à votre div contenant votre billet de blog. | ||
+ | |||
+ | '' | ||
+ | <code html> | ||
+ | <article class=" | ||
+ | < | ||
+ | < | ||
+ | <p>{{ post.text|linebreaksbr }}</ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Nous allons maintenant ajouter des blocs de règles aux différents sélecteurs. Les sélecteurs qui commencent par . désignent des classes. De nombreux tutoriels et explications sur le CSS existent sur le Web, cela pourra vous aider qui à comprendre le code suivant. Pour le moment, copiez et collez-le dans votre fichier blog/ | ||
+ | |||
+ | '' | ||
+ | <code css> | ||
+ | .page-header { | ||
+ | background-color: | ||
+ | margin-top: 0; | ||
+ | margin-bottom: | ||
+ | padding: 20px 20px 20px 40px; | ||
+ | } | ||
+ | |||
+ | .page-header h1, | ||
+ | .page-header h1 a, | ||
+ | .page-header h1 a:visited, | ||
+ | .page-header h1 a:active { | ||
+ | color: #ffffff; | ||
+ | font-size: 36pt; | ||
+ | text-decoration: | ||
+ | } | ||
+ | |||
+ | h1, | ||
+ | h2, | ||
+ | h3, | ||
+ | h4 { | ||
+ | font-family: | ||
+ | } | ||
+ | |||
+ | .date { | ||
+ | color: #828282; | ||
+ | } | ||
+ | |||
+ | .save { | ||
+ | float: right; | ||
+ | } | ||
+ | |||
+ | .post-form textarea, | ||
+ | .post-form input { | ||
+ | width: 100%; | ||
+ | } | ||
+ | |||
+ | .top-menu, | ||
+ | .top-menu: | ||
+ | .top-menu: | ||
+ | color: #ffffff; | ||
+ | float: right; | ||
+ | font-size: 26pt; | ||
+ | margin-right: | ||
+ | } | ||
+ | |||
+ | .post { | ||
+ | margin-bottom: | ||
+ | } | ||
+ | |||
+ | .post h2 a, | ||
+ | .post h2 a:visited { | ||
+ | color: #000000; | ||
+ | } | ||
+ | |||
+ | .post > .date, | ||
+ | .post > .actions { | ||
+ | float: right; | ||
+ | } | ||
+ | |||
+ | .btn-default, | ||
+ | .btn-default: | ||
+ | color: #C25100; | ||
+ | background: none; | ||
+ | border-color: | ||
+ | } | ||
+ | |||
+ | .btn-default: | ||
+ | color: #FFFFFF; | ||
+ | background-color: | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Nous allons maintenant nous intéresser au code concernant les billets. Il va falloir remplacer le code suivant : | ||
+ | |||
+ | '' | ||
+ | <code html> | ||
+ | {% for post in posts %} | ||
+ | <article class=" | ||
+ | < | ||
+ | < | ||
+ | <p>{{ post.text|linebreaksbr }}</ | ||
+ | </ | ||
+ | {% endfor %} | ||
+ | </ | ||
+ | |||
+ | se trouvant dans le fichier '' | ||
+ | |||
+ | '' | ||
+ | <code html> | ||
+ | <main class=" | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | {% for post in posts %} | ||
+ | <article class=" | ||
+ | <time class=" | ||
+ | {{ post.published_date }} | ||
+ | </ | ||
+ | < | ||
+ | <p>{{ post.text|linebreaksbr }}</ | ||
+ | </ | ||
+ | {% endfor %} | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Sauvegardez les fichiers modifiés et rafraîchissez votre page. | ||
+ | |||
+ | {{https:// | ||
+ | |||
+ | Génial, non ? Intéressez-vous au code que nous venons juste de coller pour trouver quelles règles CSS sont appliquées aux sélecteurs HTML que nous avons nommés précédemment. Où feriez-vous le changement si l'on souhaite mettre la date en turquoise ? | ||
+ | |||
+ | N'ayez pas peur de bricoler un peu le CSS et essayer de changer certaines choses. Jouer avec le CSS peut vous aider à comprendre comment et qui agit sur quoi. Si vous cassez quelque chose, ne vous inquiétez pas – vous pouvez toujours faire marche arrière ! | ||
+ | |||
+ | |||
+ | [[public: |