# Building a Modern Social Media Platform with Bulma CSS This guide will walk you through the process of transforming a basic HTML structure ([starter_index.html](file:///Users/home/YandexDisk/TECHNOLYCEUM/ict/Year/2025/g11/G11M3-Web Development Frameworks/3.4 Sub-Project: CMS Website/g11-m3/bulma_version/starter_index.html)) into a fully styled modern social media platform ([index.html](file:///Users/home/YandexDisk/TECHNOLYCEUM/ict/Year/2025/g11/G11M3-Web Development Frameworks/3.4 Sub-Project: CMS Website/g11-m3/bulma_version/index.html)) using the Bulma CSS framework. ## What is Bulma? Bulma is a free, open-source CSS framework based on Flexbox. It provides ready-to-use frontend components for building modern, responsive websites. Unlike some other CSS frameworks, Bulma is **pure CSS** and does **not require JavaScript** to function, making it lightweight and easy to implement. ### Key Features of Bulma: - **Responsive**: Works on mobile, tablet, and desktop - **Flexbox-based**: Uses modern CSS technology for layout - **Pure CSS**: No JavaScript dependency - **Modular**: Pick and choose only the components you need - **Modern**: Clean, minimalist design by default ## Prerequisites - Basic understanding of HTML - A text editor (like VS Code, Sublime Text, etc.) - A modern web browser for testing ## Setting Up Your Project Files Before adding Bulma classes to your HTML, you need to properly set up your project structure and CSS files. ### Step 1: Create the Proper Folder Structure Create the following folder structure in your project: ``` your-project-folder/ ├── assets/ │ └── css/ │ ├── bulma.min.css # Bulma framework CSS │ └── style.css # Your custom CSS ├── index.html # Your main HTML file ├── starter_index.html # Your starter HTML template └── assets/ └── image/ └── logo.png # Your logo image ``` ### Step 2: Obtain Bulma CSS Files You have two options to get the Bulma CSS file: #### Option A: Download and Place Locally (Recommended for Beginners) 1. Go to the official Bulma website: https://bulma.io/ 2. Click on "Download" and select "Standalone version" 3. Extract the downloaded file and find the `bulma.min.css` file 4. Place the `bulma.min.css` file in your [assets/css](file:///Users/home/YandexDisk/TECHNOLYCEUM/ict/Year/2025/g11/G11M3-Web Development Frameworks/3.4 Sub-Project:%20CMS%20Website/g11-m3/bulma_version/assets/css) folder Alternatively, you can download it directly from: https://cdn.jsdelivr.net/npm/bulma@0.9.4/css/bulma.min.css #### Option B: Use CDN (Content Delivery Network) Instead of downloading the file, you can link directly to Bulma hosted on a CDN by replacing the local link with: ```html ``` ##### Advantages of CDN approach: - No need to download and store files locally - Potentially faster loading if users have already cached the file from another site - Automatic updates when you change the version in the URL ##### Disadvantages of CDN approach: - Requires an internet connection to load the styles - Slight dependency risk if the CDN goes down (though rare with major CDNs) - Less control over the exact version used ### Step 3: Create Your Custom Style Sheet Create a file called [style.css](file:///Users/home/YandexDisk/TECHNOLYCEUM/ict/Year/2025/g11/G11M3-Web Development Frameworks/3.4 Sub-Project:%20CMS%20Website/g11-m3/bulma_version/assets/css/style.css) in your [assets/css](file:///Users/home/YandexDisk/TECHNOLYCEUM/ict/Year/2025/g11/G11M3-Web Development Frameworks/3.4 Sub-Project:%20CMS%20Website/g11-m3/bulma_version/assets/css) folder to add your custom styles that complement Bulma. ## Step-by-Step Transformation Guide ### Step 1: Setting Up Bulma in Your Project First, you need to add the Bulma CSS framework to your HTML file. In the [head](file:///Users/home/YandexDisk/TECHNOLYCEUM/ict/Year/2025/g11/G11M3-Web Development Frameworks/3.4 Sub-Project:%20CMS%20Website/g11-m3/bulma_version/simple_version.html#L7-L11) section of your HTML document, add the following links: ```html
``` The first link imports the Bulma CSS framework from your local assets folder, and the second imports your custom styles that complement Bulma. ### Step 2: Applying Bulma Classes to Your Navigation In the [starter_index.html](file:///Users/home/YandexDisk/TECHNOLYCEUM/ict/Year/2025/g11/G11M3-Web Development Frameworks/3.4 Sub-Project: CMS Website/g11-m3/bulma_version/starter_index.html) file, the navigation is basic HTML. Transform it using Bulma classes: **Before (starter version):** ``` ``` **After (improved version):** ``` ``` #### Key Bulma Classes Used: - `navbar`: Creates a navigation bar component - `is-fixed-top`: Fixes the navbar at the top of the page - `has-shadow`: Adds a shadow to the navbar - `container`: Centers content and adds padding - `navbar-brand`: Contains the logo and brand name - `navbar-item`: An item inside the navbar (links, buttons, etc.) - `navbar-burger`: Creates a responsive hamburger menu for mobile - `navbar-menu`: Contains the navigation items - `navbar-end`: Aligns navbar items to the right - `is-active`: Highlights the currently active page - `icon`: Creates an icon container - `ml-2`: Adds left margin (margin-left: 0.5rem) - `has-text-weight-bold`: Makes text bold - `is-size-4`: Sets font size to level 4 ### Step 3: Creating Responsive Layout with Columns Let's compare the transformation of the main content area using Bulma's grid system: #### Before (Basic HTML Structure) ```@johnsmith
Posts
245
@johnsmith
Posts
245
Followers
1.2K
Following
562