SlideShare a Scribd company logo
1 of 31
Download to read offline
XWiki Skin
10.x+ Ideas
Technology and dependencies
evolution
#xwiki@evalica
● Color Themes Status
○ Variables evolution
● Icon Themes Status
○ Format evolution
● IE11 Support
Agenda
● Skins Status
○ BS3 vs. BS4
○ Less vs. Sass
○ Grid vs. Flex
○ Layouts variations
Skins Status
Skin Launched Used as
default
Replaced as
default in
Dodo < 2006
Finch < 2006
Albatross < 2006 1.0 - 1.2 1.3
Toucan Feb 2008 1.3 - 1.9 2
Colibri Sep 2009 2.0 - 3.4 - 6.1 6.2
Flamingo Sep 2014 6.2 -
Color Themes Status
Color Theme Launched Used as
default
Replaced as
default in
Skin Other Themes
Default Color Theme Aug 2009 2.0M4 - 3.3 3.3 Colibri BlueSky, Bordo,
InnerDark, Nature,
Nightfall, Peach
Azure Jan 2012 3.4 - 6.2M2 6.2M2 Colibri Dusk, Mint, Ruby
Charcoal Aug 2014 6.2M2 - 10.2 10.2 Flamingo Bootswatch, Marina,
Garden, Kitty
Iceberg Mar 2018 10.2 - Flamingo (contrib) Dawn, Pantera,
Mandarin, Snowdrop
Icon Themes Status
Icon Theme Launched as
theme
Used since Used as default Replaced as default
in
Replaced by
Silk Aug 2014 Jan 2009 6.2M1 6.2M2 Font Awesome
Font Awesome Aug 2014 Jul 2014 6.2M2 -
Format Evolution
Silk
Glyphicons
Halflings
Font Awesome
4.x
Material
Design
Font Awesome
5.x
Launched 2005 2010 2012 2014 2017
Version 1.3 1.9 4.7.0 3.0.1 5.0.1
Number of Icons 1000 265 786 884 899 (464 for Solid)
Contributed Platform Contrib Platform Contrib Contrib
Format PNG PNG, Font Font PNG, Font, SVG Font, SVG
Icon Themes Contrib
Technology
Evolution
BS3 vs. BS4 Released
Pre-
Processor
Layout
Technique
Bootstrap 3 Aug 2013 Less Float
Bootstrap 4 Jan 2018 Sass Flexbox
LESS vs. Sass
Variables Evolution
CSS Saas LESS CSS Variables
Launched 1996 2006 2009 2012
Author W3C Hampton Catlin Alexis Sellier W3C
Type Native CSS Preprocessor CSS Preprocessor Native
Filename .css .css, .scss, .sass .css, .less .css
Syntax $* @* --*
Runtime static static dynamic
Layout Evolution
Layout Specifications
Float Display Position Flex Grid Multi-columns Regions Exclusions Shapes
Launched 1996- 1996-2011- 2008-2011- 2009-2017- 2012-2017- 1999-2017 2014 2013-2015 2014
Level CSS1
CSS1,
CSS2.1
CSS2.1 CSS3 CSS3 CSS3 CSS3 CSS3 CSS3
Maturity REC REC REC CR CR WD WD WD CR
Syntax float:
none|left|r
ight|initia
l|inherit;
display:
none|inline
|block|list
-item|inlin
e-block|tab
le| ...;
position:
static|abso
lute|fixed|
relative|st
icky|initia
l|inherit;
display:
flex; flex:
flex-grow
flex-shrink
flex-basis|
auto|initia
l|inherit;
display:
grid; grid:
none|grid-t
emplate-row
s /
grid-templa
te-columns|
grid-templa
te-areas|gr
id-template
-rows /
[grid-auto-
flow]
grid-auto-c
olumns|[gri
column-count:
auto |
<integer>;
break-bef
ore: auto
| always
| avoid |
left |
right |
page |
column |
region |
avoid-pag
e |
avoid-col
umn |
avoid-reg
ion;
wrap-flow:
auto | both
| start |
end |
minimum |
maximum |
clear;
shape-outsi
de:
none|margin
-box|conten
t-box|...;
Grid vs. Flex
Layout Alternatives
Float GridFlex
<div class="container">
<div class="box a">A</div>
<div class="box b">B</div>
<div class="box c">C</div>
<div class="box d">D</div>
<div class="box e">E</div>
<div class="box f">F</div>
</div>
.container {
}
.box {
float: left;
margin: 5px;
width: 60px;
}
.container {
display: grid;
grid-gap: 10px;
grid-template-columns:
repeat(auto-fit, 100px);
}
.box {
}
.container {
display: flex;
flex-wrap: wrap;
}
.box {
flex-basis: 60px;
margin: 5px;
}
Bootstrap 4 - FlexBootstrap 3 - Float
<div class="container">
<div class="row">
<div class="col-xs-4">A</div>
<div class="col-xs-4">B</div>
<div class="col-xs-4">C</div>
</div>
</div>
Grid
<div class="container">
<div class="row">
<div class="col">A</div>
<div class="col">B</div>
<div class="col">C</div>
</div>
</div>
<div class="container">
<div class="col">A</div>
<div class="col">B</div>
<div class="col">C</div>
</div>
.container {
display: grid;
grid-template-columns: repeat(12, 1fr);
grid-gap: 10px;
}
.col {
grid-column: span 4;
}
Current Layout
Columns Layout 2-2
2-10 2-11
2-7
Advanced Layouts
Layout Examples 1
4-13
4-12
Layout Examples 2
4-7
4-8
Layout Examples 3
4-104-9
● Separation of concerns
● Less divitis and classitis + Semantic
● Cleaner HTML + Smaller CSS
● 1D and 2D layouts
● Vertical alignment
● Flex width to occupy the available space
● Any direction + Changing order
● Overlapping
Grid + Flex Advantages
IE11 Support
IE Support
Can I use?
SVG
Method of displaying basic Vector Graphics
features using the embed or object elements
96.8% JUL 2018
<object class="fa-svg" type="image/svg+xml"
data=$xwiki.getSkinFile("icons/fontawesome/solid/${
icon}.svg")></object>
Can I use?
CSS Variables
(Custom Properties)
Permits the declaration and usage of
cascading variables in stylesheets
87.5% JUL 2018
body {
--bg-color: #150C55;
background-color: pink;
}
@supports (background-color: var(--bg-color)) {
body {
background-color: var(--bg-color);
}
}
Can I use?
Flexible Box
Method of positioning elements in horizontal
or vertical stacks
96.6% JUL 2018
@supports (display: -webkit-flex) or
(display: -moz-flex) or
(display: flex) {
div {
display: -webkit-flex;
display: -moz-flex;
display: flex;
}
}
Can I use?
CSS Grid
Grid concept to lay out content, providing a
mechanism to divide available space into
columns and rows
87.7% JUL 2018
@supports (display: grid) {
.wrapper ul {
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-gap: 20px;
}
}
Can I use?
@supports
Allows to condition rules based on whether
particular property declarations are
supported in CSS
92.7% JUL 2018
@supports not ((display: flex) and (display: grid))
{
div {
float: left;
}
}
Thank you
@evalica #xwiki

More Related Content

Similar to XWiki Skin 10.x+ ideas

Modern Browser Support
Modern Browser SupportModern Browser Support
Modern Browser Support
Mark Meeker
 
Object oriented css graeme blackwood
Object oriented css graeme blackwoodObject oriented css graeme blackwood
Object oriented css graeme blackwood
drupalconf
 
Dive Into HTML5
Dive Into HTML5Dive Into HTML5
Dive Into HTML5
Doris Chen
 
EAD Revision Progress Report, SAA 2013
EAD Revision Progress Report, SAA 2013EAD Revision Progress Report, SAA 2013
EAD Revision Progress Report, SAA 2013
Michael Rush
 
Even faster web sites
Even faster web sitesEven faster web sites
Even faster web sites
Felipe Lavín
 
New Elements & Features in CSS3
New Elements & Features in CSS3New Elements & Features in CSS3
New Elements & Features in CSS3
Jamshid Hashimi
 

Similar to XWiki Skin 10.x+ ideas (20)

Introduction to HTML5 and CSS3
Introduction to HTML5 and CSS3Introduction to HTML5 and CSS3
Introduction to HTML5 and CSS3
 
Hardcore CSS
Hardcore CSSHardcore CSS
Hardcore CSS
 
Modern Browser Support
Modern Browser SupportModern Browser Support
Modern Browser Support
 
Edge of the Web
Edge of the WebEdge of the Web
Edge of the Web
 
Object oriented css graeme blackwood
Object oriented css graeme blackwoodObject oriented css graeme blackwood
Object oriented css graeme blackwood
 
New layout models on the Web (Mobile World Congress 2014)
New layout models on the Web (Mobile World Congress 2014)New layout models on the Web (Mobile World Congress 2014)
New layout models on the Web (Mobile World Congress 2014)
 
Dive Into HTML5
Dive Into HTML5Dive Into HTML5
Dive Into HTML5
 
EAD Revision Progress Report, SAA 2013
EAD Revision Progress Report, SAA 2013EAD Revision Progress Report, SAA 2013
EAD Revision Progress Report, SAA 2013
 
HTML 5 & CSS 3
HTML 5 & CSS 3HTML 5 & CSS 3
HTML 5 & CSS 3
 
新 · 交互
新 · 交互新 · 交互
新 · 交互
 
Css3
Css3Css3
Css3
 
Building Webs Better
Building Webs BetterBuilding Webs Better
Building Webs Better
 
Even faster web sites
Even faster web sitesEven faster web sites
Even faster web sites
 
New Elements & Features in CSS3
New Elements & Features in CSS3New Elements & Features in CSS3
New Elements & Features in CSS3
 
Dive into HTML5: SVG and Canvas
Dive into HTML5: SVG and CanvasDive into HTML5: SVG and Canvas
Dive into HTML5: SVG and Canvas
 
SVG - Scalable Vector Graphics
SVG - Scalable Vector GraphicsSVG - Scalable Vector Graphics
SVG - Scalable Vector Graphics
 
いま使われているHTML5と、これからのHTML5
いま使われているHTML5と、これからのHTML5いま使われているHTML5と、これからのHTML5
いま使われているHTML5と、これからのHTML5
 
The New CSS Layout - Dutch PHP Conference
The New CSS Layout - Dutch PHP ConferenceThe New CSS Layout - Dutch PHP Conference
The New CSS Layout - Dutch PHP Conference
 
Web I - 07 - CSS Frameworks
Web I - 07 - CSS FrameworksWeb I - 07 - CSS Frameworks
Web I - 07 - CSS Frameworks
 
HTML5 & Friends
HTML5 & FriendsHTML5 & Friends
HTML5 & Friends
 

More from Ecaterina Moraru (Valica)

Expectations from Open Source Designers
Expectations from Open Source DesignersExpectations from Open Source Designers
Expectations from Open Source Designers
Ecaterina Moraru (Valica)
 
Interconectarea Semantica A Datelor In Contextul Managementului Informatiilor...
Interconectarea Semantica A Datelor In Contextul Managementului Informatiilor...Interconectarea Semantica A Datelor In Contextul Managementului Informatiilor...
Interconectarea Semantica A Datelor In Contextul Managementului Informatiilor...
Ecaterina Moraru (Valica)
 
Tehnici De Tip Mashup Pentru Interactiuni Web In Sisteme Informationale Geogr...
Tehnici De Tip Mashup Pentru Interactiuni Web In Sisteme Informationale Geogr...Tehnici De Tip Mashup Pentru Interactiuni Web In Sisteme Informationale Geogr...
Tehnici De Tip Mashup Pentru Interactiuni Web In Sisteme Informationale Geogr...
Ecaterina Moraru (Valica)
 
Interconectarea Semantica A Datelor In Contextul Managementului Informatiilor...
Interconectarea Semantica A Datelor In Contextul Managementului Informatiilor...Interconectarea Semantica A Datelor In Contextul Managementului Informatiilor...
Interconectarea Semantica A Datelor In Contextul Managementului Informatiilor...
Ecaterina Moraru (Valica)
 

More from Ecaterina Moraru (Valica) (20)

UI/UX Tips & Tricks for developers - FOSDEM2020
UI/UX Tips & Tricks for developers - FOSDEM2020UI/UX Tips & Tricks for developers - FOSDEM2020
UI/UX Tips & Tricks for developers - FOSDEM2020
 
UI/UX Tips & Tricks for developers
UI/UX Tips & Tricks for developersUI/UX Tips & Tricks for developers
UI/UX Tips & Tricks for developers
 
Sketching Session
Sketching SessionSketching Session
Sketching Session
 
CSS Grid vs. Flexbox
CSS Grid vs. FlexboxCSS Grid vs. Flexbox
CSS Grid vs. Flexbox
 
Designing in the open
Designing in the openDesigning in the open
Designing in the open
 
Difficulties in having more designers participate in Open Source
Difficulties in having more designers participate in Open SourceDifficulties in having more designers participate in Open Source
Difficulties in having more designers participate in Open Source
 
CSS Variables — Native reusable custom properties
CSS Variables — Native reusable custom propertiesCSS Variables — Native reusable custom properties
CSS Variables — Native reusable custom properties
 
Icon Themes
Icon ThemesIcon Themes
Icon Themes
 
Design proposals status 9.x
Design proposals status 9.xDesign proposals status 9.x
Design proposals status 9.x
 
What's new in XWiki 8.x and half of 9.x
What's new in XWiki 8.x and half of 9.x What's new in XWiki 8.x and half of 9.x
What's new in XWiki 8.x and half of 9.x
 
Expectations from Open Source Designers
Expectations from Open Source DesignersExpectations from Open Source Designers
Expectations from Open Source Designers
 
Success stats from OSD community
Success stats from OSD communitySuccess stats from OSD community
Success stats from OSD community
 
Future of XWiki Skins
Future of XWiki SkinsFuture of XWiki Skins
Future of XWiki Skins
 
Design process in an Open Community
Design process in an Open CommunityDesign process in an Open Community
Design process in an Open Community
 
XWiki Usability Testing Sessions
XWiki Usability Testing SessionsXWiki Usability Testing Sessions
XWiki Usability Testing Sessions
 
About XWiki.org
About XWiki.orgAbout XWiki.org
About XWiki.org
 
XWiki Improvements Review (ver 2.4 - 5.1)
XWiki Improvements Review (ver 2.4 - 5.1)XWiki Improvements Review (ver 2.4 - 5.1)
XWiki Improvements Review (ver 2.4 - 5.1)
 
Interconectarea Semantica A Datelor In Contextul Managementului Informatiilor...
Interconectarea Semantica A Datelor In Contextul Managementului Informatiilor...Interconectarea Semantica A Datelor In Contextul Managementului Informatiilor...
Interconectarea Semantica A Datelor In Contextul Managementului Informatiilor...
 
Tehnici De Tip Mashup Pentru Interactiuni Web In Sisteme Informationale Geogr...
Tehnici De Tip Mashup Pentru Interactiuni Web In Sisteme Informationale Geogr...Tehnici De Tip Mashup Pentru Interactiuni Web In Sisteme Informationale Geogr...
Tehnici De Tip Mashup Pentru Interactiuni Web In Sisteme Informationale Geogr...
 
Interconectarea Semantica A Datelor In Contextul Managementului Informatiilor...
Interconectarea Semantica A Datelor In Contextul Managementului Informatiilor...Interconectarea Semantica A Datelor In Contextul Managementului Informatiilor...
Interconectarea Semantica A Datelor In Contextul Managementului Informatiilor...
 

Recently uploaded

Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
FIDO Alliance
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
FIDO Alliance
 

Recently uploaded (20)

Top 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTop 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development Companies
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdf
 
Vector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptxVector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptx
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptx
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage Intacct
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps Productivity
 
UiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overviewUiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overview
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
 

XWiki Skin 10.x+ ideas

  • 1. XWiki Skin 10.x+ Ideas Technology and dependencies evolution #xwiki@evalica
  • 2. ● Color Themes Status ○ Variables evolution ● Icon Themes Status ○ Format evolution ● IE11 Support Agenda ● Skins Status ○ BS3 vs. BS4 ○ Less vs. Sass ○ Grid vs. Flex ○ Layouts variations
  • 3. Skins Status Skin Launched Used as default Replaced as default in Dodo < 2006 Finch < 2006 Albatross < 2006 1.0 - 1.2 1.3 Toucan Feb 2008 1.3 - 1.9 2 Colibri Sep 2009 2.0 - 3.4 - 6.1 6.2 Flamingo Sep 2014 6.2 -
  • 4. Color Themes Status Color Theme Launched Used as default Replaced as default in Skin Other Themes Default Color Theme Aug 2009 2.0M4 - 3.3 3.3 Colibri BlueSky, Bordo, InnerDark, Nature, Nightfall, Peach Azure Jan 2012 3.4 - 6.2M2 6.2M2 Colibri Dusk, Mint, Ruby Charcoal Aug 2014 6.2M2 - 10.2 10.2 Flamingo Bootswatch, Marina, Garden, Kitty Iceberg Mar 2018 10.2 - Flamingo (contrib) Dawn, Pantera, Mandarin, Snowdrop
  • 5. Icon Themes Status Icon Theme Launched as theme Used since Used as default Replaced as default in Replaced by Silk Aug 2014 Jan 2009 6.2M1 6.2M2 Font Awesome Font Awesome Aug 2014 Jul 2014 6.2M2 -
  • 6. Format Evolution Silk Glyphicons Halflings Font Awesome 4.x Material Design Font Awesome 5.x Launched 2005 2010 2012 2014 2017 Version 1.3 1.9 4.7.0 3.0.1 5.0.1 Number of Icons 1000 265 786 884 899 (464 for Solid) Contributed Platform Contrib Platform Contrib Contrib Format PNG PNG, Font Font PNG, Font, SVG Font, SVG
  • 9. BS3 vs. BS4 Released Pre- Processor Layout Technique Bootstrap 3 Aug 2013 Less Float Bootstrap 4 Jan 2018 Sass Flexbox
  • 11. Variables Evolution CSS Saas LESS CSS Variables Launched 1996 2006 2009 2012 Author W3C Hampton Catlin Alexis Sellier W3C Type Native CSS Preprocessor CSS Preprocessor Native Filename .css .css, .scss, .sass .css, .less .css Syntax $* @* --* Runtime static static dynamic
  • 13. Layout Specifications Float Display Position Flex Grid Multi-columns Regions Exclusions Shapes Launched 1996- 1996-2011- 2008-2011- 2009-2017- 2012-2017- 1999-2017 2014 2013-2015 2014 Level CSS1 CSS1, CSS2.1 CSS2.1 CSS3 CSS3 CSS3 CSS3 CSS3 CSS3 Maturity REC REC REC CR CR WD WD WD CR Syntax float: none|left|r ight|initia l|inherit; display: none|inline |block|list -item|inlin e-block|tab le| ...; position: static|abso lute|fixed| relative|st icky|initia l|inherit; display: flex; flex: flex-grow flex-shrink flex-basis| auto|initia l|inherit; display: grid; grid: none|grid-t emplate-row s / grid-templa te-columns| grid-templa te-areas|gr id-template -rows / [grid-auto- flow] grid-auto-c olumns|[gri column-count: auto | <integer>; break-bef ore: auto | always | avoid | left | right | page | column | region | avoid-pag e | avoid-col umn | avoid-reg ion; wrap-flow: auto | both | start | end | minimum | maximum | clear; shape-outsi de: none|margin -box|conten t-box|...;
  • 15. Layout Alternatives Float GridFlex <div class="container"> <div class="box a">A</div> <div class="box b">B</div> <div class="box c">C</div> <div class="box d">D</div> <div class="box e">E</div> <div class="box f">F</div> </div> .container { } .box { float: left; margin: 5px; width: 60px; } .container { display: grid; grid-gap: 10px; grid-template-columns: repeat(auto-fit, 100px); } .box { } .container { display: flex; flex-wrap: wrap; } .box { flex-basis: 60px; margin: 5px; }
  • 16. Bootstrap 4 - FlexBootstrap 3 - Float <div class="container"> <div class="row"> <div class="col-xs-4">A</div> <div class="col-xs-4">B</div> <div class="col-xs-4">C</div> </div> </div> Grid <div class="container"> <div class="row"> <div class="col">A</div> <div class="col">B</div> <div class="col">C</div> </div> </div> <div class="container"> <div class="col">A</div> <div class="col">B</div> <div class="col">C</div> </div> .container { display: grid; grid-template-columns: repeat(12, 1fr); grid-gap: 10px; } .col { grid-column: span 4; }
  • 23. ● Separation of concerns ● Less divitis and classitis + Semantic ● Cleaner HTML + Smaller CSS ● 1D and 2D layouts ● Vertical alignment ● Flex width to occupy the available space ● Any direction + Changing order ● Overlapping Grid + Flex Advantages
  • 26. Can I use? SVG Method of displaying basic Vector Graphics features using the embed or object elements 96.8% JUL 2018 <object class="fa-svg" type="image/svg+xml" data=$xwiki.getSkinFile("icons/fontawesome/solid/${ icon}.svg")></object>
  • 27. Can I use? CSS Variables (Custom Properties) Permits the declaration and usage of cascading variables in stylesheets 87.5% JUL 2018 body { --bg-color: #150C55; background-color: pink; } @supports (background-color: var(--bg-color)) { body { background-color: var(--bg-color); } }
  • 28. Can I use? Flexible Box Method of positioning elements in horizontal or vertical stacks 96.6% JUL 2018 @supports (display: -webkit-flex) or (display: -moz-flex) or (display: flex) { div { display: -webkit-flex; display: -moz-flex; display: flex; } }
  • 29. Can I use? CSS Grid Grid concept to lay out content, providing a mechanism to divide available space into columns and rows 87.7% JUL 2018 @supports (display: grid) { .wrapper ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 20px; } }
  • 30. Can I use? @supports Allows to condition rules based on whether particular property declarations are supported in CSS 92.7% JUL 2018 @supports not ((display: flex) and (display: grid)) { div { float: left; } }