Guest User

Untitled

a guest
Apr 20th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.07 KB | None | 0 0
  1. // max-screen-size = max-font-size / ( viewport-units-font-size / 100 )
  2. // min-screen-size = min-font-size / ( viewport-units-font-size / 100 )
  3.  
  4. // 16 = min font size
  5. // 24 = max font size
  6. // 400 = min screen size
  7. // 800 = max screen size
  8. // calc(16px + (24 - 16)*(100vw - 400px)/(800-400) );
  9.  
  10. @function calc-screen-size($fontSize, $viewportUnits) {
  11. @return $fontSize / ( $viewportUnits / 100 );
  12. }
  13.  
  14. /*
  15. * Parameters
  16. * (min-font-size, max-font-size, viewport-units)
  17. */
  18. @mixin min-max-fontsize-vw($min-font-size, $max-font-size, $viewport-units-font-size) {
  19. font-size: #{$min-font-size}px;
  20.  
  21. @media (min-width: #{calc-screen-size($min-font-size, $viewport-units-font-size)}px) {
  22. font-size: calc(#{$min-font-size}px + (#{$max-font-size} - #{$min-font-size})*(100vw - #{calc-screen-size($min-font-size, $viewport-units-font-size)}px)/(#{calc-screen-size(#{$max-font-size}, $viewport-units-font-size)} - #{calc-screen-size($min-font-size, $viewport-units-font-size)}) );
  23. }
  24.  
  25. @media (min-width: #{calc-screen-size($max-font-size, $viewport-units-font-size)}px) {
  26. font-size: #{$max-font-size}px;
  27. }
  28. }
  29.  
  30. /*
  31. * Parameters
  32. * (min-line-height, max-line-height, viewport-units)
  33. */
  34. @mixin min-max-lineheight-vw($min-line-height, $max-line-height, $viewport-units-line-height) {
  35. line-height: #{$min-line-height}px;
  36.  
  37. @media (min-width: #{calc-screen-size($min-line-height, $viewport-units-line-height)}px) {
  38. line-height: calc(#{$min-line-height}px + (#{$max-line-height} - #{$min-line-height})*(100vw - #{calc-screen-size($min-line-height, $viewport-units-line-height)}px)/(#{calc-screen-size(#{$max-line-height}, $viewport-units-line-height)} - #{calc-screen-size($min-line-height, $viewport-units-line-height)}) );
  39. }
  40.  
  41. @media (min-width: #{calc-screen-size($max-line-height, $viewport-units-line-height)}px) {
  42. line-height: #{$max-line-height}px;
  43. }
  44. }
  45.  
  46. // USAGE:
  47.  
  48. /*
  49. * Parameters
  50. * (min-font-size, max-font-size, viewport-units)
  51. */
  52. @include min-max-fontsize-vw(64, 245, 14);
  53.  
  54. /*
  55. * Parameters
  56. * (min-line-height, max-line-height, viewport-units)
  57. */
  58. @include min-max-lineheight-vw(60, 225, 13);
Add Comment
Please, Sign In to add comment