SlideShare a Scribd company logo
CSS Frameworks
Introduction The frustrations with CSS development About CSS Frameworks Overview of available frameworks Advantages Case Study – Blueprint Case Study – 960gs Case Study – CSS Scaffold Disadvantages Summary
The Frustrations of CSS development Code Reuse Too many wheels getting re-invented Most CSS development time is spent debugging That damn IE6! No standards We’re not talking W3C here Coding takes too long Each design is very bespoke to each project Very difficult to achieve pixel perfection How can we think smarter?
CSS Framework? “ a set of tools, libraries, conventions, and best practices that attempt to abstract routine tasks into generic modules that can be reused. The goal here is to allow the designer or developer to focus on tasks that are unique to a given project, rather than reinventing the wheel each time around”  JEFF CROFT , A LIST APART
What’s out there?
Advantages of CSS Frameworks Increase productivity Reduce errors Consistency of code Better team workflow Helps to create well structured, browser-compatible code. Clean, pixel-perfect designs
Consists of several CSS files: reset.css : This file resets CSS values that browsers tend to set for you. grid.css : This file sets up the grid (it’s true). It has a lot of classes you apply to divs to set up any sort of column-based grid. typography.css : This file sets some default typography. It also has a few methods for some really fancy stuff to do with your text. forms.css : Includes some minimal styling of forms. print.css : This file sets some default print rules, so that printed versions of your site looks better than they usually would. It should be included on every page. ie.css : Includes every hack for our beloved IE6 and 7. These files are then compressed and merged into three main files to include in your site: screen.css : This is for viewing on screen print.css : This is for correct print display ie.css : This contains specific IE workarounds
The default grid pattern of Blueprint consists of 24 columns, each of 30px wide and 10px margin. Total width of container element is 950px. ((24 * 40)-10) Simple HTML syntax <div class=&quot;container&quot;>  <div class=&quot;span-24 last&quot;> Header </div>  <div class=&quot;span-4&quot;> Left sidebar </div>  <div class=&quot;span-14&quot;> Main content </div>  <div class=&quot;span-4 last&quot;> Right sidebar </div>  </div> Modify columns and widths with CSS generators such as  http://bluecalc.groupion.com/index.php   (or manually create using ruby script) The grid
 
24 column layout main area 17 cols Sidebar 6 cols Main area split into 2 Blocks of 8 cols each
Based on 960 width using either 16 or 12 column variants Alternative of 24 column grid also available. More obscure class names such as omega and alpha Not as mature
Scaffold is a  dynamic  CSS framework using CSS-like syntax to extend CSS root functionality Uses a .htaccess file to redirect queries for CSS files through a PHP processor Features include: Constants Mixins Compressed, Cached and Gzipped on-the-fly Nested Selectors Perform PHP operations Image replace text by just linking to the image file Plus easily add your own functionality using the plugin system
Constants @constants  {  normal_color:#eee;  } body  {  color:!normal_color;  }
Expressions #id  {  padding:#[10 * !constant]px;  }
Iterations @for !i from 1 to 12  {  .columns-!i {  width: !ipx;  }  }
Mixins =box(!color)  {  padding:10px;  border:1px solid !color;  color:!color;  } =error  {  +box(red);  background:red;  }  =alert  {  +error;  background:yellow;  }
Disadvantages of Frameworks Not Semantic <div class=“span-3”>, <div class=“span-19”> Ids can be attached Bloated code Learning curve Creates design restrictions Written by other people “I don’t like magic. I like knowing how something works.  I don’t like taking things for granted because if magic breaks, unless it’s your own trick, you don’t know how to fix it.”  Sean Inman Build your own? Lack of support and documentation if developer leaves/on holiday Learning curve for other people
Summary CSS Frameworks help by Speeding up the development process Helping improve designs and final output Reduce bugs Encourage reuse of code and separation of styles If nothing else can be used as a rapid prototyping tool CSS Frameworks provide Grid based layouts Reset, Base, Print, and Typography styles Browser-specific bug fixes (IE6) Dynamic Content (CSScaffold) CSS Frameworks are not perfect Unsemantic Not your own code Could try building your own – has further complications
Resources Blueprint -  www.blueprintcss.org Blueprint showcase –  www.blueprintsites.com   960gs and showcase –  www.960.gs Scaffold –  www.anthonyshort.com.au/scaffold   Grid design showcase -  www.designbygrid.com Grid designer –  http://grid.mindplay.dk
Questions?

More Related Content

What's hot (20)

ASP.NET MVC 5 - EF 6 - VS2015
ASP.NET MVC 5 - EF 6 - VS2015ASP.NET MVC 5 - EF 6 - VS2015
ASP.NET MVC 5 - EF 6 - VS2015
Hossein Zahed
 
BEM it! Introduction to BEM methodology
BEM it! Introduction to BEM methodologyBEM it! Introduction to BEM methodology
BEM it! Introduction to BEM methodology
Varya Stepanova
 
CSS For Backend Developers
CSS For Backend DevelopersCSS For Backend Developers
CSS For Backend Developers
10Clouds
 
SASS - CSS with Superpower
SASS - CSS with SuperpowerSASS - CSS with Superpower
SASS - CSS with Superpower
Kanchha kaji Prajapati
 
Introduction to CSS3
Introduction to CSS3Introduction to CSS3
Introduction to CSS3
Doris Chen
 
Bootstrap 3
Bootstrap 3Bootstrap 3
Bootstrap 3
Lanh Le
 
Object Oriented CSS
Object Oriented CSSObject Oriented CSS
Object Oriented CSS
Nicole Sullivan
 
Selenium
SeleniumSelenium
Selenium
Kalyan ch
 
Css Complete Notes
Css Complete NotesCss Complete Notes
Css Complete Notes
EPAM Systems
 
Intro to HTML and CSS basics
Intro to HTML and CSS basicsIntro to HTML and CSS basics
Intro to HTML and CSS basics
Eliran Eliassy
 
Lab#5 style and selector
Lab#5 style and selectorLab#5 style and selector
Lab#5 style and selector
Yaowaluck Promdee
 
Flexbox and Grid Layout
Flexbox and Grid LayoutFlexbox and Grid Layout
Flexbox and Grid Layout
Rachel Andrew
 
Le Wagon - UI components design
Le Wagon - UI components designLe Wagon - UI components design
Le Wagon - UI components design
Boris Paillard
 
Learning Html
Learning HtmlLearning Html
Learning Html
Damian Gonz
 
Introduction to css
Introduction to cssIntroduction to css
Introduction to css
Evolution Network
 
An Introduction to CSS Preprocessors (SASS & LESS)
An Introduction to CSS Preprocessors (SASS & LESS)An Introduction to CSS Preprocessors (SASS & LESS)
An Introduction to CSS Preprocessors (SASS & LESS)
Folio3 Software
 
React
React React
React
중운 박
 
Introduction to sass
Introduction to sassIntroduction to sass
Introduction to sass
Anoop Raveendran
 
React js
React jsReact js
React js
Oswald Campesato
 
HTML CSS JS in Nut shell
HTML  CSS JS in Nut shellHTML  CSS JS in Nut shell
HTML CSS JS in Nut shell
Ashwin Shiv
 
ASP.NET MVC 5 - EF 6 - VS2015
ASP.NET MVC 5 - EF 6 - VS2015ASP.NET MVC 5 - EF 6 - VS2015
ASP.NET MVC 5 - EF 6 - VS2015
Hossein Zahed
 
BEM it! Introduction to BEM methodology
BEM it! Introduction to BEM methodologyBEM it! Introduction to BEM methodology
BEM it! Introduction to BEM methodology
Varya Stepanova
 
CSS For Backend Developers
CSS For Backend DevelopersCSS For Backend Developers
CSS For Backend Developers
10Clouds
 
Introduction to CSS3
Introduction to CSS3Introduction to CSS3
Introduction to CSS3
Doris Chen
 
Bootstrap 3
Bootstrap 3Bootstrap 3
Bootstrap 3
Lanh Le
 
Css Complete Notes
Css Complete NotesCss Complete Notes
Css Complete Notes
EPAM Systems
 
Intro to HTML and CSS basics
Intro to HTML and CSS basicsIntro to HTML and CSS basics
Intro to HTML and CSS basics
Eliran Eliassy
 
Flexbox and Grid Layout
Flexbox and Grid LayoutFlexbox and Grid Layout
Flexbox and Grid Layout
Rachel Andrew
 
Le Wagon - UI components design
Le Wagon - UI components designLe Wagon - UI components design
Le Wagon - UI components design
Boris Paillard
 
An Introduction to CSS Preprocessors (SASS & LESS)
An Introduction to CSS Preprocessors (SASS & LESS)An Introduction to CSS Preprocessors (SASS & LESS)
An Introduction to CSS Preprocessors (SASS & LESS)
Folio3 Software
 
HTML CSS JS in Nut shell
HTML  CSS JS in Nut shellHTML  CSS JS in Nut shell
HTML CSS JS in Nut shell
Ashwin Shiv
 

Viewers also liked (6)

CSS Frameworks
CSS FrameworksCSS Frameworks
CSS Frameworks
Mario Hernandez
 
CSS Frameworks
CSS FrameworksCSS Frameworks
CSS Frameworks
Web Directions
 
Battle of the Front-End Frameworks: Bootstrap vs. Foundation
Battle of the Front-End Frameworks: Bootstrap vs. FoundationBattle of the Front-End Frameworks: Bootstrap vs. Foundation
Battle of the Front-End Frameworks: Bootstrap vs. Foundation
Rachel Cherry
 
徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2011
徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2011徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2011
徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2011
Hiroshi Tokumaru
 
Foundation: Prototype to Production
Foundation: Prototype to ProductionFoundation: Prototype to Production
Foundation: Prototype to Production
ZURB
 
Refresh OKC
Refresh OKCRefresh OKC
Refresh OKC
Nathan Smith
 
Battle of the Front-End Frameworks: Bootstrap vs. Foundation
Battle of the Front-End Frameworks: Bootstrap vs. FoundationBattle of the Front-End Frameworks: Bootstrap vs. Foundation
Battle of the Front-End Frameworks: Bootstrap vs. Foundation
Rachel Cherry
 
徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2011
徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2011徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2011
徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2011
Hiroshi Tokumaru
 
Foundation: Prototype to Production
Foundation: Prototype to ProductionFoundation: Prototype to Production
Foundation: Prototype to Production
ZURB
 

Similar to An Introduction to CSS Frameworks (20)

CSS Frameworks: Faster Layout, Consistent Results
CSS Frameworks: Faster Layout, Consistent ResultsCSS Frameworks: Faster Layout, Consistent Results
CSS Frameworks: Faster Layout, Consistent Results
Steve Hong
 
Using a CSS Framework
Using a CSS FrameworkUsing a CSS Framework
Using a CSS Framework
Gareth Saunders
 
HTML CSS & Javascript
HTML CSS & JavascriptHTML CSS & Javascript
HTML CSS & Javascript
David Lindkvist
 
Roadmap 01
Roadmap 01Roadmap 01
Roadmap 01
quangnv17071980
 
Blueprint css framework
Blueprint css frameworkBlueprint css framework
Blueprint css framework
Techsailor
 
Structuring your CSS for maintainability: rules and guile lines to write CSS
Structuring your CSS for maintainability: rules and guile lines to write CSSStructuring your CSS for maintainability: rules and guile lines to write CSS
Structuring your CSS for maintainability: rules and guile lines to write CSS
Sanjoy Kr. Paul
 
Organize Your Website With Advanced CSS Tricks
Organize Your Website With Advanced CSS TricksOrganize Your Website With Advanced CSS Tricks
Organize Your Website With Advanced CSS Tricks
Andolasoft Inc
 
6 css week12 2020 2021 for g10
6 css week12 2020 2021 for g106 css week12 2020 2021 for g10
6 css week12 2020 2021 for g10
Osama Ghandour Geris
 
Web design-workflow
Web design-workflowWeb design-workflow
Web design-workflow
Peter Kaizer
 
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4Girl Develop It Cincinnati: Intro to HTML/CSS Class 4
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4
Erin M. Kidwell
 
SCSS Implementation
SCSS ImplementationSCSS Implementation
SCSS Implementation
Amey Parab
 
HowTo_CSS
HowTo_CSSHowTo_CSS
HowTo_CSS
tutorialsruby
 
HowTo_CSS
HowTo_CSSHowTo_CSS
HowTo_CSS
tutorialsruby
 
Client side performance compromises worth making
Client side performance compromises worth makingClient side performance compromises worth making
Client side performance compromises worth making
Cathy Lill
 
Team styles
Team stylesTeam styles
Team styles
nathanscott
 
Css
CssCss
Css
Sumit Gupta
 
Intermediate Web Design.doc
Intermediate Web Design.docIntermediate Web Design.doc
Intermediate Web Design.doc
butest
 
Intermediate Web Design.doc
Intermediate Web Design.docIntermediate Web Design.doc
Intermediate Web Design.doc
butest
 
Introduction to Bootstrap: Design for Developers
Introduction to Bootstrap: Design for DevelopersIntroduction to Bootstrap: Design for Developers
Introduction to Bootstrap: Design for Developers
Melvin John
 
Revamp Your Stylesheet
Revamp Your StylesheetRevamp Your Stylesheet
Revamp Your Stylesheet
Gary Homidas
 
CSS Frameworks: Faster Layout, Consistent Results
CSS Frameworks: Faster Layout, Consistent ResultsCSS Frameworks: Faster Layout, Consistent Results
CSS Frameworks: Faster Layout, Consistent Results
Steve Hong
 
Blueprint css framework
Blueprint css frameworkBlueprint css framework
Blueprint css framework
Techsailor
 
Structuring your CSS for maintainability: rules and guile lines to write CSS
Structuring your CSS for maintainability: rules and guile lines to write CSSStructuring your CSS for maintainability: rules and guile lines to write CSS
Structuring your CSS for maintainability: rules and guile lines to write CSS
Sanjoy Kr. Paul
 
Organize Your Website With Advanced CSS Tricks
Organize Your Website With Advanced CSS TricksOrganize Your Website With Advanced CSS Tricks
Organize Your Website With Advanced CSS Tricks
Andolasoft Inc
 
Web design-workflow
Web design-workflowWeb design-workflow
Web design-workflow
Peter Kaizer
 
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4Girl Develop It Cincinnati: Intro to HTML/CSS Class 4
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4
Erin M. Kidwell
 
SCSS Implementation
SCSS ImplementationSCSS Implementation
SCSS Implementation
Amey Parab
 
Client side performance compromises worth making
Client side performance compromises worth makingClient side performance compromises worth making
Client side performance compromises worth making
Cathy Lill
 
Intermediate Web Design.doc
Intermediate Web Design.docIntermediate Web Design.doc
Intermediate Web Design.doc
butest
 
Intermediate Web Design.doc
Intermediate Web Design.docIntermediate Web Design.doc
Intermediate Web Design.doc
butest
 
Introduction to Bootstrap: Design for Developers
Introduction to Bootstrap: Design for DevelopersIntroduction to Bootstrap: Design for Developers
Introduction to Bootstrap: Design for Developers
Melvin John
 
Revamp Your Stylesheet
Revamp Your StylesheetRevamp Your Stylesheet
Revamp Your Stylesheet
Gary Homidas
 

Recently uploaded (20)

Cyber security cyber security cyber security cyber security cyber security cy...
Cyber security cyber security cyber security cyber security cyber security cy...Cyber security cyber security cyber security cyber security cyber security cy...
Cyber security cyber security cyber security cyber security cyber security cy...
pranavbodhak
 
UiPath Community Berlin: Studio Tips & Tricks and UiPath Insights
UiPath Community Berlin: Studio Tips & Tricks and UiPath InsightsUiPath Community Berlin: Studio Tips & Tricks and UiPath Insights
UiPath Community Berlin: Studio Tips & Tricks and UiPath Insights
UiPathCommunity
 
UiPath Community Zurich: Release Management and Build Pipelines
UiPath Community Zurich: Release Management and Build PipelinesUiPath Community Zurich: Release Management and Build Pipelines
UiPath Community Zurich: Release Management and Build Pipelines
UiPathCommunity
 
SAP Sapphire 2025 ERP1612 Enhancing User Experience with SAP Fiori and AI
SAP Sapphire 2025 ERP1612 Enhancing User Experience with SAP Fiori and AISAP Sapphire 2025 ERP1612 Enhancing User Experience with SAP Fiori and AI
SAP Sapphire 2025 ERP1612 Enhancing User Experience with SAP Fiori and AI
Peter Spielvogel
 
Marko.js - Unsung Hero of Scalable Web Frameworks (DevDays 2025)
Marko.js - Unsung Hero of Scalable Web Frameworks (DevDays 2025)Marko.js - Unsung Hero of Scalable Web Frameworks (DevDays 2025)
Marko.js - Unsung Hero of Scalable Web Frameworks (DevDays 2025)
Eugene Fidelin
 
Evaluation Challenges in Using Generative AI for Science & Technical Content
Evaluation Challenges in Using Generative AI for Science & Technical ContentEvaluation Challenges in Using Generative AI for Science & Technical Content
Evaluation Challenges in Using Generative AI for Science & Technical Content
Paul Groth
 
GDG Cloud Southlake #43: Tommy Todd: The Quantum Apocalypse: A Looming Threat...
GDG Cloud Southlake #43: Tommy Todd: The Quantum Apocalypse: A Looming Threat...GDG Cloud Southlake #43: Tommy Todd: The Quantum Apocalypse: A Looming Threat...
GDG Cloud Southlake #43: Tommy Todd: The Quantum Apocalypse: A Looming Threat...
James Anderson
 
Gihbli AI and Geo sitution |use/misuse of Ai Technology
Gihbli AI and Geo sitution |use/misuse of Ai TechnologyGihbli AI and Geo sitution |use/misuse of Ai Technology
Gihbli AI and Geo sitution |use/misuse of Ai Technology
zainkhurram1111
 
Splunk Leadership Forum Wien - 20.05.2025
Splunk Leadership Forum Wien - 20.05.2025Splunk Leadership Forum Wien - 20.05.2025
Splunk Leadership Forum Wien - 20.05.2025
Splunk
 
Multistream in SIP and NoSIP @ OpenSIPS Summit 2025
Multistream in SIP and NoSIP @ OpenSIPS Summit 2025Multistream in SIP and NoSIP @ OpenSIPS Summit 2025
Multistream in SIP and NoSIP @ OpenSIPS Summit 2025
Lorenzo Miniero
 
Cognitive Chasms - A Typology of GenAI Failure Failure Modes
Cognitive Chasms - A Typology of GenAI Failure Failure ModesCognitive Chasms - A Typology of GenAI Failure Failure Modes
Cognitive Chasms - A Typology of GenAI Failure Failure Modes
Dr. Tathagat Varma
 
Talk: On an adventure into the depths of Maven - Kaya Weers
Talk: On an adventure into the depths of Maven - Kaya WeersTalk: On an adventure into the depths of Maven - Kaya Weers
Talk: On an adventure into the depths of Maven - Kaya Weers
Kaya Weers
 
Droidal: AI Agents Revolutionizing Healthcare
Droidal: AI Agents Revolutionizing HealthcareDroidal: AI Agents Revolutionizing Healthcare
Droidal: AI Agents Revolutionizing Healthcare
Droidal LLC
 
Security Operations and the Defense Analyst - Splunk Certificate
Security Operations and the Defense Analyst - Splunk CertificateSecurity Operations and the Defense Analyst - Splunk Certificate
Security Operations and the Defense Analyst - Splunk Certificate
VICTOR MAESTRE RAMIREZ
 
New Ways to Reduce Database Costs with ScyllaDB
New Ways to Reduce Database Costs with ScyllaDBNew Ways to Reduce Database Costs with ScyllaDB
New Ways to Reduce Database Costs with ScyllaDB
ScyllaDB
 
Protecting Your Sensitive Data with Microsoft Purview - IRMS 2025
Protecting Your Sensitive Data with Microsoft Purview - IRMS 2025Protecting Your Sensitive Data with Microsoft Purview - IRMS 2025
Protecting Your Sensitive Data with Microsoft Purview - IRMS 2025
Nikki Chapple
 
Introducing Ensemble Cloudlet vRouter
Introducing Ensemble  Cloudlet vRouterIntroducing Ensemble  Cloudlet vRouter
Introducing Ensemble Cloudlet vRouter
Adtran
 
Fully Open-Source Private Clouds: Freedom, Security, and Control
Fully Open-Source Private Clouds: Freedom, Security, and ControlFully Open-Source Private Clouds: Freedom, Security, and Control
Fully Open-Source Private Clouds: Freedom, Security, and Control
ShapeBlue
 
European Accessibility Act & Integrated Accessibility Testing
European Accessibility Act & Integrated Accessibility TestingEuropean Accessibility Act & Integrated Accessibility Testing
European Accessibility Act & Integrated Accessibility Testing
Julia Undeutsch
 
Contributing to WordPress With & Without Code.pptx
Contributing to WordPress With & Without Code.pptxContributing to WordPress With & Without Code.pptx
Contributing to WordPress With & Without Code.pptx
Patrick Lumumba
 
Cyber security cyber security cyber security cyber security cyber security cy...
Cyber security cyber security cyber security cyber security cyber security cy...Cyber security cyber security cyber security cyber security cyber security cy...
Cyber security cyber security cyber security cyber security cyber security cy...
pranavbodhak
 
UiPath Community Berlin: Studio Tips & Tricks and UiPath Insights
UiPath Community Berlin: Studio Tips & Tricks and UiPath InsightsUiPath Community Berlin: Studio Tips & Tricks and UiPath Insights
UiPath Community Berlin: Studio Tips & Tricks and UiPath Insights
UiPathCommunity
 
UiPath Community Zurich: Release Management and Build Pipelines
UiPath Community Zurich: Release Management and Build PipelinesUiPath Community Zurich: Release Management and Build Pipelines
UiPath Community Zurich: Release Management and Build Pipelines
UiPathCommunity
 
SAP Sapphire 2025 ERP1612 Enhancing User Experience with SAP Fiori and AI
SAP Sapphire 2025 ERP1612 Enhancing User Experience with SAP Fiori and AISAP Sapphire 2025 ERP1612 Enhancing User Experience with SAP Fiori and AI
SAP Sapphire 2025 ERP1612 Enhancing User Experience with SAP Fiori and AI
Peter Spielvogel
 
Marko.js - Unsung Hero of Scalable Web Frameworks (DevDays 2025)
Marko.js - Unsung Hero of Scalable Web Frameworks (DevDays 2025)Marko.js - Unsung Hero of Scalable Web Frameworks (DevDays 2025)
Marko.js - Unsung Hero of Scalable Web Frameworks (DevDays 2025)
Eugene Fidelin
 
Evaluation Challenges in Using Generative AI for Science & Technical Content
Evaluation Challenges in Using Generative AI for Science & Technical ContentEvaluation Challenges in Using Generative AI for Science & Technical Content
Evaluation Challenges in Using Generative AI for Science & Technical Content
Paul Groth
 
GDG Cloud Southlake #43: Tommy Todd: The Quantum Apocalypse: A Looming Threat...
GDG Cloud Southlake #43: Tommy Todd: The Quantum Apocalypse: A Looming Threat...GDG Cloud Southlake #43: Tommy Todd: The Quantum Apocalypse: A Looming Threat...
GDG Cloud Southlake #43: Tommy Todd: The Quantum Apocalypse: A Looming Threat...
James Anderson
 
Gihbli AI and Geo sitution |use/misuse of Ai Technology
Gihbli AI and Geo sitution |use/misuse of Ai TechnologyGihbli AI and Geo sitution |use/misuse of Ai Technology
Gihbli AI and Geo sitution |use/misuse of Ai Technology
zainkhurram1111
 
Splunk Leadership Forum Wien - 20.05.2025
Splunk Leadership Forum Wien - 20.05.2025Splunk Leadership Forum Wien - 20.05.2025
Splunk Leadership Forum Wien - 20.05.2025
Splunk
 
Multistream in SIP and NoSIP @ OpenSIPS Summit 2025
Multistream in SIP and NoSIP @ OpenSIPS Summit 2025Multistream in SIP and NoSIP @ OpenSIPS Summit 2025
Multistream in SIP and NoSIP @ OpenSIPS Summit 2025
Lorenzo Miniero
 
Cognitive Chasms - A Typology of GenAI Failure Failure Modes
Cognitive Chasms - A Typology of GenAI Failure Failure ModesCognitive Chasms - A Typology of GenAI Failure Failure Modes
Cognitive Chasms - A Typology of GenAI Failure Failure Modes
Dr. Tathagat Varma
 
Talk: On an adventure into the depths of Maven - Kaya Weers
Talk: On an adventure into the depths of Maven - Kaya WeersTalk: On an adventure into the depths of Maven - Kaya Weers
Talk: On an adventure into the depths of Maven - Kaya Weers
Kaya Weers
 
Droidal: AI Agents Revolutionizing Healthcare
Droidal: AI Agents Revolutionizing HealthcareDroidal: AI Agents Revolutionizing Healthcare
Droidal: AI Agents Revolutionizing Healthcare
Droidal LLC
 
Security Operations and the Defense Analyst - Splunk Certificate
Security Operations and the Defense Analyst - Splunk CertificateSecurity Operations and the Defense Analyst - Splunk Certificate
Security Operations and the Defense Analyst - Splunk Certificate
VICTOR MAESTRE RAMIREZ
 
New Ways to Reduce Database Costs with ScyllaDB
New Ways to Reduce Database Costs with ScyllaDBNew Ways to Reduce Database Costs with ScyllaDB
New Ways to Reduce Database Costs with ScyllaDB
ScyllaDB
 
Protecting Your Sensitive Data with Microsoft Purview - IRMS 2025
Protecting Your Sensitive Data with Microsoft Purview - IRMS 2025Protecting Your Sensitive Data with Microsoft Purview - IRMS 2025
Protecting Your Sensitive Data with Microsoft Purview - IRMS 2025
Nikki Chapple
 
Introducing Ensemble Cloudlet vRouter
Introducing Ensemble  Cloudlet vRouterIntroducing Ensemble  Cloudlet vRouter
Introducing Ensemble Cloudlet vRouter
Adtran
 
Fully Open-Source Private Clouds: Freedom, Security, and Control
Fully Open-Source Private Clouds: Freedom, Security, and ControlFully Open-Source Private Clouds: Freedom, Security, and Control
Fully Open-Source Private Clouds: Freedom, Security, and Control
ShapeBlue
 
European Accessibility Act & Integrated Accessibility Testing
European Accessibility Act & Integrated Accessibility TestingEuropean Accessibility Act & Integrated Accessibility Testing
European Accessibility Act & Integrated Accessibility Testing
Julia Undeutsch
 
Contributing to WordPress With & Without Code.pptx
Contributing to WordPress With & Without Code.pptxContributing to WordPress With & Without Code.pptx
Contributing to WordPress With & Without Code.pptx
Patrick Lumumba
 

An Introduction to CSS Frameworks

  • 2. Introduction The frustrations with CSS development About CSS Frameworks Overview of available frameworks Advantages Case Study – Blueprint Case Study – 960gs Case Study – CSS Scaffold Disadvantages Summary
  • 3. The Frustrations of CSS development Code Reuse Too many wheels getting re-invented Most CSS development time is spent debugging That damn IE6! No standards We’re not talking W3C here Coding takes too long Each design is very bespoke to each project Very difficult to achieve pixel perfection How can we think smarter?
  • 4. CSS Framework? “ a set of tools, libraries, conventions, and best practices that attempt to abstract routine tasks into generic modules that can be reused. The goal here is to allow the designer or developer to focus on tasks that are unique to a given project, rather than reinventing the wheel each time around” JEFF CROFT , A LIST APART
  • 6. Advantages of CSS Frameworks Increase productivity Reduce errors Consistency of code Better team workflow Helps to create well structured, browser-compatible code. Clean, pixel-perfect designs
  • 7. Consists of several CSS files: reset.css : This file resets CSS values that browsers tend to set for you. grid.css : This file sets up the grid (it’s true). It has a lot of classes you apply to divs to set up any sort of column-based grid. typography.css : This file sets some default typography. It also has a few methods for some really fancy stuff to do with your text. forms.css : Includes some minimal styling of forms. print.css : This file sets some default print rules, so that printed versions of your site looks better than they usually would. It should be included on every page. ie.css : Includes every hack for our beloved IE6 and 7. These files are then compressed and merged into three main files to include in your site: screen.css : This is for viewing on screen print.css : This is for correct print display ie.css : This contains specific IE workarounds
  • 8. The default grid pattern of Blueprint consists of 24 columns, each of 30px wide and 10px margin. Total width of container element is 950px. ((24 * 40)-10) Simple HTML syntax <div class=&quot;container&quot;> <div class=&quot;span-24 last&quot;> Header </div> <div class=&quot;span-4&quot;> Left sidebar </div> <div class=&quot;span-14&quot;> Main content </div> <div class=&quot;span-4 last&quot;> Right sidebar </div> </div> Modify columns and widths with CSS generators such as http://bluecalc.groupion.com/index.php (or manually create using ruby script) The grid
  • 9.  
  • 10. 24 column layout main area 17 cols Sidebar 6 cols Main area split into 2 Blocks of 8 cols each
  • 11. Based on 960 width using either 16 or 12 column variants Alternative of 24 column grid also available. More obscure class names such as omega and alpha Not as mature
  • 12. Scaffold is a dynamic CSS framework using CSS-like syntax to extend CSS root functionality Uses a .htaccess file to redirect queries for CSS files through a PHP processor Features include: Constants Mixins Compressed, Cached and Gzipped on-the-fly Nested Selectors Perform PHP operations Image replace text by just linking to the image file Plus easily add your own functionality using the plugin system
  • 13. Constants @constants { normal_color:#eee; } body { color:!normal_color; }
  • 14. Expressions #id { padding:#[10 * !constant]px; }
  • 15. Iterations @for !i from 1 to 12 { .columns-!i { width: !ipx; } }
  • 16. Mixins =box(!color) { padding:10px; border:1px solid !color; color:!color; } =error { +box(red); background:red; } =alert { +error; background:yellow; }
  • 17. Disadvantages of Frameworks Not Semantic <div class=“span-3”>, <div class=“span-19”> Ids can be attached Bloated code Learning curve Creates design restrictions Written by other people “I don’t like magic. I like knowing how something works. I don’t like taking things for granted because if magic breaks, unless it’s your own trick, you don’t know how to fix it.” Sean Inman Build your own? Lack of support and documentation if developer leaves/on holiday Learning curve for other people
  • 18. Summary CSS Frameworks help by Speeding up the development process Helping improve designs and final output Reduce bugs Encourage reuse of code and separation of styles If nothing else can be used as a rapid prototyping tool CSS Frameworks provide Grid based layouts Reset, Base, Print, and Typography styles Browser-specific bug fixes (IE6) Dynamic Content (CSScaffold) CSS Frameworks are not perfect Unsemantic Not your own code Could try building your own – has further complications
  • 19. Resources Blueprint - www.blueprintcss.org Blueprint showcase – www.blueprintsites.com 960gs and showcase – www.960.gs Scaffold – www.anthonyshort.com.au/scaffold Grid design showcase - www.designbygrid.com Grid designer – http://grid.mindplay.dk