SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Software programming tools for creating/managing CSS files DinuSuman
What kind of software tools can be? IDE Tools for generating templates CSS Frameworks with existing plugins, … Languages that extend css 			(will be covered in this presentation)
Some Languages that extend css: Less (http://lesscss.org/) xCSS (http://xcss.antpaw.org) Sass/Scss (http://sass-lang.com/) Hss (http://ncannasse.fr/projects/hss) CleverCss (http://sandbox.pocoo.org/clevercss/)
Why simple css isn’t enough? Why do we need extending languages?
What do we get? Variables Mixins Nested Rules Functions & Operations
Variables // LESS  @color: #4D926F; #header {  color:@color; }  h2 {  color:@color;  } /* Compiled CSS */  #header {  	color: #4D926F;  }  h2 {  	color: #4D926F;  }
Mixins // LESS  .rounded-corners (@radius: 5px) {  border-radius:@radius; -webkit-border-radius:@radius; -moz-border-radius:@radius;  }  #header {  .rounded-corners; }  #footer {  .rounded-corners(10px);  } /* Compiled CSS */  #header {  	border-radius: 5px;  	-webkit-border-radius: 5px;  	-moz-border-radius: 5px;  }  #footer {  	border-radius: 10px;  	-webkit-border-radius: 10px;  	-moz-border-radius: 10px;  }
Nested Rules // LESS  #header {  h1 {  font-size: 26px;  font-weight: bold;  	}  p {   font-size:12px;  a {  text-decoration: none;  &:hover {  border-width: 1px ; } } 	}  } /* Compiled CSS */  #headerh1 {  font-size: 26px;  font-weight: bold;  }  #header p {  font-size: 12px;  }  #header p a {  text-decoration: none;  }  #header p a:hover {  border-width: 1px;  }
		Functions & Operations   // LESS  @the-border: 1px;  @base-color: #111;  @red: #842210;  #header {  color: @base-color * 3;  border-left: @the-border;  border-right: @the-border * 2;  }  #footer {  color: @base-color + #003300;  border-color: desaturate(@red, 10%);  } /* Compiled CSS */  #header {  color: #333;  border-left: 1px;  border-right: 2px;  }  #footer {  color: #114411;  border-color: #7d2717;  }
	Other Operations: @base: 5%;  @filler: @base * 2;  @other: @base + @filler;  color: #888 / 4;  background-color: @base-color + #111;  Height: 100% / 2 + @filler; @var: 1px + 5; width: (@var+ 5) * 2; border: (@width * 2) solidblack;
Functions: lighten(@color, 10%); // return a color which is 10% *lighter* than @color  darken(@color, 10%); // return a color which is 10% *darker* than @color  saturate(@color, 10%); // return a color 10% *more* saturated than @color  desaturate(@color, 10%); // return a color 10% *less* saturated than @color  fadein(@color, 10%); // return a color 10% *less* transparent than @color  fadeout(@color, 10%); // return a color 10% *more* transparent than @color  spin(@color, 10); // return a color with a 10 degree larger in hue than @color  spin(@color, -10); // return a color with a 10 degree smaller hue than @color hue(@color); // returns the `hue` channel of @color  saturation(@color); // returns the `saturation` channel of @color  lightness(@color); // returns the 'lightness' channel of @color
Other: //Scope @var: red;  #page {  @var: white;  #header { color: @var; // white }  }  #footer { color: @var; // red } //importing @import "lib.less";  //or @import"lib"; //if css @import "lib.css";
Usage Client: CSS + JS: <linkrel="stylesheet/less" type="text/css"href="styles.less"> <scriptsrc="less.js" type="text/javascript"></script> Server: $npm install less Command-line usage: $lesscstyles.less $lesscstyles.less > styles.css Options: -x (minified)
vs /* CSS */ .selector {  	background-image:   url(../img/tmpl1/png/head_bg.png); background-color: #FF00FF;  	border-top: 1px solid #FF00FF; }  Variables: vars {  	$path = ../img/tmpl1/png;  	$color1 = #FF00FF;  	$border = border-top: 1px solid 				$color1;  } .selector {  	background-image: 	url($path/head_bg.png);  	background-color: $color1;  	$border;  }
vs Nested selectors: .selector {  	self {  		margin: 20px;  	}  	a {  		display: block;  	}  	strong {  		color: blue;  	} }  /* CSS */ .selector { margin: 20px; } .selector a { display: block; }  .selector strong { color: blue; }
vs Extending Objects: .basicClass {  	padding: 20px;  	background-color: #FF0000;  }  .specialClassextends .basicClass {  	padding: 10px;  	font-size: 14px;  }  /* CSS */ .specialClass, .basicClass {  padding: 20px;  background-color: #FF0000;  }  .specialClass {  padding: 10px;  font-size: 14px;  }
vs Math Operations: .selector {  	padding: [5px * 2];  	color: [#ccc * 2];  // lets assume $color is '#FFF555'  	background-color: [$color - #222 + 	#101010];  }  .selector {  	padding: [5px - 3em + 5px]cm; margin: [20 - 10] [30% - 10];  } /* CSS */ .selector {  	padding: 10px;  	color: #ffffff;  	background-color: #ede343;  }  .selector {  padding: 7cm;  margin: 10px 20%;  }
vs Usage: Download xCSS archive. Add this lines: <script type="text/javascript"src="path_to_xcss/"></script> <linkrel="stylesheet“ type="text/css“href=“/css/master.css”/> Edit the configuration file config.php as needed. $config['path_to_CSS_dir'] $config['xCSS_files'] $config['use_master_file'] $config['master_filename'] $config['reset_files'] $config['minify_output'] … Done!
vs			   & Variables: $blue: #3bbfce  $margin: 16px  .content-navigation  	border-color: $blue  	color: darken($blue, 9%)  .border  	padding: $margin / 2  	margin: $margin / 2  	border-color: $blue /* CSS */ .content-navigation {  	border-color: #3bbfce;  	color: #2b9eab;  }  .border {  	padding: 8px;  	margin: 8px;  	border-color: #3bbfce;  }
vs			   & Nesting rules: table.hl 	margin: 2em 0  td.ln 		text-align: right  li 	font:  		family: serif 	 		weight: bold  		size: 1.2em /* CSS */ table.hl {  	margin: 2em 0;  }  table.hltd.ln {  	text-align: right;  }  li {  	font-family: serif;  	font-weight: bold;  	font-size: 1.2em;  }
vs			   & Mixins: @mixintable-base  th 		text-align: center 	 		font-weight: bold  	td, th 		padding: 2px  @mixin  left($dist)  	float: left  	margin-left: $dist  #data  @include left(10px) @include table-base /* CSS */ #data {  	float: left;  	margin-left: 10px;  }  #data th {  	text-align: center;  	font-weight: bold;  }  #data td, #data th { 	padding: 2px;  }
vs			   & Selector Inheritance: .error  	border: 1px #f00 	background: #fdd .error.intrusion 	font-size: 1.3em  	font-weight: bold  .badError @extend .error 	border-width: 3px /* CSS */ .error, .badError {  	border: 1px #f00;  	background: #fdd;  }  .error.intrusion, .badError.intrusion {  	font-size: 1.3em;  	font-weight: bold;  }  .badError {  	border-width: 3px;  }
vs			   & Control Directives: p {  @if 1 + 1 == 2 { border: 1px solid; }  @if 5 < 3 { border: 2px dotted; }  } @for $ifrom 1 through 3 {  	.item-#{$i} { width: 2em * $i; }  } $i: 6;  @while $i > 0 {  	.item-#{$i} { width: 2em * $i; }  	$i: $i - 2;  } /* CSS */ p { border: 1px solid; } .item-1 { width: 2em; }  .item-2 { width: 4em; }  .item-3 { width: 6em; } .item-6 { width: 12em; }  .item-4 { width: 8em; }  .item-2 { width: 4em; }
vs			   & Usage: $ gem install haml  $ sassinput.sass output.css $sass --watch style.sass:style.css $sass --watch app/sass:public/stylesheets Options: --style (:nested, :expanded, :compact, :compressed) # Convert Sass to SCSS  $sass-convertstyle.sassstyle.scss # Convert SCSS to Sass  $sass-convertstyle.scssstyle.sass
Q&A?
Thanks.

Weitere ähnliche Inhalte

Was ist angesagt?

ID01 Week 3
ID01 Week 3ID01 Week 3
ID01 Week 3mkontopo
 
ID01 / W01
ID01 / W01ID01 / W01
ID01 / W01mkontopo
 
Compass, Sass, and the Enlightened CSS Developer
Compass, Sass, and the Enlightened CSS DeveloperCompass, Sass, and the Enlightened CSS Developer
Compass, Sass, and the Enlightened CSS DeveloperWynn Netherland
 
Getting Started with Sass & Compass
Getting Started with Sass & CompassGetting Started with Sass & Compass
Getting Started with Sass & CompassRob Davarnia
 
Xslate sv perl-2013-7-11
Xslate sv perl-2013-7-11Xslate sv perl-2013-7-11
Xslate sv perl-2013-7-11Goro Fuji
 
HTML Templates Using Clear Silver
HTML Templates Using Clear SilverHTML Templates Using Clear Silver
HTML Templates Using Clear SilverPaulWay
 
LESS is More
LESS is MoreLESS is More
LESS is Morejsmith92
 
Sass - Making CSS fun again.
Sass - Making CSS fun again.Sass - Making CSS fun again.
Sass - Making CSS fun again.Gabriel Neutzling
 
Accelerated Native Mobile Development with the Ti gem
Accelerated Native Mobile Development with the Ti gemAccelerated Native Mobile Development with the Ti gem
Accelerated Native Mobile Development with the Ti gemWynn Netherland
 
Drawing the Line with Browser Compatibility
Drawing the Line with Browser CompatibilityDrawing the Line with Browser Compatibility
Drawing the Line with Browser Compatibilityjsmith92
 
i18n for Plugin and Theme Developers, WordCamp Milano 2016
i18n for Plugin and Theme Developers, WordCamp Milano 2016i18n for Plugin and Theme Developers, WordCamp Milano 2016
i18n for Plugin and Theme Developers, WordCamp Milano 2016Sergey Biryukov
 
Web Development Course: PHP lecture 2
Web Development Course: PHP lecture 2Web Development Course: PHP lecture 2
Web Development Course: PHP lecture 2Gheyath M. Othman
 
Intro to #memtech PHP 2011-12-05
Intro to #memtech PHP   2011-12-05Intro to #memtech PHP   2011-12-05
Intro to #memtech PHP 2011-12-05Jeremy Kendall
 
LESS(CSS preprocessor)
LESS(CSS preprocessor)LESS(CSS preprocessor)
LESS(CSS preprocessor)VIPIN KUMAR
 
Big Design Conference: CSS3
Big Design Conference: CSS3 Big Design Conference: CSS3
Big Design Conference: CSS3 Wynn Netherland
 
Html5 appunti.0
Html5   appunti.0Html5   appunti.0
Html5 appunti.0orestJump
 

Was ist angesagt? (20)

ID01 Week 3
ID01 Week 3ID01 Week 3
ID01 Week 3
 
ID01 / W01
ID01 / W01ID01 / W01
ID01 / W01
 
Ubi comp27nov04
Ubi comp27nov04Ubi comp27nov04
Ubi comp27nov04
 
FCIP SASS Talk
FCIP SASS TalkFCIP SASS Talk
FCIP SASS Talk
 
Compass, Sass, and the Enlightened CSS Developer
Compass, Sass, and the Enlightened CSS DeveloperCompass, Sass, and the Enlightened CSS Developer
Compass, Sass, and the Enlightened CSS Developer
 
Getting Started with Sass & Compass
Getting Started with Sass & CompassGetting Started with Sass & Compass
Getting Started with Sass & Compass
 
Xslate sv perl-2013-7-11
Xslate sv perl-2013-7-11Xslate sv perl-2013-7-11
Xslate sv perl-2013-7-11
 
HTML Templates Using Clear Silver
HTML Templates Using Clear SilverHTML Templates Using Clear Silver
HTML Templates Using Clear Silver
 
Accelerated Stylesheets
Accelerated StylesheetsAccelerated Stylesheets
Accelerated Stylesheets
 
LESS is More
LESS is MoreLESS is More
LESS is More
 
Sass - Making CSS fun again.
Sass - Making CSS fun again.Sass - Making CSS fun again.
Sass - Making CSS fun again.
 
Accelerated Native Mobile Development with the Ti gem
Accelerated Native Mobile Development with the Ti gemAccelerated Native Mobile Development with the Ti gem
Accelerated Native Mobile Development with the Ti gem
 
Drawing the Line with Browser Compatibility
Drawing the Line with Browser CompatibilityDrawing the Line with Browser Compatibility
Drawing the Line with Browser Compatibility
 
i18n for Plugin and Theme Developers, WordCamp Milano 2016
i18n for Plugin and Theme Developers, WordCamp Milano 2016i18n for Plugin and Theme Developers, WordCamp Milano 2016
i18n for Plugin and Theme Developers, WordCamp Milano 2016
 
Web Development Course: PHP lecture 2
Web Development Course: PHP lecture 2Web Development Course: PHP lecture 2
Web Development Course: PHP lecture 2
 
Intro to #memtech PHP 2011-12-05
Intro to #memtech PHP   2011-12-05Intro to #memtech PHP   2011-12-05
Intro to #memtech PHP 2011-12-05
 
LESS(CSS preprocessor)
LESS(CSS preprocessor)LESS(CSS preprocessor)
LESS(CSS preprocessor)
 
Big Design Conference: CSS3
Big Design Conference: CSS3 Big Design Conference: CSS3
Big Design Conference: CSS3
 
Further Php
Further PhpFurther Php
Further Php
 
Html5 appunti.0
Html5   appunti.0Html5   appunti.0
Html5 appunti.0
 

Ähnlich wie Software programming tools for creating/managing CSS files

Wrangling the CSS Beast with Sass
Wrangling the CSS Beast  with SassWrangling the CSS Beast  with Sass
Wrangling the CSS Beast with SassRob Friesel
 
Mobile-first OOCSS, Sass & Compass at BBC Responsive News
Mobile-first OOCSS, Sass & Compass at BBC Responsive NewsMobile-first OOCSS, Sass & Compass at BBC Responsive News
Mobile-first OOCSS, Sass & Compass at BBC Responsive NewsKaelig Deloumeau-Prigent
 
CSS Less framework overview, Pros and Cons
CSS Less framework overview, Pros and ConsCSS Less framework overview, Pros and Cons
CSS Less framework overview, Pros and ConsSanjoy Kr. Paul
 
Sass and Compass - Getting Started
Sass and Compass - Getting StartedSass and Compass - Getting Started
Sass and Compass - Getting Startededgincvg
 
Curso CSS3 com Sass e Compass - Aula 01 - Introducão
Curso CSS3 com Sass e Compass - Aula 01 - IntroducãoCurso CSS3 com Sass e Compass - Aula 01 - Introducão
Curso CSS3 com Sass e Compass - Aula 01 - IntroducãoLoiane Groner
 
Sass & Compass (Barcamp Stuttgart 2012)
Sass & Compass (Barcamp Stuttgart 2012)Sass & Compass (Barcamp Stuttgart 2012)
Sass & Compass (Barcamp Stuttgart 2012)emrox
 
Exam 70 480 CSS3 at Jinal Desai .NET
Exam 70 480 CSS3 at Jinal Desai .NETExam 70 480 CSS3 at Jinal Desai .NET
Exam 70 480 CSS3 at Jinal Desai .NETjinaldesailive
 
Preprocessor presentation
Preprocessor presentationPreprocessor presentation
Preprocessor presentationMario Noble
 
Sassive Aggressive: Using Sass to Make Your Life Easier (Refresh Boston Version)
Sassive Aggressive: Using Sass to Make Your Life Easier (Refresh Boston Version)Sassive Aggressive: Using Sass to Make Your Life Easier (Refresh Boston Version)
Sassive Aggressive: Using Sass to Make Your Life Easier (Refresh Boston Version)Adam Darowski
 
How to use CSS3 in WordPress
How to use CSS3 in WordPressHow to use CSS3 in WordPress
How to use CSS3 in WordPressSuzette Franck
 
How to use CSS3 in WordPress - Sacramento
How to use CSS3 in WordPress - SacramentoHow to use CSS3 in WordPress - Sacramento
How to use CSS3 in WordPress - SacramentoSuzette Franck
 

Ähnlich wie Software programming tools for creating/managing CSS files (20)

Theming and Sass
Theming and SassTheming and Sass
Theming and Sass
 
CSS Extenders
CSS ExtendersCSS Extenders
CSS Extenders
 
Wrangling the CSS Beast with Sass
Wrangling the CSS Beast  with SassWrangling the CSS Beast  with Sass
Wrangling the CSS Beast with Sass
 
A better CSS: Sass and Less - CC FE & UX
A better CSS: Sass and Less - CC FE & UXA better CSS: Sass and Less - CC FE & UX
A better CSS: Sass and Less - CC FE & UX
 
Mobile-first OOCSS, Sass & Compass at BBC Responsive News
Mobile-first OOCSS, Sass & Compass at BBC Responsive NewsMobile-first OOCSS, Sass & Compass at BBC Responsive News
Mobile-first OOCSS, Sass & Compass at BBC Responsive News
 
Less css
Less cssLess css
Less css
 
CSS Basics
CSS BasicsCSS Basics
CSS Basics
 
Sass Essentials
Sass EssentialsSass Essentials
Sass Essentials
 
Workshop 6: Designer tools
Workshop 6: Designer toolsWorkshop 6: Designer tools
Workshop 6: Designer tools
 
CSS Less framework overview, Pros and Cons
CSS Less framework overview, Pros and ConsCSS Less framework overview, Pros and Cons
CSS Less framework overview, Pros and Cons
 
Sass and Compass - Getting Started
Sass and Compass - Getting StartedSass and Compass - Getting Started
Sass and Compass - Getting Started
 
Curso CSS3 com Sass e Compass - Aula 01 - Introducão
Curso CSS3 com Sass e Compass - Aula 01 - IntroducãoCurso CSS3 com Sass e Compass - Aula 01 - Introducão
Curso CSS3 com Sass e Compass - Aula 01 - Introducão
 
Sass & Compass (Barcamp Stuttgart 2012)
Sass & Compass (Barcamp Stuttgart 2012)Sass & Compass (Barcamp Stuttgart 2012)
Sass & Compass (Barcamp Stuttgart 2012)
 
Exam 70 480 CSS3 at Jinal Desai .NET
Exam 70 480 CSS3 at Jinal Desai .NETExam 70 480 CSS3 at Jinal Desai .NET
Exam 70 480 CSS3 at Jinal Desai .NET
 
Preprocessor presentation
Preprocessor presentationPreprocessor presentation
Preprocessor presentation
 
Do more with {less}
Do more with {less}Do more with {less}
Do more with {less}
 
Sassive Aggressive: Using Sass to Make Your Life Easier (Refresh Boston Version)
Sassive Aggressive: Using Sass to Make Your Life Easier (Refresh Boston Version)Sassive Aggressive: Using Sass to Make Your Life Easier (Refresh Boston Version)
Sassive Aggressive: Using Sass to Make Your Life Easier (Refresh Boston Version)
 
Sencha Touch
Sencha TouchSencha Touch
Sencha Touch
 
How to use CSS3 in WordPress
How to use CSS3 in WordPressHow to use CSS3 in WordPress
How to use CSS3 in WordPress
 
How to use CSS3 in WordPress - Sacramento
How to use CSS3 in WordPress - SacramentoHow to use CSS3 in WordPress - Sacramento
How to use CSS3 in WordPress - Sacramento
 

Kürzlich hochgeladen

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
"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 ...Zilliz
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
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.pptxRustici Software
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
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, ...apidays
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
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...Martijn de Jong
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
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 REVIEWERMadyBayot
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
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
 

Kürzlich hochgeladen (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
"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 ...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
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, ...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
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...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
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
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
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...
 

Software programming tools for creating/managing CSS files

  • 1. Software programming tools for creating/managing CSS files DinuSuman
  • 2. What kind of software tools can be? IDE Tools for generating templates CSS Frameworks with existing plugins, … Languages that extend css (will be covered in this presentation)
  • 3. Some Languages that extend css: Less (http://lesscss.org/) xCSS (http://xcss.antpaw.org) Sass/Scss (http://sass-lang.com/) Hss (http://ncannasse.fr/projects/hss) CleverCss (http://sandbox.pocoo.org/clevercss/)
  • 4. Why simple css isn’t enough? Why do we need extending languages?
  • 5. What do we get? Variables Mixins Nested Rules Functions & Operations
  • 6. Variables // LESS @color: #4D926F; #header { color:@color; } h2 { color:@color; } /* Compiled CSS */ #header { color: #4D926F; } h2 { color: #4D926F; }
  • 7. Mixins // LESS .rounded-corners (@radius: 5px) { border-radius:@radius; -webkit-border-radius:@radius; -moz-border-radius:@radius; } #header { .rounded-corners; } #footer { .rounded-corners(10px); } /* Compiled CSS */ #header { border-radius: 5px; -webkit-border-radius: 5px; -moz-border-radius: 5px; } #footer { border-radius: 10px; -webkit-border-radius: 10px; -moz-border-radius: 10px; }
  • 8. Nested Rules // LESS #header { h1 { font-size: 26px; font-weight: bold; } p { font-size:12px; a { text-decoration: none; &:hover { border-width: 1px ; } } } } /* Compiled CSS */ #headerh1 { font-size: 26px; font-weight: bold; } #header p { font-size: 12px; } #header p a { text-decoration: none; } #header p a:hover { border-width: 1px; }
  • 9. Functions & Operations // LESS @the-border: 1px; @base-color: #111; @red: #842210; #header { color: @base-color * 3; border-left: @the-border; border-right: @the-border * 2; } #footer { color: @base-color + #003300; border-color: desaturate(@red, 10%); } /* Compiled CSS */ #header { color: #333; border-left: 1px; border-right: 2px; } #footer { color: #114411; border-color: #7d2717; }
  • 10. Other Operations: @base: 5%; @filler: @base * 2; @other: @base + @filler; color: #888 / 4; background-color: @base-color + #111; Height: 100% / 2 + @filler; @var: 1px + 5; width: (@var+ 5) * 2; border: (@width * 2) solidblack;
  • 11. Functions: lighten(@color, 10%); // return a color which is 10% *lighter* than @color darken(@color, 10%); // return a color which is 10% *darker* than @color saturate(@color, 10%); // return a color 10% *more* saturated than @color desaturate(@color, 10%); // return a color 10% *less* saturated than @color fadein(@color, 10%); // return a color 10% *less* transparent than @color fadeout(@color, 10%); // return a color 10% *more* transparent than @color spin(@color, 10); // return a color with a 10 degree larger in hue than @color spin(@color, -10); // return a color with a 10 degree smaller hue than @color hue(@color); // returns the `hue` channel of @color saturation(@color); // returns the `saturation` channel of @color lightness(@color); // returns the 'lightness' channel of @color
  • 12. Other: //Scope @var: red; #page { @var: white; #header { color: @var; // white } } #footer { color: @var; // red } //importing @import "lib.less"; //or @import"lib"; //if css @import "lib.css";
  • 13. Usage Client: CSS + JS: <linkrel="stylesheet/less" type="text/css"href="styles.less"> <scriptsrc="less.js" type="text/javascript"></script> Server: $npm install less Command-line usage: $lesscstyles.less $lesscstyles.less > styles.css Options: -x (minified)
  • 14. vs /* CSS */ .selector { background-image: url(../img/tmpl1/png/head_bg.png); background-color: #FF00FF; border-top: 1px solid #FF00FF; } Variables: vars { $path = ../img/tmpl1/png; $color1 = #FF00FF; $border = border-top: 1px solid $color1; } .selector { background-image: url($path/head_bg.png); background-color: $color1; $border; }
  • 15. vs Nested selectors: .selector { self { margin: 20px; } a { display: block; } strong { color: blue; } } /* CSS */ .selector { margin: 20px; } .selector a { display: block; } .selector strong { color: blue; }
  • 16. vs Extending Objects: .basicClass { padding: 20px; background-color: #FF0000; } .specialClassextends .basicClass { padding: 10px; font-size: 14px; } /* CSS */ .specialClass, .basicClass { padding: 20px; background-color: #FF0000; } .specialClass { padding: 10px; font-size: 14px; }
  • 17. vs Math Operations: .selector { padding: [5px * 2]; color: [#ccc * 2]; // lets assume $color is '#FFF555' background-color: [$color - #222 + #101010]; } .selector { padding: [5px - 3em + 5px]cm; margin: [20 - 10] [30% - 10]; } /* CSS */ .selector { padding: 10px; color: #ffffff; background-color: #ede343; } .selector { padding: 7cm; margin: 10px 20%; }
  • 18. vs Usage: Download xCSS archive. Add this lines: <script type="text/javascript"src="path_to_xcss/"></script> <linkrel="stylesheet“ type="text/css“href=“/css/master.css”/> Edit the configuration file config.php as needed. $config['path_to_CSS_dir'] $config['xCSS_files'] $config['use_master_file'] $config['master_filename'] $config['reset_files'] $config['minify_output'] … Done!
  • 19. vs & Variables: $blue: #3bbfce $margin: 16px .content-navigation border-color: $blue color: darken($blue, 9%) .border padding: $margin / 2 margin: $margin / 2 border-color: $blue /* CSS */ .content-navigation { border-color: #3bbfce; color: #2b9eab; } .border { padding: 8px; margin: 8px; border-color: #3bbfce; }
  • 20. vs & Nesting rules: table.hl margin: 2em 0 td.ln text-align: right li font: family: serif weight: bold size: 1.2em /* CSS */ table.hl { margin: 2em 0; } table.hltd.ln { text-align: right; } li { font-family: serif; font-weight: bold; font-size: 1.2em; }
  • 21. vs & Mixins: @mixintable-base th text-align: center font-weight: bold td, th padding: 2px @mixin left($dist) float: left margin-left: $dist #data @include left(10px) @include table-base /* CSS */ #data { float: left; margin-left: 10px; } #data th { text-align: center; font-weight: bold; } #data td, #data th { padding: 2px; }
  • 22. vs & Selector Inheritance: .error border: 1px #f00 background: #fdd .error.intrusion font-size: 1.3em font-weight: bold .badError @extend .error border-width: 3px /* CSS */ .error, .badError { border: 1px #f00; background: #fdd; } .error.intrusion, .badError.intrusion { font-size: 1.3em; font-weight: bold; } .badError { border-width: 3px; }
  • 23. vs & Control Directives: p { @if 1 + 1 == 2 { border: 1px solid; } @if 5 < 3 { border: 2px dotted; } } @for $ifrom 1 through 3 { .item-#{$i} { width: 2em * $i; } } $i: 6; @while $i > 0 { .item-#{$i} { width: 2em * $i; } $i: $i - 2; } /* CSS */ p { border: 1px solid; } .item-1 { width: 2em; } .item-2 { width: 4em; } .item-3 { width: 6em; } .item-6 { width: 12em; } .item-4 { width: 8em; } .item-2 { width: 4em; }
  • 24. vs & Usage: $ gem install haml  $ sassinput.sass output.css $sass --watch style.sass:style.css $sass --watch app/sass:public/stylesheets Options: --style (:nested, :expanded, :compact, :compressed) # Convert Sass to SCSS $sass-convertstyle.sassstyle.scss # Convert SCSS to Sass $sass-convertstyle.scssstyle.sass
  • 25. Q&A?