{less} Guide de démarrage



Documents pareils
.. CSS. Damien Nouvel. Damien Nouvel (Inalco) CSS 1 / 15

LES GRANDES ETAPES DE CREATION D UN WEB DESIGN

Formation HTML / CSS. ar dionoea

1. La notion de cascade

HTML, CSS, JS et CGI. Elanore Elessar Dimar

Responsive Design. Technologies du web. Stéphane Bouvry, 2014

Optimiser les performances d un site web. Nicolas Chevallier Camille Roux

Travaux dirigés n 10

Pour en expliquer le principe, on se limitera à deux exemples :

RESPONSIVE WEB DESIGN

Initiation à html et à la création d'un site web

Démonstration de la mise en cache via HTML 5 sur iphone

Présentation du Framework BootstrapTwitter

Tutoriel : Feuille de style externe

KompoZer. Composition du site : _ une page d'accueil : index.html. _ une page pour la théorie : theorie.html. _ une page pour les photos : photos.

Guide de réalisation d une campagne marketing

Auteur LARDOUX Guillaume Contact Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

Grille fluide. Une grille fluide sert à structurer la mise en page, la rendre harmonieuse et faciliter le passage au responsive web design

TIC 12 ATELIER INTEGRATION CAHIER DES CHARGES. Page 1/5

UN SITE WEB RESPONSIVE EN UNE HEURE?

3. RÉALISATION ET QUALIFICATION D UN PROTOTYPE 3.1 Réalisation d un prototype CRÉATION D UNE PAGE WEB STATIQUE AU FORMAT HTML

Media queries : gérer différentes zones de visualisation

RESPONSIVE DESIGN : Comment offrir à vos sites une adaptabilité parfaite?

Zen, SASS, responsive design

TP JAVASCRIPT OMI4 TP5 SRC

HTML5 et CSS3 pour des sites Responsive Web Design

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

JOOMLA 1.5 avancé SUPPORT DE COURS + annexe

Présentation. Référenciel : textes officiels

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Nouveau Web Client marquant, Cumulus Video Cloud, optimisations de la base de données, et plus..

Formation : WEbMaster

ING & NEWSLETTER NEWSLETTER RESPONSIVE

Le serveur web Windows Home Server 2011

STID 2ème année : TP Web/PHP

Notes pour l utilisation d Expression Web

Fiche Pratique. Présentation du problème. Installation du logiciel. Etape 1. MAJ le 17/10/2011

Responsive Web Design. Responsive Design avec HTML 5.0 et CSS3

Optimiser pour les appareils mobiles

TABLE DES MATIERES...

Gestion Électronique de Documents et XML. Master 2 TSM

Introduction à Expression Web 2

Optimiser les s marketing Les points essentiels

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

WordPress Référencement naturel (SEO) Optimiser. son référencement. Daniel Roch. Préface d Olivier Andrieu

Notre processus d embauche

Parcours FOAD Formation EXCEL 2010

ECLIPSE ET PDT (Php development tools)

PPE Installation d un serveur FTP

Guide d installation

Présentation des CMS au CIFOM-EAA

Tutoriel réalisé par luo. Version du 22/02/14

Association UNIFORES 23, Rue du Cercler LIMOGES

Le piratage informatique. Rapport de projet. Spécialité Informatique 1 re année. DEJOUR Kévin SOUVILLE Jean-François. Suivi : Mokhtari-Brun Myriam

Maxpho Web Services. Maxpho Cloud Services. Date: 20 Septembre 2013 Version: 1.2 Auteur: Maxpho Ltd

Sommaire : Pourquoi créer un site web? Qu est-ce qu un site Web? Les différents types de sites. Quelles solutions peuvent être employées?

l'atelier Scientifique

Sophos Computer Security Scan Guide de démarrage

Responsive Web Design. La Rochelle, Avril 2014

Situation professionnelle n X

Tutoriel Drupal version 7 :

Ateliers Python+Qt : Premiers pas : S'installer pour PyQt... en quelques minutes sous Windows!

Comment faire pour créer ses propres pages html?

L'environnement graphique de Linux Une alternative à Windows

Procédure d'installation de SQL Server Express 2005

MANUEL UTILISATEUR KIWI BACKUP V 3

Prototyper un site web avec Awestruct et Boostrap

Perl Console. Votre compagnon pour développer en Perl. Les Journées du Perl , 17 novembre, Lyon. Alexis Sukrieh

WGW PBX. Guide de démarrage rapide

Configuration de Microsoft Internet Explorer pour l'installation des fichiers.cab AppliDis

Celui qui vous parle. Yann Vigara

RAPPORT AUDIT SEO. Élaboré à l'attention de : Monsieur Greber Élaboré par : Cédric Peinado

Créer une base de données vidéo sans programmation (avec Drupal)

GUIDE D UTILISATION CRÉER SON SITE WEB - PROJET RESCOL

Client Kiwi Backup : procédures d'installation et de mise à jour. Gilles Arnoult, Clément Varaldi

Programmation Web. Madalina Croitoru IUT Montpellier

PHP 5.4 Développez un site web dynamique et interactif

Utiliser un CMS: Wordpress

Capture Pro Software. Démarrage. A-61640_fr

Gestion d identités PSL Exploitation IdP Authentic

Dossier projet isn 2015 par Victor Gregoire

Manuel d'installation du logiciel

SECURIDAY 2012 Pro Edition

Guide de démarrage rapide

Chapitre 2 Accès aux partages depuis votre système d'exploitation

25 mars. Tutoriel sur Laravel. Préparé par : Lydiane Beaulne-Bélisle. Ceci est un tutorial qui montre comment débuter avec le Framework PHP Laravel.

Les outils de création de sites web

Comment formater votre ebook avec Open Office

Webmaster / Webdesigner / Wordpress

Transférer des fichiers à l aide de WinSCP et 2 contextes d utilisation dans des sites SPIP avec FCK editor

Dans l Unité 3, nous avons parlé de la

Introduction à HTML5, CSS3 et au responsive web design

Chapitre 1. Prise en main

Dévéloppement de Sites Web

Transcription:

{less Guide de démarrage

Pré requis L'utilisation d'un pré processeur css nécessite son installation préalable. Vous pouvez choisir de tout installer du coté du serveur ou du coté du client. Votre site de référence : http://lesscss.org/ On privilégiera l'installation coté client pour les phases de test, pour sa facilité de mise en oeuvre, et l'installation coté serveur pour la mise en production, pour ses performances.

Coté serveur Sur un serveur Debian Ubuntu (14.04.1 au moment de la rédaction du cours) Il faut installer nodejs, npm et node-less (apt-get install) Il faut également installer less lui même, par npm install less A partir de ce moment, en console (ssh) vous pouvez utiliser lessc pour lancer le "traitement" de vos fichiers comme suit user@serveur:~/public_html $ lessc nom-du-fichier-less > nom-du-fichier-css Annexe : se connecter en ssh, vérifier que l'on peut lancer lessc

Coté client Dans l'entête de votre fichier html vous aurez le lien vers le fichier less, en lieu et place du fichier css "normal" <link rel="stylesheet/less" type="text/css" href="styles.less"> Puis vous appellerez le fichier less.js que vous aurez préalablement téléchargé: <script src="less.js" type="text/javascript"></script> Ou en CDN (Content Delivery Network) <script src="//cdnjs.cloudflare.com/ajax/libs/less.js/2.0.0-b2/less.min.js"></script> Attention : c'est le navigateur du client qui fait tout. Si javascript est désactivé (c'est vrai que c'est rare) ou si votre css est lourde et que l'ordinateur client est un peu fatigué. :-(

Mise en bouche Si vous êtes en train de suivre ce cours, il est probable que vous connaissiez déjà la conception de code html et css. Si vous êtes un tant soit peu attaché à avoir une programmation "propre", il est également probable que vous ayez déploré des "manques" dans l'écriture des css. Commençons donc directement par des exemples :

Des variables exo1.less : /* la palette de couleurs */ @bleu: #1377db; @violet: #d324d6; Je définis des variables pour stocker les codes hexadécimaux RVB des couleurs utilisés partout. #content {background-color: @bleu; aside h2 {color: @violet; Partout en j'en ai besoin, j'utilise des variables au lieu de répéter ce code hexadécimal RVB.

Le résultat Après un lessc, on obtient : /* la palette de couleurs */ #content { background-color: #1377db; aside h2 { color: #d324d6; Mon commentaire est recopié tel quel Si je veux un commentaire propre à less, j'utiliserai // Par contre, il a bien substitué les variables par leurs valeurs respectives Simple, mais puissant : qui n'a jamais recherché/remplacé une chaîne dans des dizaines de fichiers?

Classe abstraite Pour que vos bordures soient bien arrondies, quel que soit le navigateur, vous avez lu quelque part qu'il valait mieux faire un truc du genre :.boitearrondie { -moz-border-radius: 10px; -webkit-border-radius: 10px; border-radius: 10px; Si le webdesigner a décidé d'arrondir tous les angles de tous les objets de toutes les pages, ça va devenir fastidieux...

Classe abstraite "arrondie".border-radius(@radius) { -moz-border-radius: @radius; -webkit-border-radius: @radius; border-radius: @radius; #inscription {.border-radius(10px);.arrondi {.border-radius(4px); Je reprend la syntaxe avec les préfixes en fonction du navigateur. Je me permet même de passer le rayon de l'arrondi en argument!

Le résultat #inscription {.arrondi { -moz-border-radius: 10px; -webkit-border-radius: 10px; border-radius: 10px; -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; lessc m'a bien généré la css telle qu'en elle même, avec toutes ces fastidieuses répétitions...

Imbrication <header> <h1> Du point de vue d'un programmeur lambda, le code est plus "propre" Version CSS header { background:.; width:. header h1 { color: ; Version LESS header { background:.; width:.; h1 { color: ;

Calcul #vignette.info La hauteur du conteneur #vignette est calculée : une hauteur arbitraire à laquelle en additionne la hauteur de l'élément inclus + les "padding" @infoh: 2em; @marge1: 5px;.info { height: @infoh; #vignette { height: 200px + @infoh + ( @marge1 * 2) ;

Couleurs Dans cet exemple, nous utiliserons une "fonction" less de "manipulation" des couleurs <div id="bloc1">lorem ipsum</div> <div id="bloc2">dolor sit amet consecutor</div> @coul1: #000BAD; @coef: 40%; #bloc1 { background-color:@coul1; #bloc2 {background-color:lighten(@coul1,@coef); On définit 2 variables Cette couleur est la couleur 1 "éclaircie" de 40%

Un menu <nav> <ul> </ul> </nav> <li class="c1">produits</li> <li class="c2">services</li> @coul1: #000BAD; @coul2: #7BB7E5; nav { background: #aaa; li { width: 200px; float: left; margin-right:10px; list-style-type:none;.c1 { background-color:@coul1; color:contrast(@coul1);.c2 { background-color:@coul2; color:contrast(@coul2); L'objectif est, sur ce simple menu, de gérer automatiquement le contraste entre la couleur du fond et celle du texte