SlideShare une entreprise Scribd logo
1  sur  38
Télécharger pour lire hors ligne
Eine kurze Einführung in




                    SASS
                    und eine noch Kürzere in Compass


Montag, 14. November 11
„CSS zu kompilieren ist eine völlig
               bescheuerte Idee. Das braucht kein
               Mensch und wer es nutzt, schlägt
               auch Omas auf der Straße.“
                                   — Andreas Dantz, 2009




Montag, 14. November 11
Montag, 14. November 11
SASS
                          .box
                            margin: 1em
                            .entry-content
                               border: 1px solid #f00




Montag, 14. November 11
SCSS
                          .box {
                            margin: 1em;
                            .entry-content {
                              border: 1px solid #f00;
                            }
                          }




Montag, 14. November 11
CSS 2.1




Montag, 14. November 11
CSS 3




Montag, 14. November 11
VARIABLEN & Co.       CSS wird Programmiersprache




Montag, 14. November 11
SCSS


       $maincolor: #f00;
       $compcolor: #0ff;

       a { color: $maincolor; }
       a:hover,
       a:focus { color: $compcolor; }

                                        CSS


       a { color: #f00; }
       a:hover,
       a:focus { color: #0ff; }




Montag, 14. November 11
SCSS


       4px         +      4px;
       4px         -      4px;
       4px         *      2;
       4px         /      2;
                                 CSS


       8px;
       0px;
       8px;
       2px;




Montag, 14. November 11
SCSS


       $defaultmargin: 20px;

       .box {
         border: 1px solid #000;
         margin: $defaultmargin / 2;
         padding: $defaultmargin / 2 - 1px;
       }
                                              CSS


       .box {
         border: 1px solid #000;
         margin: 10px;
         padding: 9px;
       }



Montag, 14. November 11
SCSS


       round(4.3);
       ceil(4.2);
       floor(4.6);
       abs(-12);
       percentage(26/50);
                            CSS


       4;
       5;
       4;
       12;
       52%;




Montag, 14. November 11
SCSS


       $maincolor: #f00;

       a { color: $maincolor; }
       a:hover,
       a:focus { color: lighten($maincolor, 30%); }

                                                      CSS


       a { color: #f00; }
       a:hover,
       a:focus { color: #f99; }




Montag, 14. November 11
SCSS




       adjust-hue($color, $degrees)
       lighten($color, $amount)
       darken($color, $amount)
       saturate($color, $amount)
       desaturate($color, $amount)
       grayscale($color)
       complement($color)
       invert($color)




Montag, 14. November 11
NESTING   Vererbung &
                           das Klä ern auf Bäume




Montag, 14. November 11
SCSS


       .box {
         width: 60%;
         h2 { font-size: 24px; }
       }
                                      CSS


       .box {
         width: 60%;
       }

       .box h2 { font-size: 24px; }




Montag, 14. November 11
SCSS


       .box {
         header, footer { background-color: #000; }
       }
                                                      CSS


       .box header, .box footer {
         background-color: #000
       }




Montag, 14. November 11
SCSS


       a {
         color: #f00;
         text-decoration: none;
         &:hover { text-decoration: underline }
       }
                                                  CSS


       a {
         color: #f00;
         text-decoration:none;
       }

       a:hover { text-decoration: underline; }




Montag, 14. November 11
SCSS


       button {
         background: linear-gradient(#fff, #eee };
         .no-cssgradients & { background: #eee };
       }

                                                     CSS


       button {
         # code mit dem Verlauf
       }

       .no-cssgradients button {
         background: #eee;
       }



Montag, 14. November 11
flickr.com/photos/sharynmorrow/
Montag, 14. November 11
SCSS


       .message {
         background-color: #eee;
         border: 1px solid #ccc;
         padding: 1em;
       }

       .message p:last-child { margin-bottom: 0; }

       .error {
         @extend .message;
         background-color: lighten(#f00, 60%);
         border: 1px solid #f00;
       }




Montag, 14. November 11
CSS


       .message, .error {
         background-color: #eee;
         border: 1px solid #ccc;
         padding: 1em;
       }

       .message p:last-child,
       .error p:last-child { margin-bottom: 0; }

       .error {
         background-color: white;
         border: 1px solid #f00;
       }




Montag, 14. November 11
VORSICHT!
Montag, 14. November 11
CSS




       #wrapper header#header .meta-nav nav ul li a span,
       .container #sidebar .region-sidebar .views-view-
       generic .item span {
         color #f00;
       }




Montag, 14. November 11
MIXINS
                           Einen Gang höher




Montag, 14. November 11
SCSS


       @mixin linkeffect {
         color: #f00;
         &:hover { color: darken(#f00, 30%); }
       }

       nav a { @include linkeffect; }
                                                 CSS


       nav a {
         color: #f00;
       }

       nav a:hover {
         color: #660000;
       }


Montag, 14. November 11
SCSS


       @mixin border-radius($radius) {
         -webkit-border-radius: $radius;
         -moz-border-radius: $radius;
         border-radius: $radius;
       }

       .box { @include border-radius(5px); }

                                               CSS


       .box {
         -webkit-border-radius: 5px;
         -moz-border-radius: 5px;
         border-radius: 5px;
       }


Montag, 14. November 11
SCSS


       @mixin linkcolor($link:black, $hover:red) {
         color: $link;
         &:hover { color: $hover; }
       }

       a { @include linkcolor($hover:yellow ); }


                                                     CSS


       a { color: black; }
       a:hover { color: yellow; }




Montag, 14. November 11
SCSS


       @mixin linkcolor($dark: false) {
         @if $dark == true {
             color: black;
             &:hover { color: blue; }
           } @else {
             color: white;
             &:hover { color: #ccc; }
           }
       }

       a { @include linkcolor(); }
       a.alt { @include linkcolor(true); }   CSS


       a { color: white; }
       a:hover { color: #ccc; }
       a.alt { color: black; }
       a.alt:hover { color: blue; }
Montag, 14. November 11
Montag, 14. November 11
DAS GIBT ES FÜR’S GELD
              ★ Alles, was SASS bietet
              ★ Noch mehr Funktionen
              ★ Mixin Bibliothek
              ★ Projekt-Umgebung
              ★ Erweiterungen




Montag, 14. November 11
SCSS


       header {
         background: image-url('logo.jpg');
         h1 {
           width: image-width('logo.jpg');
           height: image-height('logo.jpg');
         }
       }
                                                           CSS


       header {
         background: url('/images/logo.jpg?1321202172');
       }

       header h1 {
         width: 346px;
         height: 400px;
       }
Montag, 14. November 11
SCSS


       .box {
         @include border-radius(8px);
         @include background(linear-gradient(#000, #333));
       }
                                                        CSS


       .box {
         -moz-border-radius: 8px;-webkit-border-radius:
       8px;-ms-border-radius: 8px; border-radius: 8px;
         background: -webkit-gradient(linear, 50% 0%, 50%
       100%, color-stop(0%, #000000), color-stop(100%,
       #333333));
         background: -webkit-linear-gradient(#000000,
       #333333);
         background: -moz-linear-gradient(#000000, #333333);
         background: linear-gradient(#000000, #333333);
       }
Montag, 14. November 11
flickr.com/photos/runningdevine
Montag, 14. November 11
SCSS


       @import "icon/*.png";
       @include all-icon-sprites($dimensions:true);

                                                           CSS



       .icon-sprite, .icon-minus {
         background: url('/images/icon-sd557c6037f.png')
         no-repeat;
       }

       .icon-minus {
         background-position: 0 0;
         height: 7px;
         width: 24px;
       }


Montag, 14. November 11
JA, ABER…
Montag, 14. November 11
FRAGEN?  @dantz
                            ad@vortrieb.net
                               vortrieb.net




Montag, 14. November 11
BONUS
Montag, 14. November 11

Contenu connexe

Similaire à Eine kleine Einführung in SASS (6)

FCIP SASS Talk
FCIP SASS TalkFCIP SASS Talk
FCIP SASS Talk
 
Drupal & CSS Preprocessors
Drupal & CSS PreprocessorsDrupal & CSS Preprocessors
Drupal & CSS Preprocessors
 
Theming and Sass
Theming and SassTheming and Sass
Theming and Sass
 
Preprocessor presentation
Preprocessor presentationPreprocessor presentation
Preprocessor presentation
 
Using Sass - Building on CSS
Using Sass - Building on CSSUsing Sass - Building on CSS
Using Sass - Building on CSS
 
CSS with LESS for #jd13nl
CSS with LESS for #jd13nlCSS with LESS for #jd13nl
CSS with LESS for #jd13nl
 

Dernier

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Dernier (20)

Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 

Eine kleine Einführung in SASS

  • 1. Eine kurze Einführung in SASS und eine noch Kürzere in Compass Montag, 14. November 11
  • 2. „CSS zu kompilieren ist eine völlig bescheuerte Idee. Das braucht kein Mensch und wer es nutzt, schlägt auch Omas auf der Straße.“ — Andreas Dantz, 2009 Montag, 14. November 11
  • 4. SASS .box margin: 1em .entry-content border: 1px solid #f00 Montag, 14. November 11
  • 5. SCSS .box { margin: 1em; .entry-content { border: 1px solid #f00; } } Montag, 14. November 11
  • 6. CSS 2.1 Montag, 14. November 11
  • 7. CSS 3 Montag, 14. November 11
  • 8. VARIABLEN & Co. CSS wird Programmiersprache Montag, 14. November 11
  • 9. SCSS $maincolor: #f00; $compcolor: #0ff; a { color: $maincolor; } a:hover, a:focus { color: $compcolor; } CSS a { color: #f00; } a:hover, a:focus { color: #0ff; } Montag, 14. November 11
  • 10. SCSS 4px + 4px; 4px - 4px; 4px * 2; 4px / 2; CSS 8px; 0px; 8px; 2px; Montag, 14. November 11
  • 11. SCSS $defaultmargin: 20px; .box { border: 1px solid #000; margin: $defaultmargin / 2; padding: $defaultmargin / 2 - 1px; } CSS .box { border: 1px solid #000; margin: 10px; padding: 9px; } Montag, 14. November 11
  • 12. SCSS round(4.3); ceil(4.2); floor(4.6); abs(-12); percentage(26/50); CSS 4; 5; 4; 12; 52%; Montag, 14. November 11
  • 13. SCSS $maincolor: #f00; a { color: $maincolor; } a:hover, a:focus { color: lighten($maincolor, 30%); } CSS a { color: #f00; } a:hover, a:focus { color: #f99; } Montag, 14. November 11
  • 14. SCSS adjust-hue($color, $degrees) lighten($color, $amount) darken($color, $amount) saturate($color, $amount) desaturate($color, $amount) grayscale($color) complement($color) invert($color) Montag, 14. November 11
  • 15. NESTING Vererbung & das Klä ern auf Bäume Montag, 14. November 11
  • 16. SCSS .box { width: 60%; h2 { font-size: 24px; } } CSS .box { width: 60%; } .box h2 { font-size: 24px; } Montag, 14. November 11
  • 17. SCSS .box { header, footer { background-color: #000; } } CSS .box header, .box footer { background-color: #000 } Montag, 14. November 11
  • 18. SCSS a { color: #f00; text-decoration: none; &:hover { text-decoration: underline } } CSS a { color: #f00; text-decoration:none; } a:hover { text-decoration: underline; } Montag, 14. November 11
  • 19. SCSS button { background: linear-gradient(#fff, #eee }; .no-cssgradients & { background: #eee }; } CSS button { # code mit dem Verlauf } .no-cssgradients button { background: #eee; } Montag, 14. November 11
  • 21. SCSS .message { background-color: #eee; border: 1px solid #ccc; padding: 1em; } .message p:last-child { margin-bottom: 0; } .error { @extend .message; background-color: lighten(#f00, 60%); border: 1px solid #f00; } Montag, 14. November 11
  • 22. CSS .message, .error { background-color: #eee; border: 1px solid #ccc; padding: 1em; } .message p:last-child, .error p:last-child { margin-bottom: 0; } .error { background-color: white; border: 1px solid #f00; } Montag, 14. November 11
  • 24. CSS #wrapper header#header .meta-nav nav ul li a span, .container #sidebar .region-sidebar .views-view- generic .item span { color #f00; } Montag, 14. November 11
  • 25. MIXINS Einen Gang höher Montag, 14. November 11
  • 26. SCSS @mixin linkeffect { color: #f00; &:hover { color: darken(#f00, 30%); } } nav a { @include linkeffect; } CSS nav a { color: #f00; } nav a:hover { color: #660000; } Montag, 14. November 11
  • 27. SCSS @mixin border-radius($radius) { -webkit-border-radius: $radius; -moz-border-radius: $radius; border-radius: $radius; } .box { @include border-radius(5px); } CSS .box { -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; } Montag, 14. November 11
  • 28. SCSS @mixin linkcolor($link:black, $hover:red) { color: $link; &:hover { color: $hover; } } a { @include linkcolor($hover:yellow ); } CSS a { color: black; } a:hover { color: yellow; } Montag, 14. November 11
  • 29. SCSS @mixin linkcolor($dark: false) { @if $dark == true { color: black; &:hover { color: blue; } } @else { color: white; &:hover { color: #ccc; } } } a { @include linkcolor(); } a.alt { @include linkcolor(true); } CSS a { color: white; } a:hover { color: #ccc; } a.alt { color: black; } a.alt:hover { color: blue; } Montag, 14. November 11
  • 31. DAS GIBT ES FÜR’S GELD ★ Alles, was SASS bietet ★ Noch mehr Funktionen ★ Mixin Bibliothek ★ Projekt-Umgebung ★ Erweiterungen Montag, 14. November 11
  • 32. SCSS header { background: image-url('logo.jpg'); h1 { width: image-width('logo.jpg'); height: image-height('logo.jpg'); } } CSS header { background: url('/images/logo.jpg?1321202172'); } header h1 { width: 346px; height: 400px; } Montag, 14. November 11
  • 33. SCSS .box { @include border-radius(8px); @include background(linear-gradient(#000, #333)); } CSS .box { -moz-border-radius: 8px;-webkit-border-radius: 8px;-ms-border-radius: 8px; border-radius: 8px; background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #000000), color-stop(100%, #333333)); background: -webkit-linear-gradient(#000000, #333333); background: -moz-linear-gradient(#000000, #333333); background: linear-gradient(#000000, #333333); } Montag, 14. November 11
  • 35. SCSS @import "icon/*.png"; @include all-icon-sprites($dimensions:true); CSS .icon-sprite, .icon-minus { background: url('/images/icon-sd557c6037f.png') no-repeat; } .icon-minus { background-position: 0 0; height: 7px; width: 24px; } Montag, 14. November 11
  • 36. JA, ABER… Montag, 14. November 11
  • 37. FRAGEN? @dantz ad@vortrieb.net vortrieb.net Montag, 14. November 11