
What's wrong with building 5 different apps?
Don't try to make your app something it's not
Bureaucracy is bad
Not matter what the device

You don't need to show it all at once

De-prioritise some content blocks





Structuring projects to scale
Meaningful media queries
@media screen and (min-width: 780px) and (max-width: 1049px)
???
@include mq(from: $fablet, to: $tablet)
tablet: (min-width: 780px) and (max-width: 1049px),
tablet-up: (min-width: 780px)
tablet-down: (max-width: 1049px)
@include on(mobile) {
.selector {
@extend .another-selector
}
}
Warning! You may only @extend selectors within the same directive.
%placeholder {}
@include on(mobile) {
%placeholder-on-mobile {}
}
@include on(mobile) {
.selector {
@extend %placeholder-on-mobile
}
}
.selector { padding: 12px; } @include on(tablet-up) { .selector { padding: 18px; } } @include on(desktop-up) { .selector {padding: 24px; } }
@include on(mobile) {
.selector {
padding: 18px;
}
}
@include on(tablet) {
.selector {
padding: 18px;
}
}
@include on(desktop) {
.selector {
padding: 24px;
}
}// base style.selector { color: green; }@include on(mobile-tablet) { .selector { padding: 18px; } } @include on(desktop-up) { .selector { padding: 18px; } }
Don't overwrite rules
Don't repeat rules
.thing-to-transform {
transform: function(value) function2(value);
}
Developing responsive interaction
$('.handle').on('click', function() {
$('.thing').addClass('is-active');
});.thing {
display: none;
}
.thing.is-active {
display: block;
}.thing {
transform: translateX(-100%);
transition: transform 0.3s;
}
.thing.is-active {
transform: translateX(0);
}Create a responsive interaction