A css module compatible version of bootstrap. You will need to use react-css-modules to make use of the class names as bootstrap classes are not camelCase.
It would be possible to make a version compatible to just css modules in the future.
npm install bootstrap-css --save-dev
Simply import your bootstrap css modules
import { alerts, buttons, jumbotron } from 'bootstrap-css'
Then use it for styling your elements.
<div styleName='jumbotron'>
<h1>Hello, world!</h1>
<a styleName='btn btn-primary btn-lg'>Learn more</a>
<div styleName='alert alert-info'>...</div>
</div>
Check out the full working example here
import React from 'react'
import CSSModules from 'react-css-modules'
import { jumbotron } from 'bootstrap-css'
let styles = {}
Object.assign(styles, jumbotron)
class Test extends React.Component {
render () {
return (
<div styleName='jumbotron'>
<h1>Hello, world!</h1>
</div>
);
}
}
export default CSSModules(Test, styles);
npm install
npm run build
The less modules from bootstrap have each been installed from bootstrap and compiled to plain css versions, so will need no preprocessing or autoprefixing.
The following modules are available to be imported and used, just as in the bootstrap docs: css & components
Note: glyphicons are currently not implemented, this is a bit tricky to do with css modules. An idea could be to use svg loader to load the fonts, any help on this appreciated, however currently these should be loaded as a seperate glyphicon.css module, most likely global, pointing to your font paths.
- normalize
- scaffolding
- type
- code
- grid
- tables
- forms
- buttons
- componentAnimations
- dropdowns
- buttonGroups
- inputGroups
- navs
- navbar
- breadcrumbs
- pagination
- pager
- labels
- badges
- jumbotron
- thumbnails
- alerts
- progressBars
- media
- listGroup
- panels
- responsiveEmbed
- wells
- close
- modals
- tooltip
- popovers
- carousel
- utilities
- responsiveUtilities