Platform Contributor Guide
[Legacy v3] Platform
[Legacy v3] Platform
  • 👋[Legacy v3] Welcome | README
  • Contributing | Getting Involved
    • Specific tasks needed for COVID19-support
    • Add code to Ushahidi
    • Encouraging contribution from non-developers
  • Frequently Asked Questions
  • Join the Ushahidi community
  • Contributors ✨
  • 🛣️ The Ushahidi Platform Roadmap
    • V2-V3+ Migration tool
  • Privacy and security best practices
    • Security as a user
    • Security for deployment admins
    • Security for deployment hosts
  • Development & Code
    • Development: Overview
    • How to get the source code
    • Setup Guides
      • Installing for production environments
      • Development environment with XAMPP
      • Development environment setup with Vagrant
      • [Client] Setting up the Platform Client for development
        • Migration from AngularJS
      • Setting up the Pattern Library for development
      • [API & Client] Bundled release install
    • Add code to Ushahidi
    • Development process
    • Coding Standards
    • Track and submit issues in Github
    • Upgrading Ushahidi
      • Upgrading to latest release
      • Upgrading from V3.x.x to V4.x.x
    • ⚙️ Installation Helper‌
  • Tech Stack
    • API Documentation
    • Third party app development
      • Web hooks
    • Database | Tables overview
    • Database | Database Schema Diagram
    • Database | Table details
    • 📐Architecture
    • Use case internals
  • QA & Testing
    • The QA process
    • How to run QA tests
    • Defect Management
    • How to write QA test scripts
    • Hotfixes
  • Front-end development
    • Changing UI styles: introduction to the pattern library
      • File-structure
      • Installing new packages
      • How to Apply to the Platform
      • Using the changed styles in platform-client
      • Syntax and Formatting
      • Grid, Breakpoints, & Media Queries
      • Variables
      • Mixins
      • Helpers
      • Icons
      • Create a New Component from Scratch
      • Read Direction
  • Design
    • 🎨Design: overview
    • 'Best practice' design
    • Ushahidi Platform 'Sticker Sheet'
    • User testing process
    • User testing script examples
    • Synthesising user testing results examples
      • Synthesis example 1
      • Synthesis example 2
      • Synthesis example 3
      • Synthesis recommendations example 1
      • Synthesis recommendations example 2
    • Open Source Design
  • Documentation
    • Documentation
    • Contributing docs via GitHub
  • Translation
    • Localization and Translation
  • The Ushahidi Platform Facebook bot
    • The Facebook bot
      • Installing the bot
      • The bot script
  • Hackathon and events
    • Installathon, May 2019
      • Welcome to the hackathon!
    • Write/Speak/Code 2019
    • Open Design: Bangalore
    • Open Design: Taipei
    • 📑Google season of docs
    • 💻Google Summer of Code
      • GSoC 2024
  • Enhancement Proposals
    • Exchange Format
    • Importing data from previous versions
Powered by GitBook
On this page
  • Links
  • Breakpoints
  • How to Use
  1. Front-end development
  2. Changing UI styles: introduction to the pattern library

Grid, Breakpoints, & Media Queries

PreviousSyntax and FormattingNextVariables

The Ushahidi Platform grid system is built with by . Neat is a lightweight semantic grid framework for Sass and Bourbon.

Links

The Ushahidi Platform uses a mobile-first design approach, meaning we design with smaller devices as our default, then add components and adjust layouts as needed when the screen size increases. This approach allows the app to function and convey the appropriate information regardless of the user's device. It works on mobile phones and desktop computers alike.

Breakpoints

The breakpoints are defined under Grid within

/*------------------------------------*\
    $GRID
\*------------------------------------*/

$grid-columns: 12;     # The number of columns in the grid
$gutter: 1.6888em;     # The width of margin between columns
$max-width: 1580px;    # The max width of the grid

// Breakpoint Widths
$mobile-min-width: (30em) !default; // 480px
$mobile-up-min-width: (30.063em) !default; // 481px
$small-min-width: (48em) !default; // 768px
$medium-min-width: (64em) !default; // 1024px
$large-min-width: (80em) !default; // 1280px
$xlarge-min-width: (90em) !default; // 1440px
$xxlarge-min-width: (120em) !default; // 1920px
$tall-min-height: (650px) !default; // for vertical breakpoints
$xtall-min-height: (850px) !default; // for vertical breakpoints -- taller

// Defined Breakpoints
// thoughtbot.github.io/neat-docs/latest/#new-breakpoint
$mobile: new-breakpoint(min-width $mobile-min-width);
$mobile-up: new-breakpoint(min-width $mobile-up-min-width);
$small: new-breakpoint(min-width $small-min-width);
$medium: new-breakpoint(min-width $medium-min-width);
$large: new-breakpoint(min-width $large-min-width);
$xlarge: new-breakpoint(min-width $xlarge-min-width);
$xxlarge: new-breakpoint(min-width $xxlarge-min-width);
$tall: new-breakpoint(min-width $small-min-width min-height $tall-min-height);
$xtall: new-breakpoint(min-height $xtall-min-height);

How to Use

You can call a breakpoint with this @include syntax.

.class {
    // default mobile first styles

    @include media($small) {
        // $small styles - 768px and up
    }

    @include media($medium) {
        // $medium styles - 1024px and up
    }

    etc... {

    }

}
Neat
Thoughtbot
Neat Examples
Neat Docs
_settings.scss