SlideShare une entreprise Scribd logo
1  sur  39
While we’re getting ready to start, please
              download the three exercises from:
              http://yuiblog.com/devday06/yui-css/



             YUI’s Foundational CSS
                     CSS Reset, CSS Fonts, CSS Grids




                                                                                               Nate Koechley
Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006   Platform Engineering, Yahoo!
                                                                                                           1
YUI’s Foundational CSS
                     CSS Reset, CSS Fonts, CSS Grids




                                                                                               Nate Koechley
Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006   Platform Engineering, Yahoo!
                                                                                                           2
About me…
                      natek@yahoo-inc.com

      • YUI team:
            – Engineer and Design Liaison
            – Technical Evangelist
      • Graded Browser Support…
            …and browser vendor coordination
      • http://yuiblog.com
      • http://nate.koechley.com/blog

Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006   3
What we’ll cover…

      • Background and YUI CSS Goals
      • Hands-on with CSS Reset
      • Hands-on with CSS Fonts
      • Hands-on with CSS Grids
            – What It Does (x3)
            – Using It (x3)



Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006   4
CSS is Accretive…

      • An element’s presentation accumulates
        substance from every rule that touches it
            – via direct declaration, cascade, inheritance


      • Put another way:
            – CSS rules build on one another




Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006   5
CSS’s Two Mechanisms

      • Cascade
            – many rules  single element
      • Inheritance
            – single rule  many elements



      (And don’t forget about cascading inheritance, of course.)


Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006   6
CSS is Accretive… (cont’d)

      • The accretive aspects of CSS –
        cascade and inheritance – are the
        source of CSS’s power…




Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006   7
CSS is Accretive… (cont’d)

      … but also a source of vulnerability:

      A worrying equation:
            Slight disagreement on foundational rules
         + Slight disagreement on application of rules
      ----------------------------------------------------------------
         = Dramatic compounded difference!


Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006   8
YUI CSS Goals

      1. Normalize and stabilize
            •      Sound foundation enables sane
                   development
      2. Maximize Availability and Accessibility
      3. Centralize wheel invention
      4. Centralize kludges
      5. A-Grade Browser Support
      6. Support Yahoo! Specifications
Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006   9
The Three Tools

      1. CSS Reset
      2. CSS Fonts
      3. CSS Grids




Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006   10
YUI Reset – What it Does
                      http://developer.yahoo.com/yui/reset

      • Cross-browser normalization of the
        default rendering of HTML elements
            – Overcome browser.css
            – Level the playing field




Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006   11
Removes common “default”
                      presentation

      • Helps ensure all style is declared
        intentionally
            – You choose how you want to <em>phasize
              something
      • Allows us to choose elements based on
        their semantic meaning instead of their
        “default” presentation
            – You choose how you want to render <li>sts
      • A-Grade Browser Support
Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006   12
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,
fieldset,input,p,blockquote,th,td
      {margin:0;padding:0;}
table
  {border-collapse:collapse;border-spacing:0;}
fieldset,img
  {border:0;}
address,caption,cite,code,dfn,em,strong,th,var
  {font-style:normal;font-weight:normal;}
ol,ul
  {list-style:none;}
caption,th
  {text-align:left;}
h1,h2,h3,h4,h5,h6
  {font-size:100%;}
q:before,q:after
  {content:'';}
Using YUI Reset http://
                      developer.yahoo.com/yui/reset

   • Step 1: Say what you mean.
   • (there is no Step 2)
                       strong {font-weight:bold;}
                       h1 {margin-bottom:1em;}


                       li {
                       background:transparent
                       url(dot.gif)
                       no-repeat left 6px;
                       padding:0 0 0 .55em;
                       }

Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006   14
YUI Fonts – What it Does…
                      http://developer.yahoo.com/yui/fonts

      • Consistent font sizing and line-height
      • Appropriate cross-OS font-family
        degradation paths
            – e.g., arial, helvetica, sans-serif
      • Not fixed, so users can adjust the font
        size within their browser
            – Even when adjusted, better cross-browser
              consistency


Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006   15
YUI Fonts – What it Does (cont’d)
                      http://developer.yahoo.com/yui/fonts

      • Works in both Quirks Mode and
        Standards Mode
            – A centralized “kludge” (was “hack”, but…)
            – We develop with HTML 4.01 Strict which
              puts us in Standards Mode
      • Normalizes “em” size (almost)
            – Allows font-size-responsive positioning
      • A-Grade Browser Support

Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006   16
YUI Fonts – What it Does (cont’d)
                      http://developer.yahoo.com/yui/fonts

      • For free:
            – Font-family: Arial (except per OS)
            – Font-size = 13px (not pixels)
            – Line-height = 16px (not pixels)
      • Consistent em dimension.




Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006   17
Using YUI Fonts: Setting Size

      To get pixel size         Use this percentage                      http://developer.yahoo.com/yui/
      10px                      77%
      11px                      85%
      12px                      92%
      13px                      100%
      14px                      107%               h1 {font-size:136%;}
      15px                      114%               #node {font-size:77%;}
      16px                      122%
      17px                      129%
      18px                      136%
      19px                      144%
      20px                      152%

Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006                     18
Using YUI Fonts: Setting Font

 We use:
       – Arial (default)
       – Verdana
                                        h1 {font-family:georgia;}
       – Georgia
                                        #node {font-family:verdana;}
       – Tahoma                         .error {
       – Monospace                           font-size:77%;
                                             font-family:verdana;
                                             color:red;
                                        }


Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006   19
Hands-on Exercise #1

  • Open hackday-exercise1.html
  • Match these specs:

                                                                          16 pixels

                                                                          Verdana 11 pixels and grey
                                                                          (#666)



                                                                          italic
                                                                          1em margin at the bottom of
                                                                          each paragraph and after
                                                                          source/timestamp


Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006                          20
YUI Grids – What it Does
                      http://developer.yahoo.com/yui/grids


      “The safe and easy way to create complex
        page and template layouts that are
        bulletproof and flexible.”


      • 130+ layouts from single efficient CSS file
            – (under 1.9kb)
      • Recursive, extensible system

Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006   21
YUI Grids – What it Does (cont’d)
                      http://developer.yahoo.com/yui/grids

      • Scale with font-size adjustment
      • Source-order independent
      • Self-clearing footer
      • Fits all IAB Advertising Units
      • Forward-compatible (coming soon!)
      • A-Grade Browser Support


Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006   22
How It Works…

      Two Components:
            1. Templates
            2. Subdivide with Grids and Units




Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006   23
How It Works… (cont’d)

      • Choose a template (yui-t1…yui-t7)




Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006   24
<body>
<div id="doc” class=“yui-t1”>
 <div id="hd"></div>
 <div id="bd">
    <div id=“yui-main”>
        <div class=“yui-b”></div>
    </div>
    <div class=“yui-b”></div>
 </div>
 <div id="ft"></div>
</div>
Hands-on Exercise #2

  • Open hackday-exercise2.html
  • Switch top-level template (yui-t1)
  • Experiment with source-order control




Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006   26
How It Works… (cont’d)

                                        • “Recursively subdivide”
                                        • Based on “grids”
                                          holding “units”


                                        • Custom “grids” for non-
                                          even unit distribution

Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006   27
The Base Case:



.yui-g
    .yui-u first
    .yui-u
The Base Case:



.yui-g (tells children to take 50%)
    .yui-u first (obey parent)
    .yui-u (obey parent)
The Base Case:



<div class=“yui-g”>
  <div class=“yui-u first”></div>
  <div class=“yui-u”></div>
</div>
1. You Can Nest Grids.
2. Units and Grids can both be within Grids.

<div class=“yui-g”>
  <div class=“yui-u first”></div>
  <div class=“yui-g”>
    <div class=“yui-u first”></div>
    <div class=“yui-u”></div>
  </div>
</div>
What % does each take up?



<div class=“yui-g”>
 <div class=“yui-u first”></div>
 <div class=“yui-g”>
    <div class=“yui-u first”></div>
    <div class=“yui-u”></div>
 </div>
</div>
Special Grids (yui-g[a...f])



<div class=“yui-gb”>
 <div class=“yui-u first”>33%</div>
 <div class=“yui-u”>33%</div>
 <div class=“yui-u”>33%</div>
</div>
. . .
<div id=“bd”>
  <div class=“yui-b”></div>
  <div id=“yui-main”>
    <div class=“yui-b”>
       <div class=“yui-g”>
         <div class=“yui-u first”></div>
         <div class=“yui-u”></div>
       </div>
    </div>
  </div>
</div>
. . .
<div class=“yui-b”>
  <div class=“yui-g”>
    <div class=“yui-g first”>
         <div class=“yui-u first”></div>
         <div class=“yui-u”></div>
    </div>
    <div class=“yui-g”>
         <div class=“yui-u first”></div>
         <div class=“yui-u”></div>
    </div>
  </div>
</div>
.yui-g
  .yui-g first
     .yui-u first
     .yui-u
  .yui-g
     .yui-u first
     .yui-u
.yui-g (tells children to take 50%)
  .yui-g first (half of parent & children take half)
     .yui-u first (half of parent)
     .yui-u (half of parent)
  .yui-g (half of parent & children take half)
     .yui-u first (half of parent)
     .yui-u (half of parent)
Hands-on Exercise #3

                                      •      Open hackday-exercise3.html
                                      •      Experiment stacking grids
                                      •      Experiment nesting grids
                                      •      Experiment with custom grids




Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006   38
Thanks!

      • Available for questions all day and night
            – In Clasroom 1 and Classroom 6
            – Wandering around
      • Hack on, hackers




Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006   39

Contenu connexe

En vedette

Regresiones, de Vicente Muñoz Ávarez
Regresiones, de Vicente Muñoz ÁvarezRegresiones, de Vicente Muñoz Ávarez
Regresiones, de Vicente Muñoz ÁvarezAna R. Otero
 
세바기(세상을 바꾸는 기술)_변화를 위한 무한도전
세바기(세상을 바꾸는 기술)_변화를 위한 무한도전세바기(세상을 바꾸는 기술)_변화를 위한 무한도전
세바기(세상을 바꾸는 기술)_변화를 위한 무한도전S.K. Cha of ACS in Korea
 
Designing a "nutrition facts" label for disclosing prepaid card fees
Designing a "nutrition facts" label for disclosing prepaid card feesDesigning a "nutrition facts" label for disclosing prepaid card fees
Designing a "nutrition facts" label for disclosing prepaid card feesDesiree Zamora Garcia
 
Industry
IndustryIndustry
Industrypriyase
 
S ilabus tik smp berkarakter kelas 7 sd 9
S ilabus tik smp berkarakter kelas 7 sd 9S ilabus tik smp berkarakter kelas 7 sd 9
S ilabus tik smp berkarakter kelas 7 sd 9suryo purnomo
 
mes와 fems을 활용한 생산공장 에너지효율화
 mes와 fems을 활용한 생산공장 에너지효율화 mes와 fems을 활용한 생산공장 에너지효율화
mes와 fems을 활용한 생산공장 에너지효율화S.K. Cha of ACS in Korea
 

En vedette (11)

Essential YUI
Essential YUIEssential YUI
Essential YUI
 
Ciparay
CiparayCiparay
Ciparay
 
Media evaluation
Media evaluationMedia evaluation
Media evaluation
 
Regresiones, de Vicente Muñoz Ávarez
Regresiones, de Vicente Muñoz ÁvarezRegresiones, de Vicente Muñoz Ávarez
Regresiones, de Vicente Muñoz Ávarez
 
세바기(세상을 바꾸는 기술)_변화를 위한 무한도전
세바기(세상을 바꾸는 기술)_변화를 위한 무한도전세바기(세상을 바꾸는 기술)_변화를 위한 무한도전
세바기(세상을 바꾸는 기술)_변화를 위한 무한도전
 
Designing a "nutrition facts" label for disclosing prepaid card fees
Designing a "nutrition facts" label for disclosing prepaid card feesDesigning a "nutrition facts" label for disclosing prepaid card fees
Designing a "nutrition facts" label for disclosing prepaid card fees
 
Industry
IndustryIndustry
Industry
 
Analsisis pisa
Analsisis pisaAnalsisis pisa
Analsisis pisa
 
S ilabus tik smp berkarakter kelas 7 sd 9
S ilabus tik smp berkarakter kelas 7 sd 9S ilabus tik smp berkarakter kelas 7 sd 9
S ilabus tik smp berkarakter kelas 7 sd 9
 
e-Manufacturing; before and after
e-Manufacturing; before and aftere-Manufacturing; before and after
e-Manufacturing; before and after
 
mes와 fems을 활용한 생산공장 에너지효율화
 mes와 fems을 활용한 생산공장 에너지효율화 mes와 fems을 활용한 생산공장 에너지효율화
mes와 fems을 활용한 생산공장 에너지효율화
 

Similaire à Yui css

Vienna Feb 2015: Cassandra: How it works and what it's good for!
Vienna Feb 2015: Cassandra: How it works and what it's good for!Vienna Feb 2015: Cassandra: How it works and what it's good for!
Vienna Feb 2015: Cassandra: How it works and what it's good for!Christopher Batey
 
Jan 2015 - Cassandra101 Manchester Meetup
Jan 2015 - Cassandra101 Manchester MeetupJan 2015 - Cassandra101 Manchester Meetup
Jan 2015 - Cassandra101 Manchester MeetupChristopher Batey
 
Responsive Web Design tips and tricks.
Responsive Web Design tips and tricks.Responsive Web Design tips and tricks.
Responsive Web Design tips and tricks.GaziAhsan
 
Trendsetting: Web Design and Beyond
Trendsetting: Web Design and BeyondTrendsetting: Web Design and Beyond
Trendsetting: Web Design and BeyondAndy Stratton
 
SASS: The Next Wave in Styling and Theming
SASS: The Next Wave in Styling and ThemingSASS: The Next Wave in Styling and Theming
SASS: The Next Wave in Styling and ThemingSencha
 

Similaire à Yui css (7)

Vienna Feb 2015: Cassandra: How it works and what it's good for!
Vienna Feb 2015: Cassandra: How it works and what it's good for!Vienna Feb 2015: Cassandra: How it works and what it's good for!
Vienna Feb 2015: Cassandra: How it works and what it's good for!
 
Jan 2015 - Cassandra101 Manchester Meetup
Jan 2015 - Cassandra101 Manchester MeetupJan 2015 - Cassandra101 Manchester Meetup
Jan 2015 - Cassandra101 Manchester Meetup
 
Drupal 7 ninja theming
Drupal 7 ninja themingDrupal 7 ninja theming
Drupal 7 ninja theming
 
Responsive Web Design tips and tricks.
Responsive Web Design tips and tricks.Responsive Web Design tips and tricks.
Responsive Web Design tips and tricks.
 
Rwd slidedeck
Rwd slidedeckRwd slidedeck
Rwd slidedeck
 
Trendsetting: Web Design and Beyond
Trendsetting: Web Design and BeyondTrendsetting: Web Design and Beyond
Trendsetting: Web Design and Beyond
 
SASS: The Next Wave in Styling and Theming
SASS: The Next Wave in Styling and ThemingSASS: The Next Wave in Styling and Theming
SASS: The Next Wave in Styling and Theming
 

Dernier

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 

Dernier (20)

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 

Yui css

  • 1. While we’re getting ready to start, please download the three exercises from: http://yuiblog.com/devday06/yui-css/ YUI’s Foundational CSS CSS Reset, CSS Fonts, CSS Grids Nate Koechley Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006 Platform Engineering, Yahoo! 1
  • 2. YUI’s Foundational CSS CSS Reset, CSS Fonts, CSS Grids Nate Koechley Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006 Platform Engineering, Yahoo! 2
  • 3. About me… natek@yahoo-inc.com • YUI team: – Engineer and Design Liaison – Technical Evangelist • Graded Browser Support… …and browser vendor coordination • http://yuiblog.com • http://nate.koechley.com/blog Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006 3
  • 4. What we’ll cover… • Background and YUI CSS Goals • Hands-on with CSS Reset • Hands-on with CSS Fonts • Hands-on with CSS Grids – What It Does (x3) – Using It (x3) Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006 4
  • 5. CSS is Accretive… • An element’s presentation accumulates substance from every rule that touches it – via direct declaration, cascade, inheritance • Put another way: – CSS rules build on one another Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006 5
  • 6. CSS’s Two Mechanisms • Cascade – many rules  single element • Inheritance – single rule  many elements (And don’t forget about cascading inheritance, of course.) Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006 6
  • 7. CSS is Accretive… (cont’d) • The accretive aspects of CSS – cascade and inheritance – are the source of CSS’s power… Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006 7
  • 8. CSS is Accretive… (cont’d) … but also a source of vulnerability: A worrying equation: Slight disagreement on foundational rules + Slight disagreement on application of rules ---------------------------------------------------------------- = Dramatic compounded difference! Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006 8
  • 9. YUI CSS Goals 1. Normalize and stabilize • Sound foundation enables sane development 2. Maximize Availability and Accessibility 3. Centralize wheel invention 4. Centralize kludges 5. A-Grade Browser Support 6. Support Yahoo! Specifications Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006 9
  • 10. The Three Tools 1. CSS Reset 2. CSS Fonts 3. CSS Grids Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006 10
  • 11. YUI Reset – What it Does http://developer.yahoo.com/yui/reset • Cross-browser normalization of the default rendering of HTML elements – Overcome browser.css – Level the playing field Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006 11
  • 12. Removes common “default” presentation • Helps ensure all style is declared intentionally – You choose how you want to <em>phasize something • Allows us to choose elements based on their semantic meaning instead of their “default” presentation – You choose how you want to render <li>sts • A-Grade Browser Support Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006 12
  • 13. body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form, fieldset,input,p,blockquote,th,td {margin:0;padding:0;} table {border-collapse:collapse;border-spacing:0;} fieldset,img {border:0;} address,caption,cite,code,dfn,em,strong,th,var {font-style:normal;font-weight:normal;} ol,ul {list-style:none;} caption,th {text-align:left;} h1,h2,h3,h4,h5,h6 {font-size:100%;} q:before,q:after {content:'';}
  • 14. Using YUI Reset http:// developer.yahoo.com/yui/reset • Step 1: Say what you mean. • (there is no Step 2) strong {font-weight:bold;} h1 {margin-bottom:1em;} li { background:transparent url(dot.gif) no-repeat left 6px; padding:0 0 0 .55em; } Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006 14
  • 15. YUI Fonts – What it Does… http://developer.yahoo.com/yui/fonts • Consistent font sizing and line-height • Appropriate cross-OS font-family degradation paths – e.g., arial, helvetica, sans-serif • Not fixed, so users can adjust the font size within their browser – Even when adjusted, better cross-browser consistency Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006 15
  • 16. YUI Fonts – What it Does (cont’d) http://developer.yahoo.com/yui/fonts • Works in both Quirks Mode and Standards Mode – A centralized “kludge” (was “hack”, but…) – We develop with HTML 4.01 Strict which puts us in Standards Mode • Normalizes “em” size (almost) – Allows font-size-responsive positioning • A-Grade Browser Support Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006 16
  • 17. YUI Fonts – What it Does (cont’d) http://developer.yahoo.com/yui/fonts • For free: – Font-family: Arial (except per OS) – Font-size = 13px (not pixels) – Line-height = 16px (not pixels) • Consistent em dimension. Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006 17
  • 18. Using YUI Fonts: Setting Size To get pixel size Use this percentage http://developer.yahoo.com/yui/ 10px 77% 11px 85% 12px 92% 13px 100% 14px 107% h1 {font-size:136%;} 15px 114% #node {font-size:77%;} 16px 122% 17px 129% 18px 136% 19px 144% 20px 152% Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006 18
  • 19. Using YUI Fonts: Setting Font We use: – Arial (default) – Verdana h1 {font-family:georgia;} – Georgia #node {font-family:verdana;} – Tahoma .error { – Monospace font-size:77%; font-family:verdana; color:red; } Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006 19
  • 20. Hands-on Exercise #1 • Open hackday-exercise1.html • Match these specs: 16 pixels Verdana 11 pixels and grey (#666) italic 1em margin at the bottom of each paragraph and after source/timestamp Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006 20
  • 21. YUI Grids – What it Does http://developer.yahoo.com/yui/grids “The safe and easy way to create complex page and template layouts that are bulletproof and flexible.” • 130+ layouts from single efficient CSS file – (under 1.9kb) • Recursive, extensible system Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006 21
  • 22. YUI Grids – What it Does (cont’d) http://developer.yahoo.com/yui/grids • Scale with font-size adjustment • Source-order independent • Self-clearing footer • Fits all IAB Advertising Units • Forward-compatible (coming soon!) • A-Grade Browser Support Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006 22
  • 23. How It Works… Two Components: 1. Templates 2. Subdivide with Grids and Units Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006 23
  • 24. How It Works… (cont’d) • Choose a template (yui-t1…yui-t7) Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006 24
  • 25. <body> <div id="doc” class=“yui-t1”> <div id="hd"></div> <div id="bd"> <div id=“yui-main”> <div class=“yui-b”></div> </div> <div class=“yui-b”></div> </div> <div id="ft"></div> </div>
  • 26. Hands-on Exercise #2 • Open hackday-exercise2.html • Switch top-level template (yui-t1) • Experiment with source-order control Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006 26
  • 27. How It Works… (cont’d) • “Recursively subdivide” • Based on “grids” holding “units” • Custom “grids” for non- even unit distribution Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006 27
  • 28. The Base Case: .yui-g .yui-u first .yui-u
  • 29. The Base Case: .yui-g (tells children to take 50%) .yui-u first (obey parent) .yui-u (obey parent)
  • 30. The Base Case: <div class=“yui-g”> <div class=“yui-u first”></div> <div class=“yui-u”></div> </div>
  • 31. 1. You Can Nest Grids. 2. Units and Grids can both be within Grids. <div class=“yui-g”> <div class=“yui-u first”></div> <div class=“yui-g”> <div class=“yui-u first”></div> <div class=“yui-u”></div> </div> </div>
  • 32. What % does each take up? <div class=“yui-g”> <div class=“yui-u first”></div> <div class=“yui-g”> <div class=“yui-u first”></div> <div class=“yui-u”></div> </div> </div>
  • 33. Special Grids (yui-g[a...f]) <div class=“yui-gb”> <div class=“yui-u first”>33%</div> <div class=“yui-u”>33%</div> <div class=“yui-u”>33%</div> </div>
  • 34. . . . <div id=“bd”> <div class=“yui-b”></div> <div id=“yui-main”> <div class=“yui-b”> <div class=“yui-g”> <div class=“yui-u first”></div> <div class=“yui-u”></div> </div> </div> </div> </div>
  • 35. . . . <div class=“yui-b”> <div class=“yui-g”> <div class=“yui-g first”> <div class=“yui-u first”></div> <div class=“yui-u”></div> </div> <div class=“yui-g”> <div class=“yui-u first”></div> <div class=“yui-u”></div> </div> </div> </div>
  • 36. .yui-g .yui-g first .yui-u first .yui-u .yui-g .yui-u first .yui-u
  • 37. .yui-g (tells children to take 50%) .yui-g first (half of parent & children take half) .yui-u first (half of parent) .yui-u (half of parent) .yui-g (half of parent & children take half) .yui-u first (half of parent) .yui-u (half of parent)
  • 38. Hands-on Exercise #3 • Open hackday-exercise3.html • Experiment stacking grids • Experiment nesting grids • Experiment with custom grids Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006 38
  • 39. Thanks! • Available for questions all day and night – In Clasroom 1 and Classroom 6 – Wandering around • Hack on, hackers Nate Koechley – natek@yahoo-inc.com – Yahoo! Hack Day, September 29/30th, 2006 39