preston so february 2 2013 preston so prestonso is
play

Preston So February 2, 2013 Preston So (@prestonso) is Prototype - PowerPoint PPT Presentation

DrupalCamp NJ 2013 Preston So February 2, 2013 Preston So (@prestonso) is Prototype Developer at Acquia, co-maintainer of the Spark distribution and co-founder of the Southern Colorado Drupal Group. www.prestonsodesign.com


  1. DrupalCamp NJ 2013 Preston So February 2, 2013

  2. ¡ Preston So (@prestonso) is Prototype Developer at Acquia, co-maintainer of the Spark distribution and co-founder of the Southern Colorado Drupal Group. www.prestonsodesign.com drupal.org/user/325491 pso@college.harvard.edu preston.so@acquia.com

  3. 1 ¡ Where is CSS now? 2 ¡ CSS 3 properties and compatibility 3 ¡ Vendor pre fi xes 4 Responsive design and other media 5 ¡ Going out in style

  4. 1 ¡ A brief retrospective A history of browser support CSS in recent times

  5. ¡ Structure versus presentation.

  6. 1996 1996 ¡ The W3C releases the CSS 1 speci fi cation. ¡ Internet Explorer 3 o ff ers limited support.

  7. 1998 1998 ¡ CSS 2 becomes a W3C Recommendation.

  8. 2000 2000 ¡ IE 5 for Mac o ff ers better than 99% support.

  9. Box model IE6 hacks guillotine

  10. ¡ Font ¡ Color ¡ Alignment ¡ Text ¡ Box model ¡ ids and classes

  11. ¡ Font ¡ Absolute ¡ Color ¡ Relative ¡ Alignment ¡ Fixed ¡ Text ¡ z-index ¡ Box model ¡ Media ¡ ids and classes ¡ Bidirectional

  12. ¡ Absolute ¡ Relative ¡ Fixed ¡ z-index ¡ Media ¡ Bidirectional

  13. ¡ Absolute ¡ Media queries ¡ Relative ¡ Border styles ¡ Fixed ¡ Opacity ¡ z-index ¡ Shadows ¡ Media ¡ Background styles ¡ Bidirectional ¡ Content

  14. 2 ¡ CSS 3 properties Browser compatibility

  15. 9 10.5 ¡ Image-free rounded corners. p { 5 border: 1px solid #999; border-radius: 10px; } 5 4

  16. 9 10.5 ¡ No border is necessary. p { 5 background-color: #666; border-radius: 10px; } 5 4

  17. 9 10.5 ¡ No shorthand yet. p { 5 background-color: #666; border-radius: 10px; border-bottom-left- >> radius: 0; 5 border-bottom-right- >> radius: 0; } 4

  18. 9 10.5 ¡ And a little bit of chaos. -webkit-border-bottom- 5 >> left-radius: 5px; -moz-border-radius- >> bottomleft: 5px; border-bottom-left- 5 >> radius: 5px; 4

  19. 9 10.5 ¡ Photoshop-like drop shadow. p { 5 background-color: #666; box-shadow: 10px 10px 5px >> #ccc; } 10 /* horiz vert spread color */ 4

  20. 9 10.5 ¡ Inner shadow. p { 5 background-color: #666; box-shadow: 10px 10px 5px >> #ccc inset; } 10 4

  21. 9 10.5 ¡ Negative values permissible. p { 5 background-color: #666; box-shadow: -5px -5px 5px >> #ccc; } 10 4

  22. 9 10.5 ¡ One edge, negative spread. p { 5 background-color: #666; box-shadow: 0 10px 5px >> -5px #ccc; } 10 4

  23. none 10 ¡ Horizontal precedes vertical. p { 4 color: #666; text-shadow: 2px 2px >> #ccc; } 4 3

  24. 9 10 ¡ In IE 8-, this was fi lter. p { 4 background-color: #666; opacity: 0.5; } 4 2

  25. 9 10 ¡ 0 is transparent, 1 is opaque. p { 4 background-color: #666; opacity: 1; } 4 2

  26. -9 -10.5 ¡ This syntax still lacks support. p { -5 background-color: #666; transform: rotate(5deg); } -5 -3.6

  27. -9 -10.5 ¡ Vendor pre fi xes are required. p { -5 background-color: #666; -ms-transform: >> rotate(5deg); -moz-transform: -5 >> rotate(5deg); } -3.6

  28. -9 -10.5 ¡ Vendor pre fi xes are required. p { -5 background-color: #666; -webkit-transform: >> rotate(5deg); -o-transform: -5 >> rotate(5deg); } -3.6

  29. -9 -10.5 ¡ matrix(n, n, n, n, n, n) ¡ translate(x, y) -5 translateX, translateY, translateZ ¡ scale(x, y) -5 scaleX, scaleY, scaleZ -3.6

  30. -9 -10.5 ¡ rotate(angle) rotateX, rotateY, rotateZ -5 ¡ skew(angleX, angleY) skewX, skewY -5 -3.6

  31. -9 -10.5 ¡ Webkit has 3-d transforms. p { -5 background-color: #666; -webkit-transform: >> translate3d(5deg, 6deg, >> 10deg); -5 } -3.6

  32. none -10.5 ¡ Vendor pre fi xes required. p { -5 color: #666; -moz-transition: color >> 2s; } -5 p:hover { color: #369; } -4

  33. 9 10.5 ¡ You can use longhand. p { 3.1 color: #666; background-image: >> url(foreground.png), >> url(background.png); 4 background-repeat: >> no-repeat, repeat-x; } 3.6

  34. 9 10.5 ¡ Shorthand is also permitted. p { 3.1 color: #666; background: >> url(foreground.png) >> no-repeat, 4 >> url(background.png), >> repeat-x; } 3.6

  35. 9 10.5 ¡ Shorthand is also permitted. p { 3.1 color: #666; background: >> url(foreground.png) >> no-repeat, 4 >> url(background.png), >> repeat-x; } 3.6

  36. 9 10.5 ¡ Where is the image painted? ¡ We can de fi ne where in the box model the image ends. -5 p { color: #666; background-clip: 10 >> content-box; } 4

  37. 9 10.5 ¡ Position relative to box model. p { 5 color: #666; background-position: >> 15px 20px; background-origin: 4 >> content-box; } 4

  38. 9 10.5 ¡ A background image’s size. p { 5 color: #666; background-position: >> 15px 20px; background-size: 4 >> 160px 180px; } 4

  39. 9 10.5 ¡ Cover: smallest area that fi ts. p { 5 color: #666; background-position: >> 15px 20px; background-size: 4 >> cover; } 4

  40. 9 10.5 ¡ Contain: largest area that fi ts. p { 5 color: #666; background-position: >> 15px 20px; background-size: 4 >> contain; } 4

  41. 3 ¡ Where are they from? What can they do? Where are they headed?

  42. ¡ The browser wars led to a great deal of nonstandard markup, such as IE’s fi lter property. ¡ Vendor pre fi xes were originally intended as a way for browsers to test emerging properties.

  43. ¡ Vendor pre fi xes look kind of ugly. p { -moz-border-radius: 5px; -o-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; }

  44. ¡ Aaron Gustafson: Like the box model hack. #elem { width: [IE width]; voice-family: "\"}\""; voice-family: inherit; width: [Other browser width]; } html>body #elem { width: [Other browser width]; }

  45. ¡ Aaron Gustafson: Like the box model hack. p { padding: 10px; width: 200px; w\idth: 180px; height: 200px; heigh\t: 180px; }

  46. ¡ Vendor pre fi xes mark a property as “in progress,” or still under development. ¡ If standards change, browsers can adapt. ¡ According to Meyer, they add “sorely needed fl exibility” to the progress of CSS. ¡ They are progressive rather than regressive.

  47. ¡ Vendor pre fi xes are not part of the standard and can increase fi le size substantially. ¡ If standards change, browsers can fall back onto the pre fi x instead of advancing. ¡ Vendors can now keep and maintain proprietary markup outside of standards.

  48. ¡ In February 2009, the CSS Working Group reported that vendors were considering implementing the –webkit pre fi x, because other pre fi xes are much less prevalent. ¡ This is a move that could set a dangerous precedent; Firefox and Opera would display elements with –webkit just as they would their own pre fi xes.

  49. ¡ For now, vendor pre fi xes are here to stay; they are simply too prevalent nowadays. ¡ Eric Meyer suggests that browsers adopt other pre fi xes only when they adopt the standard. ¡ Aaron Gustafson argues that use of vendor pre fi xes is fraught with risk and we’re all responsible for avoiding their use.

  50. 4 ¡ CSS and other media Responsive layout The box-sizing property

  51. ¡ @media has been around since CSS 2. @media print { p { font-size: 1.5em; } }

  52. ¡ @media supports many other media. @media aural { p { voice-family: female; } }

  53. ¡ all ¡ aural ¡ braille ¡ embossed ¡ handheld ¡ print ¡ projection ¡ screen ¡ tty ¡ tv

  54. ¡ As you can see, the fundamentals of responsive behavior are nothing new. ¡ CSS 3 introduces media queries , which allow you to denote styles for speci fi c viewport conditions, including orientation, device size, resolution, aspect ratio, and presence of color. www.w3.org/TR/css3-mediaqueries

  55. ¡ We can now de fi ne responsive behavior. @media screen and (min-width: 20em) { #content { width: 50%; float; left; } }

  56. ¡ Netscape 3 and IE 3 had di ff erent interpretations of the box model. ¡ Netscape followed W3C speci fi cations, while IE steadfastly held the “logical” interpretation. This “almost killed CSS” (Eric Meyer).

  57. 8 none ¡ No more box model pain. p { -5 color: #666; box-sizing: >> border-box; /* IE */ box-sizing: 9 >> content-box: /* W3C */ } -4

  58. ¡ box-sizing makes gutters and padding easier. @media screen and (min-width: 20em) { #content { box-sizing: content-box; /* W3C */ width: 37%; padding: 1.5%; } }

  59. ¡ box-sizing makes gutters and padding easier. @media screen and (min-width: 20em) { #content { box-sizing: border-box; width: 40%; padding: 5%; } }

  60. ajaxian.com/archives/fun-with-3d-css-and-video

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend