:iphone: A super lightweight HTML, Sass, CSS, and JavaScript framework for building responsive websites

Overview

Responsive-BP-logo

Responsive Boilerplate

A powerful, accessible, developer friendly, framework for building responsive websites

Gitter

Responsive Boilerplate is the developers' framework.

Other frameworks are too design opinionated and heavy. They're great for prototyping but every time you start a real, front-facing, project with them you have to overwrite lots of designer styles that do nothing to add to the functionality of the website. That costs developers time and money.

Responsive Boilerplate has been built with that in mind. It is the result of thousands of hours of real, client driven web development and testing; specifically developed to be as lightweight as possible to prevent the need to undo styles set by the framework itself and allow developers to write efficient code and lower costs.

Responsive Boilerplate is tiny. The combined output CSS and JavaScript is only 20.3kb minified and gzipped but there is a lot of functionality built into the framework with touch, right-to-left language, and accessibility support.

Browser support covers all evergreen browsers.

Downloading Responsive Boilerplate

Several options are available for downloading Responsive:

Documentation

Responsives' documentation, included in the gh-pages repo. It is built with Jekyll and publicly hosted on GitHub Pages at http://responsivebp.com. The docs may also be run locally.

  1. If necessary, install Jekyll (requires v2.5.2).
  • If you are running Windows please read this unofficial guide to get Jekyll up and running without problems.
  1. From the root /Responsive directory, run jekyll serve in the command line.

Learn more about using Jekyll by reading its documentation.

Contributing

Contribution is most welcome, that's the whole idea! Together as a community we can build a boilerplate for building responsive sites that will ensure that high standards can be delivered across all devices.

Please adhere to existing JavaScript and Sass styles though when submitting code and ensure that you test thoroughly on multiple devices.

Please take a moment to review the guidelines for contributing.

Building the Sass and JavaScript

The build process for Responsive is powered by Webpack. To build Responsive you will need to first install the required plugins using the following commands from the root /Responsive directory:

  1. npm install to install the necessary build dependencies based on the contents of the package.json file.

If you are adding new functionality to the build process use:

npm install {your_new_build_dependency} --save-dev

There are three types of build available:

  1. npm run build Compiles the framework to the dist folder.
  2. npm run dev For development purposes. Compiles the framework to the dist folder and watches for further changes

Authors

James South @james_m_south and the Responsive contributors.

Community

Follow @responsivebp on Twitter. Discuss Responsive on Gitter.

Copyright and license

Copyright 2013 James Jackson-South under the MIT license.

Comments
  • Attaching modal event handler after initial load

    Attaching modal event handler after initial load

    I've got a modal that is used to show a group of pictures for real estate listings. Works great on the list if it's used after the initial page load. If the user runs another search via ajax the list is replaced by the new results. At that point the modal no longer works and it just opens a new page when the link is clicked on one of the listings. This appears to happen because the new list no longer has the modal event handler attached. How do I get RBP to attach to the links after an ajax call like this?

    opened by jsantari 17
  • v4 Feature List

    v4 Feature List

    This issue serves as a location to discuss the feature and testing matrix for v4 of Responsive. Anything agreed below will be added here.

    CSS/Sass

    • [x] Browser Support. IE9 up.
    • [x] Additional breakpoints. #48
    • [x] Aria based selectors. http://slides.com/heydon/getting-nowhere-with-css-best-practices#/36
    • [x] REMs and EMs for fonts
    • [x] BlockGrid

    JavaScript

    • [x] Unit tests
    • [ ] Nav Widget.

    UMD support? Inherited widgets?

    opened by JimBobSquarePants 14
  • [Question]  Breakpoints

    [Question] Breakpoints

    Hi, Love this framework by the way, great alternative to TwitterBS & Foundation, without the bloat :)

    Just one question, the minimum breakpoint for the grid is set to Up to 48em (768px at 16px/1em) using col-xs-XX for example, is there any chance we could get 1 or 2 more BPs before this for smaller devices?

    For example, for devices smaller than 768px in width i.e smaller tablets or landscape smartphones (iPhone5 for example), I may want to keep a 2 column layout and only go to a single column layout when the device width is 320px, whereas at the moment, it's a single column layout for ALL devices up to 768px.

    Maybe set another BP at Up to 37.5em (600px at 16px/1em) to catch landscape iPhones & vertical small tablets, and again at Up to 30em (480px at 16px/1em) to catch all mobile devices – maybe using classes of col-xxs-XX and col-mob-XX?

    I hope that all makes sense. Just feel that having a few extra options below 768px would be helpful :)

    PS. If i've missed something in the docs that achieves the above, I apologise in advance.

    enhancement question css 
    opened by DanielHitchen 10
  • Publish to npm

    Publish to npm

    https://www.npmjs.com/package/responsive doesn't exist (or is my search fu bad?)

    Would make it easier to use with webpack / sass-loader

    Great project btw :)

    help needed 
    opened by jonespen 8
  • Question: Modal - how to close with jQuery?

    Question: Modal - how to close with jQuery?

    Hi!

    I have one, probably simple question. Unfortunately I can't figure it out ;)

    What is the command to close the modal with jquery (called from a target page)? The action should be pretty much the same as clicking the 'x' symbol.

    And an example :) There are to pages: INDEX.php CONTENT.php

    Index has a link that opens content in a modal.

    How to close the modal

    • without using esc or ‘x’
    • using $(document).ready() and $(object).click() function?

    I'll be really grateful for help!

    question 
    opened by michalduda 8
  • Lazy load carousel images

    Lazy load carousel images

    It would be great if there was a possibility to prevent the browser from loading all carousel images on first pass of the document. This could be done by referencing the url of the image only in "data-src" attribute to prevent the request on the server and delay the loading of images.

    Carousel markup would look like this:

    <div id="carousel-2" class="carousel" data-carousel-mode="fade" data-carousel-interval="5000">
        <!-- Carousel Indicators-->
        <ol>
            <li data-carousel-target="#carousel-2" data-carousel-slide-to="0" class="active"></li>
            <li data-carousel-target="#carousel-2" data-carousel-slide-to="1"></li>
            <li data-carousel-target="#carousel-2" data-carousel-slide-to="2"></li>
        </ol>
        <!-- Carousel Items-->
        <figure class="carousel-active">
            <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-src"../test-assets/img/hydrangeas.jpg" alt="hydrangeas">
            <figcaption>
                <h4>First Thumbnail label</h4>
                <p>Lorem ipsum dolor sit amet, consectetur ...</p>
            </figcaption>
        </figure>
        <figure>
            <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-src"../test-assets/img/chrysanthemum.jpg" alt="chrysanthemum">
            <figcaption>
                <h4>Second Thumbnail label</h4>
                <p>Lorem ipsum dolor sit amet, consectetur ...</p>
            </figcaption>
        </figure>
        <figure>
            <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-src" alt="desert">
            <figcaption>
                <h4>Third Thumbnail label</h4>
                <p>Lorem ipsum dolor sit amet, consectetur ...</p>
            </figcaption>
        </figure>
        <!-- Carousel Controls-->
        <a class="left carousel-control" href="#carousel-2" data-carousel-slide="prev"><</a>
        <a class="right carousel-control" href="#carousel-2" data-carousel-slide="next">></a>
    </div>
    

    This enhancement would make ResponsiveBP carousel superior to other carousel scripts which don't support lazy loading and bloat the page size.

    enhancement js 
    opened by fmal 8
  • Modal race condition

    Modal race condition

    Sometimes if you hide and show modal window. Modal windows stops working until page restart.

    Also if you run code to show modal while modal is shown, the modal window won't disappear.

    opened by zyuhel 7
  • Modal title when loading manually

    Modal title when loading manually

    When loading manually how can I get the modal title to be taken from the link? It doesn't pick up the attribute data-modal-title if I provide it. In my case since the modal is showing photo's for a single property I'd like to display the MLS number and price for example in the title when the modal opens.

    opened by jsantari 7
  • Feature Request: Execution Order of MediaQueries

    Feature Request: Execution Order of MediaQueries

    Have just switched over from a Bootstrap project to a private project I want to use ResponsiveBP in. I'm finding I'm having to write far more HTML with ResponsiveBP because it appears to require a discrete definition of col-xxx-xxx for each size of a section. So to have a column be 10 wide from xxs to up s then switch to 5 wide at m and above, I'm having to write "col-xxs10 col-xs-10 col-s-10 col-m-5 col-l-5" instead of simply "col-xxs10 col-m-5" which I think is more logical (thinking of mobile first) and certainly less bloat code-wise. Not to mention bandwidth and dev time. Could it be implemented or is it too hard/not in keeping with project aims?

    opened by craigs100 5
  • Invalid Markup

    Invalid Markup

    I really like this little boilerplate, it beats the 'cater for everything' approach of the other larger ones, but I spotted this earlier in the lightbox examples:

    <a href="//bbc.co.uk" data-lightbox-title="BBC" 
       data-lightbox-description="<p>sample text or the footer.</p>" 
       data-lightbox-iframe-scroll="true">
        Launch external overlay
    </a>
    

    Unfortunately, this is invalid markup for anyone using xhtml5. It won't validate, and any application that uses XML to produce html5 markup would throw a fatal error with this.

    Would there be any other way to tackle this?

    opened by designermonkey 5
  • html5shiv issue when installing with bower

    html5shiv issue when installing with bower

    Hi everyone, I'm having this issue when installing latest version with bower:

    bower install responsive --save
    bower html5shiv#3.7.1     ENORESTARGET No tag found that was able to satisfy 3.7.1
    
    Additional error details:
    Available versions: 3.7.0, 3.6.2, 3.6.1
    

    Do you guys know how to avoid this dependency issue ?

    bug 
    opened by marlonmantilla 5
  • Bump is-svg and postcss-svgo

    Bump is-svg and postcss-svgo

    Removes is-svg. It's no longer used after updating ancestor dependency postcss-svgo. These dependencies need to be updated together.

    Removes is-svg

    Updates postcss-svgo from 4.0.2 to 4.0.3

    Release notes

    Sourced from postcss-svgo's releases.

    4.0.3

    Bug Fixes

    • postcss-merge-longhand incorrect minification of border (border-*) declarations.
    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump minimatch from 3.0.4 to 3.0.8

    Bump minimatch from 3.0.4 to 3.0.8

    Bumps minimatch from 3.0.4 to 3.0.8.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Dark Mode

    Dark Mode

    Is there a way to setup responsive bp's colors to be an inverted dark mode set of colors easily or would it require major updates to the source and rebuilding the css?

    opened by mcrosson 0
  • modal-group + mobile-target inconsistent in Google Chrome

    modal-group + mobile-target inconsistent in Google Chrome

    In Google Chrome: If I add data-modal-mobile-target="..." to grouped images, with the first call, (on a mobile device) it opens the lightbox. Then pressing the arrow, it shows the mobile target (so just the picture). In Firefox it works as expected ans opens just the image and then one has to go back.

    Also in Chrome I get a warning in the console: [Violation] Added non-passive event listener to a scroll-blocking 'touchstart' event. I think its related, but my javascript knowledge is limited and I was not successful fixing it...

    opened by fotografitti 2
  • No default jsDelivr CDN file set

    No default jsDelivr CDN file set

    This package doesn't have a default file set. You can set it via jsdelivr, browser, or main field in package.json

    Not sure what's involved with this but i guess if you can create a default file set you can have automatic CDN with jsDelivr

    opened by Shazwazza 3
  • Port modal plugin to es6

    Port modal plugin to es6

    The modal plugin will need to be ported to use es6.

    Tasks

    • [ ] Drop jQuery and use DUM.js + fetch API
    • [ ] Rewrite as class
    • [ ] Update accesssibility functionality to match current standards
    • [ ] Update QUnit tests
    enhancement js 
    opened by JimBobSquarePants 0
Releases(4.1.4)
Owner
ResponsiveBP
The official home of the Responsive framework
ResponsiveBP
Grupprojekt för kurserna 'Javascript med Ramverk' och 'Agil Utveckling'

JavaScript-med-Ramverk-Laboration-3 Grupprojektet för kurserna Javascript med Ramverk och Agil Utveckling. Utvecklingsguide För information om hur utv

Svante Jonsson IT-Högskolan 3 May 18, 2022
tb-grid is a super simple and lightweight 12 column responsive grid system utilizing css grid.

tb-grid Lightweight (<1kb gzipped) 12 column grid system, built with css grid. ?? Demos & Playground Have a look at those examples: Main Demo: https:/

Taskbase 26 Dec 28, 2022
Hemsida för personer i Sverige som kan och vill erbjuda boende till människor på flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

null 4 May 3, 2022
Kurs-repo för kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 14 Jan 3, 2023
JavaScript framework for creating beautiful, fast and lightweight websites based on flutter way of coding ☜(゚ヮ゚☜)

Welcome to Flutjs project ?? Flutjs is a javascript framework for creating beautiful, fast and lightweight websites. As the name suggests, Flutejs is

Filipe Lukebana 25 Nov 9, 2022
A web component that allows you to run high level programming languages on your websites (static websites included!)

Code-Runner-Web-Component A web component that allows you to run high level programming languages on your website via the public Piston API Show your

Marketing Pipeline 28 Dec 16, 2022
BookStore websites done with JavaScript-ES6, CSS, HTML

Awesome Books This project allows users to add/remove books from a list. This is done by using JavaScript class. It has the feature to dynamically mod

Mengstu F. 8 Mar 1, 2022
Ajayi Ridwan 7 Oct 21, 2022
Rent-A Movie is a website based on movie renting. The user can leave likes, comments or make reservations for movies they would like to rent. Made using tvMaze API, Involvement API, HTML, SASS and JavaScript

Rent-A Movie "Rent-A Movie" is a website for movie renting where you can make reservations, add comments & likes or just get details about movies that

Zeeshan Haider 19 Aug 23, 2022
Sharerbox - Free, minimalist and lightweight JavaScript-based social-media sharer for websites

Sharerbox Free minimalist and lightweight JavaScript-based social-media sharer for websites. Version: 0.8.1 Description SharerBox is a free, minimalis

Juan Astudillo 3 Aug 22, 2022
🛠 Building a Headless CMS with all the essential features for business representative websites to make 🚀

Isomera - headless CMS for business representative websites SaaS that is hosted on the cloud and built by community. To make developer life easy. ⚠️ A

Cortip 8 Dec 3, 2022
Responsive Portfolio Website Using Html, Css and JavaScript, With a beautiful user interface

Responsive Portfolio Website Alexa Watch it on youtube Responsive Portfolio Website Alexa Responsive Portfolio Website Using Html, Css and JavaScript,

Alex Axel Mucyo 1 Mar 11, 2022
💅 A ready-to-go with a well-thought-out structure Electron app boilerplate with ReactJS, TypeScript, CSS / SASS modules, SWC, Eslint, Prettier, GitHub Action releases and more.

Electron App ??  A ready-to-go with a well-thought-out structure Electron app boilerplate with ReactJS, TypeScript, CSS / SASS modules, SWC, Eslint, P

Dalton Menezes 155 Dec 29, 2022
A library of icons rendered purely in CSS and compiled using SASS.

Welcome to PureIcons.css: This is a library of icons rendered purely in CSS and compiled using SASSs. It is currently at 79 icons. More will be added

William Troup 2 Apr 27, 2021
A lightweight responsive framework for the www

Skel DEPRECATED! Use Responsive Tools instead thx Skel is a lightweight framework for building responsive sites and web apps. Minified production vers

aj 2.2k Nov 16, 2022
iHover is a collection of hover effects using pure CSS, inspired by codrops article, powered by Sass.

Intro iHover is a collection of hover effects using pure CSS, inspired by this codrops article, powered by Sass. Demo: https://gudh.github.io/ihover/d

null 3.5k Jan 4, 2023
🌗 1 line of code to apply auto dark / light theme and support custom theme for your website. Super fast and lightweight theme library.

themes.js A super lightweight and fast Theme library with auto system color scheme detection in JavaScript. Features Auto detect Dark / Light mode by

SerKo 4 Nov 29, 2022
Ctg-exam-2 - Exam Task of HTML , Responsive Page - PSD to HTML - (CTG)

Exam Task of HTML - PSD to HTML - (CTG) This Exam is mainly on PSD TO HTML along

Yasir Monon 1 Feb 16, 2022