CurtisBelt
11/22/2016 - 5:35 PM

Responsive Font Mixin

Responsive Font Mixin

$viewport-desktop-size: 1366;
$viewport-mobile-size: 320;

// Given a range of font sizes ( $mobile-font-size and $desktop-font-size ), apply break points evenly from mobile to desktop widths
@mixin responsive-font( $mobile-font-size, $desktop-font-size, $line-height-buffer: 2 ) {
	$number-of-breakpoints-required: $desktop-font-size - $mobile-font-size;
	$maximum-viewport-range: $viewport-desktop-width - $viewport-mobile-width;
	$breakpoint-multiplier: $maximum-viewport-range / $number-of-breakpoints-required;
	font-size: #{$mobile-font-size}px;
	line-height: #{$mobile-font-size + $line-height-buffer}px;
	@for $iteration from 1 through $number-of-breakpoints-required {
		@media ( min-width: #{$viewport-mobile-width + ( $breakpoint-multiplier * $iteration )}px ) {
			font-size: #{$mobile-font-size + $iteration}px;
			line-height: #{$mobile-font-size + $iteration + $line-height-buffer}px;
		}
	}
}