Each component is a pure render function, ready to be hooked into any application.
Quickly build out UI and stay focused on the design decisions that matter most. Wireframe, prototype, then ship to production.
Basscss is designed for component-based architecture and doesn’t add the bulky overhead found in other frameworks.
Powerful CSS utilities offer the ability to extend and create custom UI without the need to manage component-specific styles.
npm i rebass
In a CSS file using cssnext
@import 'rebass';
Or using cssnext-loader with webpack
import css from 'rebass/rebass.css'
import { Button } from 'rebass'
<Button>Button</Button>
Sets max-width, left and right padding, and centers elements
<Container>
Hamburgers
</Container>
Clearfix and negative-margin gutter compensation
<Row>
<Col sm={6}>
Col 6
</Col>
<Col sm={6}>
Col 6
</Col>
</Row>
Responsive grid column with gutters
<Row>
<Col
sm={6}
md={4}
lg={3}>
Col sm6 md4 lg3
</Col>
<Col
sm={6}
md={4}
lg={3}>
Col sm6 md4 lg3
</Col>
<Col
sm={6}
md={4}
lg={3}>
Col sm6 md4 lg3
</Col>
<Col
sm={6}
md={4}
lg={3}>
Col sm6 md4 lg3
</Col>
<Col
sm={6}
md={4}
lg={3}>
Col sm6 md4 lg3
</Col>
<Col
sm={6}
md={4}
lg={3}>
Col sm6 md4 lg3
</Col>
</Row>
Media object with vertical alignment options
<Media image={ReactElement}>
Hamburger
</Media>
<Media
middle={true}
image={ReactElement}>
Hamburger
</Media>
<Media
bottom={true}
image={ReactElement}>
Hamburger
</Media>
Container set to display flex with gutters
<FlexRow>
<Flex>
Hamburger
</Flex>
<Flex>
Hamburger
</Flex>
</FlexRow>
<FlexRow
wrap={true}
pad={false}>
<div>
Hamburger
</div>
<div>
Hamburger
</div>
</FlexRow>
Flexbox item container with default padding
<FlexRow>
<Flex auto={true}>
Hamburger
</Flex>
<Flex pad={false}>
Hamburger
</Flex>
<Flex noshrink={true}>
Hamburger
</Flex>
</FlexRow>
Heading and description for main page headers with border bottom. Child elements are displayed to the right.
Fries, onion rings, and shakes
<PageHeader
title="Hamburger"
description="Fries, onion rings, and shakes">
<div>
Medium Rare
</div>
</PageHeader>
Footer with border top
<Footer>
<div>
Hamburger
</div>
</Footer>
Section element with vertical padding
<Section>
Hamburger
</Section>
Header for sections with id linked heading. Child elements display to the right
Section inception
<Section>
<SectionHeader title="Hamburger">
Medium rare
</SectionHeader>
<p>
Section inception
</p>
</Section>
Solid and outline button styled links
<LinkBtn href="#Link">
Hamburger
</LinkBtn>
<LinkBtn
href="#Link"
color="red">
Hamburger
</LinkBtn>
<LinkBtn
href="#Link"
outline={true}>
Hamburger
</LinkBtn>
<LinkBtn
href="#Link"
outline={true}
color="blue">
Hamburger
</LinkBtn>
Solid and outline buttons with color prop
<Button>
Hamburger
</Button>
<Button>
Hamburger
</Button>
<Button>
Hamburger
</Button>
<Button>
Hamburger
</Button>
Wrapper for form label and input elements
<Input
label="Hamburger"
name="demo-input"/>
Wrapper for form label and select elements
<Select
label="Hamburger"
name="demo-select"
options={[{"value":1,"label":"One"},{"value":2,"label":"Two"},{"value":3,"label":"Three"}]}/>
Wrapper for form label and textarea elements
<Textarea
label="Hamburger"
name="demo-textarea"
rows={4}/>
Wrapper for form label and radio input elements
<Radio
label="Hamburger 1"
value="1"
name="demo-radio"/>
<div>
<Radio
label="Hamburger 2"
value="2"
name="demo-radio"/>
<Radio
label="Hamburger 3"
value="3"
name="demo-radio"/>
</div>
Wrapper for form label and checkbox input elements
<Checkbox
label="Hamburger"
value="checked"
name="demo-checkbox"/>
Wrapper for form label and range input elements
<Range
label="Hamburger"
name="demo-range"/>
Wrapper for fieldset and legend elements
<Fieldset legend="Hamburger">
<Input
label="Fries"
name="demo-fries"/>
<Input
label="Pickles"
name="demo-pickles"/>
<Select
label="Temperature"
name="demo-temperature"
options={[{"value":1,"label":"Rare"},{"value":2,"label":"Medium Rare"},{"value":3,"label":"Medium"},{"value":4,"label":"Medium Well"},{"value":5,"label":"Well Done"}]}/>
</Fieldset>
Styled progress element
<Progress
value={32}
max={100}/>
<Progress
value={96}
max={100}
color="red"/>
Styled box with flexbox layout, padding, and reversed text on a color background
<Toolbar>
<Flex>
Hamburger
</Flex>
<NavItem href="#Toolbar">
Hot Dog
</NavItem>
<NavItem href="#Toolbar">
Fries
</NavItem>
<Flex auto={true}/>
<Button>
Shake
</Button>
</Toolbar>
Inline block padded link
<NavItem href="#NavItem">
Hamburger
</NavItem>
<NavItem
href="#NavItem"
flush={true}>
Hamburger
</NavItem>
Styled box with white background and rounded borders
<Menu>
<MenuItem
href="#Menu"
label="Hambuger"/>
<MenuItem
href="#Menu"
label="Hot Dog"/>
<MenuItem
href="#Menu"
label="Onion Rings"/>
</Menu>
Block-level padded link
<MenuItem href="#MenuItem">
Hamburger
</MenuItem>
<MenuItem
href="#MenuItem"
flush={true}>
Hamburger
</MenuItem>
<MenuItem
href="#MenuItem"
compact={true}>
Hamburger
</MenuItem>
<MenuItem
href="#MenuItem"
compact={true}
flush={true}>
Hamburger
</MenuItem>
Styled box with padding and background color for application flash messages
<Message>
Sumbitted hamburger request
</Message>
<Message color="green">
Hamburger successfully acquired
</Message>
<Message color="red">
Warning! Pickles missing from hamburger
</Message>
<Message
color="red"
outline={true}>
Warning! Onion has been carmelized
</Message>
Styled inline-block element for displaying states
<Badge>
Hamburger
</Badge>
<Badge color="green">
Hamburger
</Badge>
<Badge color="red">
Hamburger
</Badge>
Up and down arrow for use with clickable UI elements
<Arrow/>
<Arrow up={true}/>
<Button>
Hamburger
<Arrow/>
</Button>
Styled box with header and footer components
<Panel>
<PanelHeader title="PanelHeader"/>
<PanelBody>
<Input
label="Hamburger"
name="demo-username"/>
<Input
label="Hot Dog"
name="demo-password"/>
<Button>
Shake
</Button>
</PanelBody>
<PanelFooter text="PanelFooter"/>
</Panel>
Styled box with image at the top
<Row>
<Col
sm={6}
md={4}>
<Card image={ReactElement}>
<Media
middle={true}
image={ReactElement}>
<h3 className="h4 m0">
Nested Hamburger
</h3>
</Media>
</Card>
</Col>
</Row>
Hero banner styled box with background image props
<Banner>
<h1 className="m0">
Hamburger
</h1>
</Banner>
<Banner
header="BannerHeader"
footer="BannerFooter"
bgImage="url(https://d262ilb51hltx0.cloudfront.net/max/2000/1*DZwdGMaeu-rvTroJYui6Uw.jpeg)">
<h1 className="m0">
Hamburger with Background Image
</h1>
</Banner>
<Banner
left={true}
bgImage="url(https://d262ilb51hltx0.cloudfront.net/max/2000/1*DZwdGMaeu-rvTroJYui6Uw.jpeg)">
<h1 className="m0">
Left Aligned Hamburger
</h1>
</Banner>
npm i rebass