Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Review the OOCSS

Review the OOCSS

CSS Talk Vol.01 の発表資料です。

Avatar for Manabu Yasuda

Manabu Yasuda

October 24, 2016
Tweet

Other Decks in Technology

Transcript

  1. 02 Review the OOCSS ҆ా ֶ (yasuda manabu) גࣜձࣾ TAM

    ϚʔΫΞοϓΤϯδχΞ https://github.com/manabuyasuda @ Gaku0318
  2. 05 Review the OOCSS 01. CSSʹઃܭ͕ٻΊΒΕΔཧ༝ 02. ආ͚Δ΂͖CSS ʢΞϯνύλʔϯʣ 03.

    OOCSSͷ֓ཁ 04. OOCSSͷ2ͭͷݪଇ 05. ΦϒδΣΫτͷ໾ׂͱ෼཭͢Δཻ౓ ΞδΣϯμ
  3. 10 Review the OOCSS େ੾ͳ͜ͱ ɾCSS ͷઃܭख๏͸େ·͔ͳϧʔϧΛఆٛͯ͘͠ΕΔ΋ͷɻ ɾઃܭͷ࣮ફʹ͸খ͞ͳܾఆ͕ͨ͘͞Μ͋Δɻ ɾCSS ʹ͸ආ͚Δ΂͖Ξϯνύλʔϯ͕͋Δɻ

    ɾCSS ͸ΞϯνύλʔϯͷੵΈॏͶͰഁ୼͢Δɻ ɾສೳͳઃܭख๏͸ͳ͍ͷͰ࠷దͳख๏Λબ୒͢Δඞཁ͕͋Δɻ
  4. 17 Review the OOCSS #main {} #main #content {} #main

    #content p {} #main #content ul {} #main #content ul li {} #main #content ul li a {} CSS
  5. 18 Review the OOCSS IDηϨΫλ 2ͭͷࢦఆ͸Ҿ͖ܧ͕ͳ͍ͱ্ॻ͖Ͱ͖ͳ͍ɻ ηϨΫλ͕௕͍ͷͰݟ௨͠΋ѱ͍ɻ #main {} #main

    #content {} #main #content p {} #main #content ul {} #main #content ul li {} #main #content ul li a {} /* ௥Ճ */ #main #content .text {} CSS
  6. 21 Review the OOCSS a λάͷελΠϧΛΫϥε 1 ͭͰ্ॻ͖Ͱ͖ͳ͍ɻ <a href="#"

    class="link"> ϦϯΫ </a> a:link { color: red; } /* దԠ͞Εͳ͍ */ .link { color: blue; } CSS HTML
  7. 22 Review the OOCSS /* * 0,0,0,1ʢཁૉηϨΫλʣ * 0,0,1,0ʢΫϥεηϨΫλʣ *

    0,0,1,0ʢٖࣅΫϥεʣ */ /* 0,0,1,0 ʢٖࣅΫϥε + 0,0,0,1 ʢཁૉηϨΫλ */ a:link { color: red; } /* 0,0,1,0 ʢΫϥεηϨΫλ */ .link { color: blue; } CSS
  8. 24 Review the OOCSS .content h2 { position: relative; margin-bottom:

    25px; padding: 0.5em 0.8em; border-radius: 5px; color: #fff; font-size: 20px; font-weight: bold; background: crimson; } .content h2:after { content: ""; position: absolute; z-index: 1; bottom: -15px; left: 3em; margin-left: -15px; border: 15px solid transparent; border-top-color: crimson; border-bottom-width: 0; } CSS h2ݟग़͠
  9. 25 Review the OOCSS CSS h2ݟग़͠ h2ݟग़͠ .content .heading {

    padding: 0.5em; border: 0; /* Ϧηοτ */ border-bottom: 1px solid; border-left: 6px solid; border-radius: 0; /* Ϧηοτ */ color: #000; background-color: #fff; /* ্ॻ͖ */ } .content .heading:after { content: none; /* Ϧηοτ */ }
  10. 31 Review the OOCSS OOCSSͱ͸ ɾϖʔδ୯ҐͰ͸ͳ͘ɺΦϒδΣΫτ ʢ෦඼ʣ ୯Ґɻ ɾখ͘͞࡞ͬͯ૊Έ߹ΘͤΔ͜ͱͰϖʔδΛ࡞Δ ʢLegos

    firstʣ ɻ ɾجຊతʹΫϥεηϨΫλ͚ͩΛ࢖͍ɺ ϚϧνΫϥεͰࢦఆ͍ͯ͘͠ ʢৄࡉ౓Λ௿͘อͭʣ ɻ ɾΞϯνύλʔϯΛආ͚ΔϕετϓϥΫςΟεͷ ٧Ί߹Θͤɻ
  11. 32 Review the OOCSS ࢀߟϦϯΫ ɾstubbornella/oocss: Object Oriented CSS Framework

    ɾstubbornella/oocss-accessibility-guidelines: The accessibility guidelines used by the OOCSS open source project ɾObject Oriented CSS | SlideShare ɾWeb ੍࡞ऀͷͨΊͷ CSS ઃܭͷڭՊॻ
  12. 37 Review the OOCSS OOCSSͷ 2ͭͷݪଇ ᶃ ߏ଄ͱݟͨ໨Λ෼཭͢ΔʢSeparate Structure and

    Skinʣ ᶄ ίϯςφͱίϯςϯπΛ෼཭͢Δ ʢSeparate Container and Contentʣ
  13. 39 Review the OOCSS OOCSS͸ϚϧνΫϥεʢෳ਺ͷΫϥεΛࢦఆ͢Δ͜ͱʣ ͕લఏʹͳΔɻ ͦͯ͠ɺΫϥεͷ 1 ͭ 1

    ͭʹ໾ׂΛ΋ͨͤͯ෼཭͢Δɻ ͜ͷ ʮ໾ׂ͕ΫϥεΛ෼͚Δཻ౓ͷ୯Ґʯ ʹͳΔɻ ໾ׂͷ1ͭʹʮߏ଄ͱݟͨ໨ʯ͕͋Δɻ
  14. 43 Review the OOCSS .button { display: inline-block; padding: 0.75em;

    line-height: 1; text-align: center; text-decoration: none; } CSS ͦΕͧΕͷϘλϯΛ࡞ΔͨΊͷ ࠎ΍ے೑ʹͳ͍ͬͯΔཁૉΛ ʮߏ଄ʯ ͱݺͿɻ OOCSSͰ͸ ߏ଄ͱ͍͏໾ׂͰ෼཭͢Δɻ ࠓճ͸ .buttonͱ͍͏ΫϥεΛ࢖༻ɻ
  15. 44 Review the OOCSS .button-top { color: #fff; background-color: blue;

    } .button-more { color: #fff; background-color: orange; } .button-send { color: #fff; background-color: red; } CSS ಛ௃తͩͬͨ৭͸ɺ ʮݟͨ໨ʯ ͱ͍͏ ໾ׂͰɺ ͦΕͧΕผͷΫϥε΁ɻ ߏ଄Λ୲౰͢ΔΫϥεͷ໊લΛ Ҿ͖ܧ͙ͱؔ܎ੑΛࣔ͢͜ͱ͕Ͱ͖Δɻ
  16. 48 Review the OOCSS σϝϦοτ ɾCSS ͸γϯϓϧʹอͯΔ൓໘ɺ HTMLʹෳ਺ͷΫϥεΛ ࢦఆ͢ΔͷͰෳࡶʹͳΔɻ ɾখ͞ͳύʔπ͕ଟ͘ͳΔͷͰɺ

    ελΠϧΨΠυΛͭͬͯ͘ ૊Έ߹ΘͤΔύλʔϯΛڞ༗͢Δඞཁ͕͋Δɻ ɾ૊Έ߹Θͤͯ΋ׯব͠߹Θͳ͍ΦϒδΣΫ τΛ࡞Δͷʹ Ұఆͷ εΩϧ͕ඞཁɻ
  17. 58 Review the OOCSS #articleͱ͍͏৔ॴʹґଘ͍ͯ͠ΔͷͰ࢖͍ճ͢͜ͱ͕Ͱ͖ͳ͍ɻ /* Bad */ #article .button

    {} #article .button-primary {} /* Good */ .button {} .button-primary {} CSS
  18. 64 Review the OOCSS ͜ͷΑ͏ͳίʔυΛݟͨ͜ͱ͸͋Γ·ͤΜ͔ʁ <div class="container"> <div class="row"> <div

    class="col-md-8">.col-md-8</div> <div class="col-md-4">.col-md-4</div> </div> </div> HTML
  19. 65 Review the OOCSS BootstrapͷάϦουγεςϜͷίʔυʢҎ߱άϦου ΦϒδΣΫτͱݺͿʣ ɻ ͜Ε΋ίϯςφʹ͋ͨΔɻ <div class="container">

    <div class="row"> <div class="col-md-8">.col-md-8</div> <div class="col-md-4">.col-md-4</div> </div> </div> HTML
  20. 72 Review the OOCSS ͜͜Ͱ͸.gridͱ.grid-cellͱ͍͏Ϋϥε໊ʹ͢Δɻ <div class="grid"> <div class="grid-cell grid-cell--md-6">

    <img src="#" alt=""> </div> <div class="grid-cell grid-cell--md-6"> <h2> ݟग़͠ </h2> <p> ςΩετ </p> </div> </div> HTML
  21. 75 Review the OOCSS <div class="grid"> <div class="grid-cell grid-cell-md-6"> <img

    src="#" alt=""> </div> <div class="grid-cell grid-cell-md-6"> <h2> ݟग़͠ </h2> <p> ςΩετ </p> </div> </div> @media screen and (min-width: 768px) { .u-offset-top-md { /** * line-height ͕ 1.4 ͷ৔߹ : * (1.4 - 1) / 2 = 0.2em */ margin-top: -0.2em; } } HTML CSS
  22. 78 Review the OOCSS <div class="grid"> <div class="grid-cell grid-cell-md-6 u-mb

    u-mb0-md"><!-- ௥Ճ --> <img src="#" alt=""> </div> <div class="grid-cell grid-cell-md-6"> <h2 class="u-offset-top-md"> ݟग़͠ </h2> <p> ςΩετ </p> </div> </div> .u-mb { margin-bottom: 0.5rem; } @media screen and (min-width: 768px) { .u-mb0-md { margin-bottom: 0; } } HTML CSS
  23. 82 Review the OOCSS OOCSSͰ͸ʮߏ଄ͱݟͨ໨ʯ΍ʮίϯςφͱίϯςϯπʯ Ͱ෼཭͢Δɻ ͭ·Γɺ ໾ׂ΍ػೳͰΦϒδΣΫτΛ෼͚ͯɺ ૊Έ߹Θͤͯ࢖͏ͱ͍͏͜ͱɻ ઌ΄Ͳͷྫ΋ɺ.gridͱ͍͏൚༻తͳΦϒδΣΫ

    τͰ͸ͳ͘ɺ ʮը૾ͱςΩετ͕εϚϗͰ͸ॎʹɺλϒϨοτҎ߱Ͱ͸ ԣʹฒͿʯ ͱ͍͏۩ମతͳΦϒδΣΫτͷ .block-gridΛ ࡞ͬͨ΄͏͕มߋ͠΍͍͢ɻ
  24. 84 Review the OOCSS ػೳʹ੍ݶΛ͔͚Δཧ༝ ɾແݶʹ֦ு͍ͯ͘͜͠ͱ͸Ͱ͖ͳ͍ɻ ɾ֦ு͢Δ͝ͱʹෳࡶ͕͞૿͢ͷͰ࣮૷͕೉͘͠ͳΔɻ ʮػೳͷෳࡶ͞ ʷ ػೳͷ਺

    = ޻਺ʯʹ͸ͳΒͳ͍ɻ ɾ੍ݶΛ͔͚ͳ͚Ε͹ɺػೳ͚ͩͰͳ͘޻਺΋͔͔Γଓ͚Δɻ ɾόϦΤʔγϣϯ͕গͳ͍΄͏͕ӡ༻໘Ͱͷෛ୲͕গͳ͍ɻ