
Security News
Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Baseguide is a lightweight and robust CSS framework for prototyping and production code. It combines all essential components in a customizable and easy to use package.
Install with npm
npm install baseguide
Clone with git
git clone https://github.com/slavanga/baseguide
Download
Default variables can be changed before importing Baseguide. Take a look at the _settings.scss file to get an overview of all variables.
$button-bg: #bada55; // 1. Customize default variables
@import 'baseguide'; // 2. Import Baseguide
// 3. Add your own styles here
The included gulpfile takes care of compiling, optimizing and minifying your assets. Running the following command will install all dependencies and start a local server using browsersync.
npm install && gulp
The grid framework is based on the Bootstrap grid system.
Breakpoints can easily be configured using the $mq-breakpoints
map. Note that the breakpoints have to be sorted from small to large.
The default configuration looks like this:
$mq-breakpoints: (
xs: 480px,
sm: 768px,
md: 992px,
lg: 1200px
);
Baseguide generates all the necessary grid and responsive visibility classes based on these breakpoints.
Media Queries are handled by Sass MQ.
// include the media query mixin and pass the breakpoint key
@include mq(md) {
}
The snippet above compiles to the following CSS:
@media (min-width: 62em) {
}
Check out the Sass MQ documentation for more details and advanced usage of media queries.
To support browsers without native media query support you could use respond.js.
A static solution without Javascript is possible by setting $mq-responsive
to false
. The code below generates an additional stylesheet where only styles in large (lg) media queries are included.
// oldie.scss
$mq-responsive: false;
$mq-static-breakpoint: lg;
@import 'main';
Include the generated CSS file after the rest of your styles to serve a fixed width layout to legacy browsers.
<!--[if lt IE 9]><link rel="stylesheet" href="css/oldie.css"><![endif]-->
The gutters are controlled by the $grid-gutter
variable. It can either be a global value across all breakpoints or a map with gutter values per breakpoint.
// set gutter for all breakpoints
$grid-gutter: 60px;
// start with 20px gutter and increase to 40px from the md breakpoint
// note: breakpoints can be skipped to keep the last defined value
$grid-gutter: (
xs: 20px,
md: 40px
);
Accessing gutter values is easy using the get-gutter
function. The smallest gutter gets returned by default.
.col {
margin-bottom: get-gutter();
@include mq(md) {
margin-bottom: get-gutter(md);
}
}
The grid mixins can be used to create custom containers, rows and columns.
// $gutter: gutter width in pixels or map with gutters, defaults to $grid-gutter
// $size: an integer, the number of columns
// $columns: an integer, the total number of columns, defaults to $grid-columns
// $width: container width in pixels, defaults to $grid-container
@include container($gutter, $width);
@include row($gutter);
@include column-base($gutter);
@include column($size, $columns);
@include column-push($size, $columns);
@include column-pull($size, $columns);
@include column-offset($size, $columns);
@include column-block($columns);
Tip: You can turn off the default columns output by setting $grid-columns-output
to false
.
@include mq(sm) {
.col-content {
@include column(8);
}
.col-sidebar {
@include column(4);
}
}
<div class="container">
<div class="row">
<article class="col col-content">Main Content</article>
<aside class="col col-sidebar">Sidebar</aside>
</div>
</div>
.col-gallery {
@include column-base;
@include column-block(3);
@include mq(md) {
@include column-block(6);
}
}
<div class="container">
<div class="row">
<div class="col-gallery">Gallery item</div>
<div class="col-gallery">Gallery item</div>
<div class="col-gallery">Gallery item</div>
<div class="col-gallery">Gallery item</div>
<div class="col-gallery">Gallery item</div>
<div class="col-gallery">Gallery item</div>
</div>
</div>
The flexbox grid can be activated by setting $grid-flexbox
to true
. This is no kill switch for older browsers as the floats are kept in place for a basic fallback. Browsers that support flexbox and flex-wrap (Support table) will get these benefits:
All form controls listed in $input-selector
get styled by default. The variable can be changed to a custom selector like .form-control
. This will allow you to selectively style form controls based on that selector.
Remember to reset the height of textareas if you choose a custom selector:
textarea.form-control {
height: auto;
}
The custom forms component was designed with progressive enhancement in mind. While the controls are functional in all browsers the following ones get the fully enhanced experience:
You can set the variable $use-custom-forms
to false
to disable custom form styles in all browsers.
In iOS versions prior to 5.1.1 the code below is required to make custom radio buttons and checkboxes work.
if (document.addEventListener) {
document.addEventListener('click', function() {}, false);
}
FAQs
Lightweight and robust CSS framework for prototyping and production code.
The npm package baseguide receives a total of 203 weekly downloads. As such, baseguide popularity was classified as not popular.
We found that baseguide demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Security News
React's CRA deprecation announcement sparked community criticism over framework recommendations, leading to quick updates acknowledging build tools like Vite as valid alternatives.
Security News
Ransomware payment rates hit an all-time low in 2024 as law enforcement crackdowns, stronger defenses, and shifting policies make attacks riskier and less profitable.