HTML5 Professor - ACSS converter

Tutoriels > ACSS converter

ACSS converter

Sommaire :

Présentation


ACSS Converter (Active Cascading Style Sheets) est une petite merveille qui va vous permettre de vous simplifier grandement la vie dans l'écriture de code CSS.

L'installation est ultra simple et fonctionne en toute transparence sur n'importe quel serveur. Une fois les scripts mis en place, tout se fait automatiquement, vous n'avez plus à vous soucier de quoi que ce soit et il devient alors impossible de s'en séparer !

Parmi les fonctionnalités disponibles :

  • Introduction automatique des préfixes -moz-, -webkit-, -o-, -ms- pour les propriétés CSS3
  • Support d’arbres CSS
  • Prise en charge de variables permettant de changer instantanément une couleur par exemple
  • Support d'extension d'éléments





Prenons un petit exemple :

Secret
Code : css
  1. /*
  2. *       Auto change CSS 3 attributes
  3. */
  4. body { 
  5.         background: linear-gradient(
  6.                 bottom,
  7.                 #1590b2,
  8.                 #28b6d6
  9.         );
  10.        
  11.         width: 100%;
  12.        
  13.         user-select: none;
  14. }
  15. /*
  16. *       CSS tree
  17. */
  18. ul {
  19.         width: 100%;
  20.        
  21.         li, lo {
  22.                 background: red;
  23.         }
  24.        
  25.         :hover {
  26.                 width: 50%;
  27.         }
  28.        
  29.         &.liste {
  30.                 width: 75%;
  31.         }
  32. }
  33. /*
  34. *       Variables
  35. */
  36. $black = '#111111';
  37. div {
  38.         background: $black;
  39.        
  40.         $redBorder = '1px solid red';
  41.        
  42.         border: $redBorder;
  43. }
  44. /*
  45. *       Extend
  46. */
  47. div {
  48.         width: 100%;
  49.         extend: '.gradient';
  50. }
  51. .gradient {
  52.         background: #1590b2;
  53.         background: linear-gradient(
  54.                 bottom,
  55.                 #1590b2,
  56.                 #28b6d6
  57.         );
  58. }


Donnera un code CSS compatible CSS 2 :

Code : css
  1. body {
  2.         background: -webkit-linear-gradient(bottom,#1590b2,#28b6d6);
  3.         background: -moz-linear-gradient(bottom,#1590b2,#28b6d6);
  4.         background: -o-linear-gradient(bottom,#1590b2,#28b6d6);
  5.         background: -ms-linear-gradient(bottom,#1590b2,#28b6d6);
  6.         background: linear-gradient(bottom,#1590b2,#28b6d6);
  7.         width: 100%;
  8.         -webkit-user-select: none;
  9.         -moz-user-select: none;
  10.         -o-user-select: none;
  11.         -ms-user-select: none;
  12.         user-select: none;
  13. }
  14. ul {
  15.         width: 100%;
  16. }
  17. ul li, ul lo {
  18.         background: red;
  19. }
  20. ul:hover {
  21.         width: 50%;
  22. }
  23. ul.liste {
  24.         width: 75%;
  25. }
  26. div {
  27.         background: #111111;
  28.         border: 1px solid red;
  29. }
  30. div {
  31.         width: 100%;
  32.        
  33. }
  34. .gradient, div {
  35.         background: #1590b2;
  36.         background: -webkit-linear-gradient(bottom,#1590b2,#28b6d6);
  37.         background: -moz-linear-gradient(bottom,#1590b2,#28b6d6);
  38.         background: -o-linear-gradient(bottom,#1590b2,#28b6d6);
  39.         background: -ms-linear-gradient(bottom,#1590b2,#28b6d6);
  40.         background: linear-gradient(bottom,#1590b2,#28b6d6);
  41. }


Installation



Télécharger le zip et extrayez le dans le répertoire de votre site web (de préférence à la racine de celui-ci).
Si vous possédez déjà un fichier .htaccess, il suffit de copier le contenu de l'un dans l'autre.

Ensuite ouvrez acssConverter.php et repérez la 1ère ligne $root = '../..';.
Modifiez cette variable pour qu'elle pointe la racine de votre site web par rapport à la page acssConverter.php (par exemple, si celle-ci est située dans /css/ => $root = '..';).

Pour tester si tout marche bien, ouvrez la page style.acss depuis votre navigateur web et vous devriez obtenir un code CSS valide.

Attention : Le fichier .htaccess doit être situé à la racine de votre site web !

Voilà c'est tout.

Créer un fichier acss



Pour utiliser un fichier acss rien de plus simple : commencez par créer un fichier avec l'extension .acss que vous pouvez placer n'importe où.

Attention : Si vos fichiers sont encodées en utf-8, enregistrez les en utf-8 sans BOM !


Ensuite pour l’intégrer à une de vos page HTML : <link rel="stylesheet" type="text/css" href="css/style.acss" />
Bref rien de plus simple car tout est automatique.

Documentation


Les attributs CSS 3



Quand on code en CSS, on se retrouve souvent face à un problème important : la compatibilité du CSS3 ! Par exemple la syntaxe CSS 3 pour un dégradé est la suivante :

Code : css
  1. background: linear-gradient(
  2.         bottom,
  3.         #1590b2,
  4.         #28b6d6
  5. );


Sauf que sans préfixes ( -moz-, -webkit-, -o-, -ms- ) et bien ça na marchera tout simplement pas ! Il va donc falloir réécrire 5 fois ce code... Avec accsConverter pas de problème car les préfixes sont ajoutés automatiquement à tous les attributs CSS 3 (comme par exemple : box-shadow, transition, ...)

Les arbres CSS



Une autre fonctionnalité majeure et indispensable de assConverter et la gestion de arbres.
On en a souvent marre en CSS d'écrire :

Code : css
  1. #menu ul li .line .text h1 {
  2.         font-size: 24px;
  3. }
  4. #menu ul li .line .text h2 {
  5.         font-size: 16px;
  6. }


Grâce à accsConverter, on peut imbriquer des éléments dans d'autres éléments :

Code : css
  1. div {
  2.         font-size: 16px;
  3.         h1 {
  4.                 font-size: 24px;
  5.                 .title {
  6.                         color: red;
  7.                 }
  8.         }
  9. }


Par exemple le code si dessus affiche les div en vert et lorsque la souris est dessus en rouge :

Code : css
  1. div {
  2.         background: green;
  3.         :hover {
  4.                 background: red;
  5.         }
  6. }


Finalement, on nouveau sélecteur fait son apparition : &. Ce signe sert à indiquer qu'il faut que les deux éléments de part et d'autre soient réunis pour que la règle CSS s’applique :

Code : css
  1. .box & .red {
  2.         background : red;
  3. }
  4. /* ou */
  5. .box {
  6.         &.red {
  7.                 background : red;
  8.         }
  9. }
  10. /* equivaut à */
  11. .box.red {
  12.         background : red;
  13. }


Les variables



Les variables sont un moyen simple de stoquer des données et de les réutiliser plus tard.
Elle s'initialisent de cette façon : $variable = 'valeur'; n'importe où dans le code et peuvent être utilisées après n'importque quel attributs css : border: $variable;

Par exemple, si vous avez 20 fois la même valeur de couleur pour une bordure plutôt que d'écrire border: 1px solid #123456;, écrivez plutôt :

Code : css
  1. $boderColor = '#123456;'
  2. div {
  3.         border: 1px solid $boderColor;
  4. }


De ce fait, si vous voulez changer la valeur de la couleur de vos bordures, il ne faudra pas le faire 20 fois.

L'attribut extend



Dernier point : acssConverter ajoute l'attibut extend. Celui ci permet à un élément d'hériter des propriétés d'un autre élément.
La syntaxe est la suivante : extend : 'element existant';

Code : css
  1. div {
  2.         width: 100%;
  3.         extend: '.gradient';
  4. }
  5. .gradient {
  6.         background: #1590b2;
  7.         background: linear-gradient(
  8.                 bottom,
  9.                 #1590b2,
  10.                 #28b6d6
  11.         );
  12. }


Avec ce code, toutes les div hériteront des attributs présents dans .gradient

Voilà c'est fini, n'hésitez pas à posez des questions si vous en avez !


Tutoriels > ACSS converter
[remonter]
[form method="POST" id="connexion" class="logForm"] [label for="pseudo"]Pseudo :[/label][input type="text" name="pseudo" id="pseudo" required="required"] [br] [label for="password"]Code :[/label][input type="password" name="password" id="password" required="required"] [br] [button]Se connecter[/button] [/form]
[form method="POST" id="inscription" class="logForm"] [label for="pseudo"]Pseudo :[/label][input type="text" name="pseudo" id="pseudo" required="required" maxlength="16"] [br] [label for="password"]Code :[/label][input type="password" name="password" id="password" required="required" maxlength="16"] [br] [label for="email"]Email :[/label][input type="email" name="email" id="email" required="required"] [br] [button]S'inscrire[/button] [/form]