SlideShare una empresa de Scribd logo
1 de 51
Learn to love CSS3

              Robin Poort (@rhcpoort)
  CEO & co-founder ThemePartner (@theme_partner)
    Joomla! day Deutschland, Berlin, oktober 2012
1993
Robert Raisch proposed "named Stylesheets"




Source: http://ksi.cpsc.ucalgary.ca/archives/WWW-TALK/www-talk-1993q2.messages/443.html
1994
Håkon Wium Lie & Bert Bos create CSS1




Source: http://upload.wikimedia.org/wikipedia/commons/5/54/H%C3%A5kon_Wium_Lie.jpg
Source: http://www.w3c.de/Events/2006/images/PrintSymposium/slides/_DSC0209.JPG
CSS1 in development




h1.font.size = 24pt 100%

40%
font.family = times
h1.font.family = helvetica 100%

60%
AGE > 3d ? background.color = pale_yellow : background.color = white
DISPLAY_HEIGHT > 30cm ? http://NYT.com/style : http://LeMonde.fr/style
1996
CSS1 recommended by the W3C
1998
CSS2 recommended by the W3C
1999
CSS3 mentioned for the first time
1999?!
Using CSS3
Where & when?
Not on the critical layers
don't use it on branding, layout & usability
Progressively enhance!
Make sure the website works in older browsers
Performance problems
   Make your website fast!
Some examples!
p.rgba1     {
    color: #000000;
    color: rgba(0,0,0,1);
}


p.rgba2     {
    color: #FF0000;
    color: rgba(255,0,0,.5);
}


p.rgba3     {
    color: #1ebdbe;
    color: rgba(30,189,190,.25);
}




      Always put the non-rgba color for older browsers before the rgba color
div.rgba1    {
    background: #000000;
    background: rgba(0,0,0,.8);
    color: #FFF;
}


div.rgba2    {
    background: #FFF;
    background: rgba(255,255,255,.25);
}


div.rgba3    {
    background: #1ebdbe;
    background: rgba(30,189,190,.5);
}
div.rgba1    {
    background: #555;
    border: 5px solid;
    border-color: #000;
    border-color: rgba(0,0,0,.3);
}
div.rgba2    {
    background: #3d3877;
    border: 5px solid;
    border-color: #9d9bba;
    border-color: rgba(255,255,255,.5);
}
div.rgba3    {
    background: url(seaguls.png);
    border: 10px solid;
    border-color: #black;
    border-color: rgba(0,0,0,.5);
}
<p class=”shadow1”>Lorem ipsum</p>


p.shadow1 {
    font-weight: bold;
    font-size: 75px;
    line-height: 1em;
    color: #137576;
    text-shadow:
      1px 1px 0 #42d5d6,
      -1px -1px 0 #084a4a,
      -2px -2px 1px rgba(0,0,0,.2),
      2px 2px 1px rgba(255,255,255,.2);
}
<p class=”shadow2”>Lorem ipsum</p>


p.shadow2 {
    font-weight: bold;
    font-size: 75px;
    line-height: 1em;
    color: #FFF;
    text-shadow:
      0 1px 0 #96e0e0,
      0 2px 0 #86e0e0,
      0 3px 0 #76e0e0,
      0 4px 0 #56e0e0,
      0 5px 5px rgba(0,0,0,.3),
      0 10px 10px rgba(0,0,0,.2);
}
<p class=”shadow3”>Lorem ipsum</p>


p.shadow3 {
    font-weight: bold;
    font-size: 75px;
    line-height: 1em;
    color: #FFF;
    background: #222;
    text-shadow:
      0 0 4px black,
      0 -5px 4px #ff3,
      2px -10px 6px #fd3,
      -2px -15px 11px #f80,
      2px -25px 18px #f20;
}
<div class=”shadow1”>Lorem ipsum</div>


div.shadow1 {
    background: #FFF;
    text-align: center;
    -webkit-box-shadow: ...;
    -moz-box-shadow: ...;
    box-shadow:
      5px 5px 0 rgba(0,0,0,.3);
}
<div class=”shadow2”>Lorem ipsum</div>


div.shadow2 {
    background: #FFF;
    text-align: center;
    -webkit-box-shadow: ...;
    -moz-box-shadow: ...;
    box-shadow:
      0 0 1px black,
      0 0 15px white;
}
<div class=”shadow3”>Lorem ipsum</div>


div.shadow3 {
    background: #FFF;
    text-align: center;
    -webkit-box-shadow: ...;
    -moz-box-shadow: ...;
    box-shadow:
      5px 5px 0 white inset,
      -5px -5px 0 white inset,
      6px 6px 0 rgba(0,0,0,.15) inset,
      -6px -6px 0 rgba(0,0,0,.15) inset,
      0 0 20px rgba(0,0,0,.5) inset,
      0 0 7px rgba(0,0,0,.2),
      0 10px 10px -10px black;
}
<div class=”radius1”>Lorem ipsum</div>


div.radius1 {
    background: #FFF;
    text-align: center;
    -webkit-border-radius: ...;
    -moz-border-radius: ...;
    border-radius: 20px;
}
<div class=”radius2”>Lorem ipsum</div>


div.radius2 {
    background: #FFF;
    text-align: center;
    width: 200px;
    height: 200px;
    font-size: 20px;
    line-height: 200px;
    -webkit-border-radius: ...;
    -moz-border-radius: ...;
    border-radius: 9999px;
}
<div class=”radius3”>Lorem ipsum</div>


div.radius3 {
    background: #FFF;
    text-align: center;
    -webkit-border-radius: ...;
    -moz-border-radius: ...;
    border-radius: 20px 60px;
}
<div class=”gradient1”></div>


div.gradient1 {
    /* Basic color */
    background-color: #183c7a;
    /* Chrome, Safari4+ */
    background-image: -webkit-gradient(linear, left top, left bottom,
                         color-stop(0%,#183c7a), color-stop(100%,#84b6f4));
    /* Chrome10+, Safari5.1+ & The rest */
    background-image: -webkit-linear-gradient(top, #183c7a 0%,#84b6f4 100%);
    background-image: -moz-linear-gradient(top, #183c7a 0%, #84b6f4 100%);
    background-image: -o-linear-gradient(top, #183c7a 0%,#84b6f4 100%);
    background-image: -ms-linear-gradient(top, #183c7a 0%,#84b6f4 100%);
    background-image: linear-gradient(top, #183c7a 0%,#84b6f4 100%);
}




      Always start with a solid color for older browsers
<div class=”gradient2”></div>


div.gradient2 {
    /* Basic color */
    background-color: #183c7a;
    /* Chrome, Safari4+ */
    background: -webkit-gradient(radial, center center, 0px, center center,
                100%, color-stop(0%,rgba(24,60,122,1)),
                color-stop(100%,rgba(132,182,244,0.5)));
    /* Chrome10+, Safari5.1+ & The rest */
    background: -webkit-radial-gradient(center, ellipse cover,
                rgba(24,60,122,1) 0%,rgba(132,182,244,0.5) 100%);
    background: -moz-radial-gradient(Same as webkit)
    background: o-radial-gradient(Same as webkit)
    background: radial-gradient(center, ellipse cover,
                rgba(24,60,122,1) 0%,rgba(132,182,244,0.5) 100%);
}
<div class=”gradient3”></div>


div.gradient3 {
    /* Basic color */
    background-color: red;
    /* Chrome, Safari4+ */
    background-image: -webkit-gradient(radial, center center, 0px, center
                        center, 100%, color-stop(0%,rgba(24,60,122,1)),
                        color-stop(100%,rgba(132,182,244,0.5)));
    background-image: -webkit-radial-gradient(center, ellipse cover,
                        rgba(24,60,122,1) 0%,rgba(132,182,244,0.5) 100%);
    background-image: -moz-radial-gradient(Same as webkit)
    background-image: o-radial-gradient(Same as webkit)
    background-image: radial-gradient(center, ellipse cover,
                        rgba(24,60,122,1) 0%,rgba(132,182,244,0.5) 100%);
}
body {
    background: url(../images/pattern2.png) repeat-x top left,
                 url(../images/pattern.png),
                 linear-gradient(top, rgba(0,0,0,.5) 0%,rgba(0,0,0,0) 100%);
    background-color: #1EBDBE;
}




      By setting background-color last you can simply only change the color
div.wordwrap1 {
    word-wrap: normal;
}
div.wordwrap2 {
    word-wrap: break-word;
}
div.textoverflow1 {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
div.textoverflow2 {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: clip;
}

      :hover {overflow:visible} makes the text visible again
a.transition1 {
     background: #FFF;
     color: #000;
    -webkit-transition: background .5s ease-in-out,color .5s ease-in-out;
       -moz-transition: background .5s ease-in-out,color .5s ease-in-out;
        -ms-transition: background .5s ease-in-out,color .5s ease-in-out;
         -o-transition: background .5s ease-in-out,color .5s ease-in-out;
            transition: background .5s ease-in-out,color .5s ease-in-out;
}


a.transition1:hover {
     background: #000;
     color: #FFF;
}


transition: all .5s ease-in-out;
img.transform1 {
    border: 5px solid white;
    box-shadow: 5px 5px 5px rgba(0,0,0,.2);
    transform: rotate(5deg);
}
img.transform2 {
    border: 5px solid white;
    box-shadow: 5px 5px 5px rgba(0,0,0,.2);
    transform: skew(10deg) scale(1.1,1.1) rotate(-5deg)
    translate(10px, 20px);
}



-webkit-transform:
-moz-transform:
-ms-transform:
-o-transform:
@keyframes animate {         @-webkit-keyframes animate {...}
    0% {                     @-moz-keyframes animate {...}
        width: 300px;        @-ms-keyframes animate {...}
        height: 100px;       @-o-keyframes animate {...}
    }
    25% {
        width: 600px;
        background: black;
        color: #FFF;
        height: 200px;
    }
    100% {
        width: 300px;
        height: 100px;
    }
}
div.animate1 {
    width: 300px;
    height: 100px;
    background: #FFF;
    padding: .5em;
}


div.animate1:hover {
    -webkit-animation: animate 3s infinite;
       -moz-animation: animate 3s infinite;
        -ms-animation: animate 3s infinite;
         -o-animation: animate 3s infinite;
            animation: animate 3s infinite;
}
table {
    border-collapse: collapse;
    width: 400px;
}
table th {
    background: #555;
    color: #FFF;
    padding: 5px;
    border: 1px solid #AAA;
    text-align: left;
    font-weight: bold;
}
table td {
    border: 1px solid #CCC;
    padding: 5px;
}
table tr:nth-child(odd) {
    background: #DDD;
}
table tr:nth-child(odd) {
    background: #DDD;
}
table tr:nth-child(5) {
    background: #fcf79f;
}
table tr:nth-child(odd) {
    background: #DDD;
}
table tr:nth-child(5) {
    background: #fcf79f;
}
table tr:first-of-type {
    background: #9fecf9;
}
table tr:nth-child(odd) {
    background: #DDD;
}
table tr:nth-child(5) {
    background: #fcf79f;
}
table tr:first-of-type {
    background: #9fecf9;
}
table tr:last-child {
    background: #9fecf9;
}
Useful websites
Because we're not encyclopedias
CSS3.info

     HTML5please.com

      CSS3please.com

colorzilla.com/gradient-editor

    w3.org/TR/selectors
Questions?
Use it today, but be             Progressively enhance!
careful where to use it



                           CSS3

                                     Don't let it take
        Put users first!
                                          over
Time up

   Robin Poort (@rhcpoort)
ThemePartner (@theme_partner)

Más contenido relacionado

La actualidad más candente

Corilennyg gmail-com-rsp2
Corilennyg gmail-com-rsp2Corilennyg gmail-com-rsp2
Corilennyg gmail-com-rsp2
cori0506
 
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
Kaelig Deloumeau-Prigent
 

La actualidad más candente (17)

LESS : The dynamic stylesheet language
LESS : The dynamic stylesheet languageLESS : The dynamic stylesheet language
LESS : The dynamic stylesheet language
 
Sassive Aggressive: Using Sass to Make Your Life Easier (NSWG Version)
Sassive Aggressive: Using Sass to Make Your Life Easier (NSWG Version)Sassive Aggressive: Using Sass to Make Your Life Easier (NSWG Version)
Sassive Aggressive: Using Sass to Make Your Life Easier (NSWG Version)
 
Corilennyg gmail-com-rsp2
Corilennyg gmail-com-rsp2Corilennyg gmail-com-rsp2
Corilennyg gmail-com-rsp2
 
The CSS of Tomorrow (Front Row 2011)
The CSS of Tomorrow (Front Row 2011)The CSS of Tomorrow (Front Row 2011)
The CSS of Tomorrow (Front Row 2011)
 
Simplifying CSS With Sass
Simplifying CSS With SassSimplifying CSS With Sass
Simplifying CSS With Sass
 
Organizing & Simplifying CSS [with Sass]
Organizing & Simplifying CSS [with Sass]Organizing & Simplifying CSS [with Sass]
Organizing & Simplifying CSS [with Sass]
 
Web Development for Mobile: GTUG Talk at Google
Web Development for Mobile: GTUG Talk at GoogleWeb Development for Mobile: GTUG Talk at Google
Web Development for Mobile: GTUG Talk at Google
 
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
 
Open Web Camp: CSS3 Implementable Features
Open Web Camp: CSS3 Implementable FeaturesOpen Web Camp: CSS3 Implementable Features
Open Web Camp: CSS3 Implementable Features
 
CSS3 For WebKit: iPadDevCamp Presentation
CSS3 For WebKit: iPadDevCamp PresentationCSS3 For WebKit: iPadDevCamp Presentation
CSS3 For WebKit: iPadDevCamp Presentation
 
WordPress theme translation
WordPress theme translationWordPress theme translation
WordPress theme translation
 
Cloudstack UI Customization
Cloudstack UI CustomizationCloudstack UI Customization
Cloudstack UI Customization
 
CSS3 Implementable Features
CSS3 Implementable FeaturesCSS3 Implementable Features
CSS3 Implementable Features
 
The Basics of CSS3
The Basics of CSS3The Basics of CSS3
The Basics of CSS3
 
Zebra
ZebraZebra
Zebra
 
Css(handbook)
Css(handbook)Css(handbook)
Css(handbook)
 
Css3 process bar
Css3 process barCss3 process bar
Css3 process bar
 

Destacado

2012 Teamingisgrowing
2012 Teamingisgrowing2012 Teamingisgrowing
2012 Teamingisgrowing
ajenjojl
 
MODELOS DE COLOR
MODELOS DE COLORMODELOS DE COLOR
MODELOS DE COLOR
Tata Vélez
 
CV_Systems Development Manager_v1_exc. Contact Details
CV_Systems Development Manager_v1_exc. Contact DetailsCV_Systems Development Manager_v1_exc. Contact Details
CV_Systems Development Manager_v1_exc. Contact Details
Paul. Fisher
 
Voçê conhece as significa siglas
Voçê conhece as significa siglasVoçê conhece as significa siglas
Voçê conhece as significa siglas
lucaaaahs
 
Manoj's Resume
Manoj's Resume Manoj's Resume
Manoj's Resume
Manoj Sah
 
Artigos e preposições
Artigos e preposiçõesArtigos e preposições
Artigos e preposições
Yuri Marques
 
97974021 diseno-y-calculo-de-losa-aligerada
97974021 diseno-y-calculo-de-losa-aligerada97974021 diseno-y-calculo-de-losa-aligerada
97974021 diseno-y-calculo-de-losa-aligerada
Mateo Iban Damian Vega
 

Destacado (20)

Creating User Friendly Joomla! Websites and Forms | Joomla! Day Deutschland
Creating User Friendly Joomla! Websites and Forms | Joomla! Day DeutschlandCreating User Friendly Joomla! Websites and Forms | Joomla! Day Deutschland
Creating User Friendly Joomla! Websites and Forms | Joomla! Day Deutschland
 
2012 Teamingisgrowing
2012 Teamingisgrowing2012 Teamingisgrowing
2012 Teamingisgrowing
 
Ch09
Ch09Ch09
Ch09
 
Van voor, naar achter, van links naar... Likes?
Van voor, naar achter, van links naar... Likes?Van voor, naar achter, van links naar... Likes?
Van voor, naar achter, van links naar... Likes?
 
Is Joomla nog steeds de juiste keuze in 2017?
Is Joomla nog steeds de juiste keuze in 2017?Is Joomla nog steeds de juiste keuze in 2017?
Is Joomla nog steeds de juiste keuze in 2017?
 
MODELOS DE COLOR
MODELOS DE COLORMODELOS DE COLOR
MODELOS DE COLOR
 
Presentacion SuperInfo WEB
Presentacion SuperInfo WEBPresentacion SuperInfo WEB
Presentacion SuperInfo WEB
 
Películas
PelículasPelículas
Películas
 
Presentación1
Presentación1Presentación1
Presentación1
 
Red de Computadoras!
Red de Computadoras!Red de Computadoras!
Red de Computadoras!
 
Cac so tong dai mobifone ho tro khach hang
Cac so tong dai mobifone ho tro khach hangCac so tong dai mobifone ho tro khach hang
Cac so tong dai mobifone ho tro khach hang
 
CV_Systems Development Manager_v1_exc. Contact Details
CV_Systems Development Manager_v1_exc. Contact DetailsCV_Systems Development Manager_v1_exc. Contact Details
CV_Systems Development Manager_v1_exc. Contact Details
 
Voçê conhece as significa siglas
Voçê conhece as significa siglasVoçê conhece as significa siglas
Voçê conhece as significa siglas
 
Manoj's Resume
Manoj's Resume Manoj's Resume
Manoj's Resume
 
Artigos e preposições
Artigos e preposiçõesArtigos e preposições
Artigos e preposições
 
Arduino001 110911083100-phpapp02
Arduino001 110911083100-phpapp02Arduino001 110911083100-phpapp02
Arduino001 110911083100-phpapp02
 
Decreto de reforma constitucional en materia educativa
Decreto de reforma constitucional en materia educativaDecreto de reforma constitucional en materia educativa
Decreto de reforma constitucional en materia educativa
 
97974021 diseno-y-calculo-de-losa-aligerada
97974021 diseno-y-calculo-de-losa-aligerada97974021 diseno-y-calculo-de-losa-aligerada
97974021 diseno-y-calculo-de-losa-aligerada
 
SCAP – standaryzacja formatów wymiany danych w zakresie bezpieczeństwa IT
SCAP – standaryzacja formatów wymiany danych w zakresie bezpieczeństwa ITSCAP – standaryzacja formatów wymiany danych w zakresie bezpieczeństwa IT
SCAP – standaryzacja formatów wymiany danych w zakresie bezpieczeństwa IT
 
A luz e o son
A luz e o sonA luz e o son
A luz e o son
 

Similar a Learn to love CSS3 | Joomla! Day Deutschland

Big Design Conference: CSS3
Big Design Conference: CSS3 Big Design Conference: CSS3
Big Design Conference: CSS3
Wynn Netherland
 
Sass, Compass and the new tools - Open Web Camp IV
Sass, Compass and the new tools - Open Web Camp IVSass, Compass and the new tools - Open Web Camp IV
Sass, Compass and the new tools - Open Web Camp IV
Dirk Ginader
 
My discussion Student A A8 - Cross-Site Request Forgery (CSR.docx
My discussion Student A A8 - Cross-Site Request Forgery (CSR.docxMy discussion Student A A8 - Cross-Site Request Forgery (CSR.docx
My discussion Student A A8 - Cross-Site Request Forgery (CSR.docx
gilpinleeanna
 
Rapid Prototyping
Rapid PrototypingRapid Prototyping
Rapid Prototyping
Even Wu
 

Similar a Learn to love CSS3 | Joomla! Day Deutschland (20)

"Вклад Adobe в Web". Дмитрий Барановский, Adobe
"Вклад Adobe в Web". Дмитрий Барановский, Adobe"Вклад Adobe в Web". Дмитрий Барановский, Adobe
"Вклад Adobe в Web". Дмитрий Барановский, Adobe
 
Sass compass
Sass compassSass compass
Sass compass
 
popular posts widget
popular posts widgetpopular posts widget
popular posts widget
 
Big Design Conference: CSS3
Big Design Conference: CSS3 Big Design Conference: CSS3
Big Design Conference: CSS3
 
Sass, Compass and the new tools - Open Web Camp IV
Sass, Compass and the new tools - Open Web Camp IVSass, Compass and the new tools - Open Web Camp IV
Sass, Compass and the new tools - Open Web Camp IV
 
Making Links Magical Again with CSS
Making Links Magical Again with CSSMaking Links Magical Again with CSS
Making Links Magical Again with CSS
 
Sass & Compass (Barcamp Stuttgart 2012)
Sass & Compass (Barcamp Stuttgart 2012)Sass & Compass (Barcamp Stuttgart 2012)
Sass & Compass (Barcamp Stuttgart 2012)
 
My discussion Student A A8 - Cross-Site Request Forgery (CSR.docx
My discussion Student A A8 - Cross-Site Request Forgery (CSR.docxMy discussion Student A A8 - Cross-Site Request Forgery (CSR.docx
My discussion Student A A8 - Cross-Site Request Forgery (CSR.docx
 
Eye Candy Without Images: Fun With CSS3
Eye Candy Without Images: Fun With CSS3Eye Candy Without Images: Fun With CSS3
Eye Candy Without Images: Fun With CSS3
 
LessCSS Presentation @ April 2015 GTALUG Meeting
LessCSS Presentation @ April 2015 GTALUG MeetingLessCSS Presentation @ April 2015 GTALUG Meeting
LessCSS Presentation @ April 2015 GTALUG Meeting
 
Css3 process bar
Css3 process barCss3 process bar
Css3 process bar
 
Css3 process bar
Css3 process barCss3 process bar
Css3 process bar
 
Accelerated Stylesheets
Accelerated StylesheetsAccelerated Stylesheets
Accelerated Stylesheets
 
From PSD to WordPress Theme: Bringing designs to life
From PSD to WordPress Theme: Bringing designs to lifeFrom PSD to WordPress Theme: Bringing designs to life
From PSD to WordPress Theme: Bringing designs to life
 
The CSS3 of Tomorrow
The CSS3 of TomorrowThe CSS3 of Tomorrow
The CSS3 of Tomorrow
 
The Future of CSS
The Future of CSSThe Future of CSS
The Future of CSS
 
Rapid Prototyping
Rapid PrototypingRapid Prototyping
Rapid Prototyping
 
I Can't Believe It's Not Flash
I Can't Believe It's Not FlashI Can't Believe It's Not Flash
I Can't Believe It's Not Flash
 
Css3
Css3Css3
Css3
 
HTML5 e Css3 - 4 | WebMaster & WebDesigner
HTML5 e Css3 - 4 | WebMaster & WebDesignerHTML5 e Css3 - 4 | WebMaster & WebDesigner
HTML5 e Css3 - 4 | WebMaster & WebDesigner
 

Más de ThemePartner

Stop Building Links, Start Earning Them
Stop Building Links, Start Earning ThemStop Building Links, Start Earning Them
Stop Building Links, Start Earning Them
ThemePartner
 
Joomla! SEO (with Super Mario) [Dutch]
Joomla! SEO (with Super Mario) [Dutch]Joomla! SEO (with Super Mario) [Dutch]
Joomla! SEO (with Super Mario) [Dutch]
ThemePartner
 
Joomla 2.5 SEO [Dutch]
Joomla 2.5 SEO [Dutch]Joomla 2.5 SEO [Dutch]
Joomla 2.5 SEO [Dutch]
ThemePartner
 

Más de ThemePartner (11)

Stop Building Links, Start Earning Them
Stop Building Links, Start Earning ThemStop Building Links, Start Earning Them
Stop Building Links, Start Earning Them
 
Clever Joomla! Templating Tips and Tricks
Clever Joomla! Templating Tips and TricksClever Joomla! Templating Tips and Tricks
Clever Joomla! Templating Tips and Tricks
 
Slimme Joomla! Templating Tips en Truuks
Slimme Joomla! Templating Tips en TruuksSlimme Joomla! Templating Tips en Truuks
Slimme Joomla! Templating Tips en Truuks
 
Responsive Design: Uitdagingen en Oplossingen
Responsive Design: Uitdagingen en OplossingenResponsive Design: Uitdagingen en Oplossingen
Responsive Design: Uitdagingen en Oplossingen
 
Creating User Friendly Joomla! Websites and Forms [English]
Creating User Friendly Joomla! Websites and Forms [English]Creating User Friendly Joomla! Websites and Forms [English]
Creating User Friendly Joomla! Websites and Forms [English]
 
Joomla! SEO (With Super Mario) [English]
Joomla! SEO (With Super Mario) [English]Joomla! SEO (With Super Mario) [English]
Joomla! SEO (With Super Mario) [English]
 
6 Psychological Techniques to Improve Your Conversion Rate [English]
6 Psychological Techniques to Improve Your Conversion Rate [English]6 Psychological Techniques to Improve Your Conversion Rate [English]
6 Psychological Techniques to Improve Your Conversion Rate [English]
 
Gebruiksvriendelijke sites maken (dutch)
Gebruiksvriendelijke sites maken (dutch)Gebruiksvriendelijke sites maken (dutch)
Gebruiksvriendelijke sites maken (dutch)
 
CSS3 (dutch)
CSS3 (dutch)CSS3 (dutch)
CSS3 (dutch)
 
Joomla! SEO (with Super Mario) [Dutch]
Joomla! SEO (with Super Mario) [Dutch]Joomla! SEO (with Super Mario) [Dutch]
Joomla! SEO (with Super Mario) [Dutch]
 
Joomla 2.5 SEO [Dutch]
Joomla 2.5 SEO [Dutch]Joomla 2.5 SEO [Dutch]
Joomla 2.5 SEO [Dutch]
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
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
Safe Software
 

Último (20)

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
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
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
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, ...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
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
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
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...
 
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
 
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...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 

Learn to love CSS3 | Joomla! Day Deutschland

  • 1. Learn to love CSS3 Robin Poort (@rhcpoort) CEO & co-founder ThemePartner (@theme_partner) Joomla! day Deutschland, Berlin, oktober 2012
  • 2.
  • 4. Robert Raisch proposed "named Stylesheets" Source: http://ksi.cpsc.ucalgary.ca/archives/WWW-TALK/www-talk-1993q2.messages/443.html
  • 6. Håkon Wium Lie & Bert Bos create CSS1 Source: http://upload.wikimedia.org/wikipedia/commons/5/54/H%C3%A5kon_Wium_Lie.jpg Source: http://www.w3c.de/Events/2006/images/PrintSymposium/slides/_DSC0209.JPG
  • 7. CSS1 in development h1.font.size = 24pt 100% 40% font.family = times h1.font.family = helvetica 100% 60% AGE > 3d ? background.color = pale_yellow : background.color = white DISPLAY_HEIGHT > 30cm ? http://NYT.com/style : http://LeMonde.fr/style
  • 10. 1998
  • 12. 1999
  • 13. CSS3 mentioned for the first time
  • 16. Not on the critical layers don't use it on branding, layout & usability
  • 17. Progressively enhance! Make sure the website works in older browsers
  • 18. Performance problems Make your website fast!
  • 20. p.rgba1 { color: #000000; color: rgba(0,0,0,1); } p.rgba2 { color: #FF0000; color: rgba(255,0,0,.5); } p.rgba3 { color: #1ebdbe; color: rgba(30,189,190,.25); } Always put the non-rgba color for older browsers before the rgba color
  • 21. div.rgba1 { background: #000000; background: rgba(0,0,0,.8); color: #FFF; } div.rgba2 { background: #FFF; background: rgba(255,255,255,.25); } div.rgba3 { background: #1ebdbe; background: rgba(30,189,190,.5); }
  • 22. div.rgba1 { background: #555; border: 5px solid; border-color: #000; border-color: rgba(0,0,0,.3); } div.rgba2 { background: #3d3877; border: 5px solid; border-color: #9d9bba; border-color: rgba(255,255,255,.5); } div.rgba3 { background: url(seaguls.png); border: 10px solid; border-color: #black; border-color: rgba(0,0,0,.5); }
  • 23. <p class=”shadow1”>Lorem ipsum</p> p.shadow1 { font-weight: bold; font-size: 75px; line-height: 1em; color: #137576; text-shadow: 1px 1px 0 #42d5d6, -1px -1px 0 #084a4a, -2px -2px 1px rgba(0,0,0,.2), 2px 2px 1px rgba(255,255,255,.2); }
  • 24. <p class=”shadow2”>Lorem ipsum</p> p.shadow2 { font-weight: bold; font-size: 75px; line-height: 1em; color: #FFF; text-shadow: 0 1px 0 #96e0e0, 0 2px 0 #86e0e0, 0 3px 0 #76e0e0, 0 4px 0 #56e0e0, 0 5px 5px rgba(0,0,0,.3), 0 10px 10px rgba(0,0,0,.2); }
  • 25. <p class=”shadow3”>Lorem ipsum</p> p.shadow3 { font-weight: bold; font-size: 75px; line-height: 1em; color: #FFF; background: #222; text-shadow: 0 0 4px black, 0 -5px 4px #ff3, 2px -10px 6px #fd3, -2px -15px 11px #f80, 2px -25px 18px #f20; }
  • 26. <div class=”shadow1”>Lorem ipsum</div> div.shadow1 { background: #FFF; text-align: center; -webkit-box-shadow: ...; -moz-box-shadow: ...; box-shadow: 5px 5px 0 rgba(0,0,0,.3); }
  • 27. <div class=”shadow2”>Lorem ipsum</div> div.shadow2 { background: #FFF; text-align: center; -webkit-box-shadow: ...; -moz-box-shadow: ...; box-shadow: 0 0 1px black, 0 0 15px white; }
  • 28. <div class=”shadow3”>Lorem ipsum</div> div.shadow3 { background: #FFF; text-align: center; -webkit-box-shadow: ...; -moz-box-shadow: ...; box-shadow: 5px 5px 0 white inset, -5px -5px 0 white inset, 6px 6px 0 rgba(0,0,0,.15) inset, -6px -6px 0 rgba(0,0,0,.15) inset, 0 0 20px rgba(0,0,0,.5) inset, 0 0 7px rgba(0,0,0,.2), 0 10px 10px -10px black; }
  • 29. <div class=”radius1”>Lorem ipsum</div> div.radius1 { background: #FFF; text-align: center; -webkit-border-radius: ...; -moz-border-radius: ...; border-radius: 20px; }
  • 30. <div class=”radius2”>Lorem ipsum</div> div.radius2 { background: #FFF; text-align: center; width: 200px; height: 200px; font-size: 20px; line-height: 200px; -webkit-border-radius: ...; -moz-border-radius: ...; border-radius: 9999px; }
  • 31. <div class=”radius3”>Lorem ipsum</div> div.radius3 { background: #FFF; text-align: center; -webkit-border-radius: ...; -moz-border-radius: ...; border-radius: 20px 60px; }
  • 32. <div class=”gradient1”></div> div.gradient1 { /* Basic color */ background-color: #183c7a; /* Chrome, Safari4+ */ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#183c7a), color-stop(100%,#84b6f4)); /* Chrome10+, Safari5.1+ & The rest */ background-image: -webkit-linear-gradient(top, #183c7a 0%,#84b6f4 100%); background-image: -moz-linear-gradient(top, #183c7a 0%, #84b6f4 100%); background-image: -o-linear-gradient(top, #183c7a 0%,#84b6f4 100%); background-image: -ms-linear-gradient(top, #183c7a 0%,#84b6f4 100%); background-image: linear-gradient(top, #183c7a 0%,#84b6f4 100%); } Always start with a solid color for older browsers
  • 33. <div class=”gradient2”></div> div.gradient2 { /* Basic color */ background-color: #183c7a; /* Chrome, Safari4+ */ background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%,rgba(24,60,122,1)), color-stop(100%,rgba(132,182,244,0.5))); /* Chrome10+, Safari5.1+ & The rest */ background: -webkit-radial-gradient(center, ellipse cover, rgba(24,60,122,1) 0%,rgba(132,182,244,0.5) 100%); background: -moz-radial-gradient(Same as webkit) background: o-radial-gradient(Same as webkit) background: radial-gradient(center, ellipse cover, rgba(24,60,122,1) 0%,rgba(132,182,244,0.5) 100%); }
  • 34. <div class=”gradient3”></div> div.gradient3 { /* Basic color */ background-color: red; /* Chrome, Safari4+ */ background-image: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%,rgba(24,60,122,1)), color-stop(100%,rgba(132,182,244,0.5))); background-image: -webkit-radial-gradient(center, ellipse cover, rgba(24,60,122,1) 0%,rgba(132,182,244,0.5) 100%); background-image: -moz-radial-gradient(Same as webkit) background-image: o-radial-gradient(Same as webkit) background-image: radial-gradient(center, ellipse cover, rgba(24,60,122,1) 0%,rgba(132,182,244,0.5) 100%); }
  • 35. body { background: url(../images/pattern2.png) repeat-x top left, url(../images/pattern.png), linear-gradient(top, rgba(0,0,0,.5) 0%,rgba(0,0,0,0) 100%); background-color: #1EBDBE; } By setting background-color last you can simply only change the color
  • 36. div.wordwrap1 { word-wrap: normal; } div.wordwrap2 { word-wrap: break-word; } div.textoverflow1 { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } div.textoverflow2 { white-space: nowrap; overflow: hidden; text-overflow: clip; } :hover {overflow:visible} makes the text visible again
  • 37. a.transition1 { background: #FFF; color: #000; -webkit-transition: background .5s ease-in-out,color .5s ease-in-out; -moz-transition: background .5s ease-in-out,color .5s ease-in-out; -ms-transition: background .5s ease-in-out,color .5s ease-in-out; -o-transition: background .5s ease-in-out,color .5s ease-in-out; transition: background .5s ease-in-out,color .5s ease-in-out; } a.transition1:hover { background: #000; color: #FFF; } transition: all .5s ease-in-out;
  • 38. img.transform1 { border: 5px solid white; box-shadow: 5px 5px 5px rgba(0,0,0,.2); transform: rotate(5deg); } img.transform2 { border: 5px solid white; box-shadow: 5px 5px 5px rgba(0,0,0,.2); transform: skew(10deg) scale(1.1,1.1) rotate(-5deg) translate(10px, 20px); } -webkit-transform: -moz-transform: -ms-transform: -o-transform:
  • 39. @keyframes animate { @-webkit-keyframes animate {...} 0% { @-moz-keyframes animate {...} width: 300px; @-ms-keyframes animate {...} height: 100px; @-o-keyframes animate {...} } 25% { width: 600px; background: black; color: #FFF; height: 200px; } 100% { width: 300px; height: 100px; } }
  • 40. div.animate1 { width: 300px; height: 100px; background: #FFF; padding: .5em; } div.animate1:hover { -webkit-animation: animate 3s infinite; -moz-animation: animate 3s infinite; -ms-animation: animate 3s infinite; -o-animation: animate 3s infinite; animation: animate 3s infinite; }
  • 41. table { border-collapse: collapse; width: 400px; } table th { background: #555; color: #FFF; padding: 5px; border: 1px solid #AAA; text-align: left; font-weight: bold; } table td { border: 1px solid #CCC; padding: 5px; }
  • 42. table tr:nth-child(odd) { background: #DDD; }
  • 43. table tr:nth-child(odd) { background: #DDD; } table tr:nth-child(5) { background: #fcf79f; }
  • 44. table tr:nth-child(odd) { background: #DDD; } table tr:nth-child(5) { background: #fcf79f; } table tr:first-of-type { background: #9fecf9; }
  • 45. table tr:nth-child(odd) { background: #DDD; } table tr:nth-child(5) { background: #fcf79f; } table tr:first-of-type { background: #9fecf9; } table tr:last-child { background: #9fecf9; }
  • 46.
  • 47. Useful websites Because we're not encyclopedias
  • 48. CSS3.info HTML5please.com CSS3please.com colorzilla.com/gradient-editor w3.org/TR/selectors
  • 50. Use it today, but be Progressively enhance! careful where to use it CSS3 Don't let it take Put users first! over
  • 51. Time up Robin Poort (@rhcpoort) ThemePartner (@theme_partner)

Notas del editor

  1. Use when and where? Some examples. History first
  2. Looks hard. I&apos;m happy that in 1994 Hakon and Bert went to work together
  3. Very similar as you can see
  4. Took a long time. Some browsers found it harder to support/implement CSS2.1 then others
  5. No CSS3 logo. Do not use clumns with gaps etc or box-sizing w/o fallback. Not to make things clear on forms. No box-shadow as border on input elements.
  6. Think of gradients and RGBA or HSLA for example
  7. Things like box-shadow, text-shadow &amp; border-radius on big elements or to much of it
  8. I&apos;ll start with RGBA because I will use it in following examples. I won&apos;t get into depth because there&apos;s no time and the sheets will be online.
  9. Mozilla 3.x, all Chrome, Safari 3.x, Opera 10.x, IE9, mobile safari Use it on: color; background &amp; border
  10. Mozilla 3.x, all Chrome, Safari 3.x, Opera 10.x, IE9, mobile safari Use it on: color; background &amp; border
  11. Mozilla 3.x, all Chrome, Safari 3.x, Opera 10.x, IE9, mobile safari Use it on: color; background &amp; border
  12. Text-shadow was introduced in CSS2.0 but was removed in CSS2.1 because of compatibility This doesn&apos;t work on IE9! Seperate with a comma!
  13. Vendor prefixes!
  14. Inset + Smaller shadow + with spread
  15. shorthand is ...
  16. Most readable or middel color as a background color Webkit has two. I only use the latest one
  17. NO background image for transparancy
  18. Do give it a background-color and make use of it
  19. It doesn&apos;t recognize text yet. It breaks words on width and not on words. Could be improved
  20. I always use all because when only some parts &quot;animate&quot; it looks weird DOESN&apos;T work on IE(, sucks
  21. 4 different transforms + vendor prefixes Doesnt work with commas
  22. Use it only for &quot;animations&quot; with more then one frame
  23. CSS3 selectors
  24. Nooit te veel zelf onthouden, check altijd je sites