Book Image

Creating Interfaces with Bulma

By : Jeremy Thomas, Oleksii Potiekhin, Mikko Lauhakari, Aslam Shah, Dave Berning
Book Image

Creating Interfaces with Bulma

By: Jeremy Thomas, Oleksii Potiekhin, Mikko Lauhakari, Aslam Shah, Dave Berning

Overview of this book

Bulma is a lightweight configurable CSS framework that handles all the hard work of Flexbox for you. Bulma makes creating web interfaces an easy and interesting job. This book begins with an overview of the basics of Bulma ? its terms and its concepts. Then, while designing a login page for your application, you’ll learn how to use the various tools provided by Bulma to create HTML forms and control their layout and flow. In the later chapters, you’ll design an admin area for your application, thus learning to use Bulma’s navigation and menu components. You will also add the components to your user interface for common things such as boxes, lists, and media groups, and then create pagination. As you progress through the book, you’ll create and layout some other components for your interface, including tables, design dropdown lists, and finally to integrate your web application with JavaScript. By the end of this book, you’ll be able to use the features of Bulma to your advantage and build web interfaces quickly and easily.
Table of Contents (15 chapters)
8
8. Creating more tables and selecting dropdowns

Responsiveness with Bulma mixins

The last design fixes required are harder to spot, because they only occur before or after certain breakpoints.

Since Bulma is fully responsive, some of its components are styled according to the viewport size.

Media

The media items in dashboard.html combine four elements side by side:

  • 2 media-left
  • 1 media-content
  • 1 media-right

This makes the components squashed on mobile screens.

Instead, layout the four elements vertically:

@include mobile() {
  .media {
    flex-direction: column;
  }

  .media-left {
    margin: 0 0 0.5rem;
  }
}

The mobile() mixin comes from Bulma itself. It uses the $mobile variable breakpoint defined in initial-variables.sass. As a result, using this mixin instead of writing your own media query ensures that the responsiveness you write here is synchronized with Bulma’s own responsive behavior.

The last task is to fix the navbar dropdown on desktop screens:

@include desktop() {
  .navbar-dropdown .navbar-item {
 ...