Nền tảng Kiến thức - Hành trang tới Tương lai
Card image

Chương 2-Bài 3. Hệ thống Lưới (GRID) của Bootstrap

Tác giả: Dương Nguyễn Phú Cường #2700
Ngày đăng: Hồi xưa đó
Lượt xem: 262

Cách phân chia Bố cục (layout) trong Bootstrap

Cần nắm rõ và vận dụng nhuần nhuyễn Hệ thống lưới (Grid) của Bootstrap. Nắm rõ phần này xem như bạn đã học được 60-70% của Bootstrap, các thành phần còn lại chỉ việc lên Trang chủ của Bootstrap và đọc tài liệu.

Hệ thống Khung chứa (container) của Bootstrap

Trong Bootstrap có 2 loại khung chứa chính:
  1. Khung chứa dạng container: đây là khung chứa có chiều rộng cố định -> là phần nội dung trang web của bạn sẽ nằm giữa màn hình.
  2. Khung chứa dạng container-fluid: đây là khung chứa tràn viền (có chiều rộng 100% màn hình của thiết bị Truy cập trang web).

Hệ thống dòng (row) và cột (col) của Bootstrap

Hệ thống dòng (row) và cột (col) được quy định tương tự như khi bạn sử dụng table, trtd. Tức là sẽ có các quy tắc sau:
  1. Khi tạo ra 1 dòng (row) nào đó -> thì bên trong phải có ít nhất là một cột (col).
  2. Cột được tạo ra sẽ sử dụng class col-{breakpoint}-{1 - 12} tùy theo bố cục.
  3. Tổng số cột trong 1 dòng phải bằng 12.

Tạo bố cục (layout) sử dụng khung chứa container và có các row, các col được vẽ như hình sau:

Step 1: tạo cấu trúc thư mục chuẩn dự án

- Mục tiêu của việc tạo cấu trúc dự án giúp cho Việc quản lý các tập tin (các file code HTML, CSS, JS; các file Media, Hình ảnh, Âm thanh, Video) được gọn gàng, dễ dàng phát triển, thuận lợi trong làm việc nhóm.
- Có nhiều cách tạo cấu trúc thư mục dự án, sau đây là gợi ý về cách tổ chức Source code.
- Tạo cấu trúc thư mục dự án theo đề nghị như sau:
lesson1-tao-bo-cuc-su-dung-bootstrap/        <- Thư mục gốc của dự án
+---assets/                                  <- Thư mục chứa các file Css, Js, Image, Video, ...
|   \---img/                                 <- Thư mục chứa các ảnh dùng cho Trang web  
|   \---video/                               <- Thư mục chứa các file video dùng cho Trang web
|   \---css/                                 <- Thư mục chứa các file CSS do chúng ta tự viết
|   \---js/                                  <- Thư mục chứa các file JS do chúng ta tự viết
\---vendor/                                  <- Thư mục chứa các thư viện (library) do các nhà cung cấp (vendor) / bên thứ 3 (3rd party)
    +---bootstrap/                           <- Thư viện Bootstrap
    |   +---css/
    |   \---js/
    \---jquery/                              <- Thư viện JQuery
\---index.html                               <- File sẽ được chạy đầu tiên khi truy cập vào Trang web, thường đặt tên là index (hay còn gọi là Trang chủ)

Step 2: Tích hợp thư viện Bootstrap vào Trang web

Liên kết CSS của Bootstrap

- Cần liên kết file CSS của Bootstrap bootstrap.min.css trong phần thẻ <head>...</head> của Trang web.
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Bootstrap lesson 1</title>

    <!-- Liên kết CSS Bootstrap -->
    <link href="vendor/bootstrap/css/bootstrap.min.css" type="text/css" rel="stylesheet" />

    <!-- Liên kết CSS do chúng ta tự viết (custom CSS) -->
    <link href="assets/css/app.css" type="text/css" rel="stylesheet" />

</head>

Liên kết JS của Bootstrap

- Cú pháp Javascript của Boostrap được viết phụ thuộc vào JQUERY, do đó: chúng ta cần liên kết thư viện JQuery trước, sau đó sẽ liên kết thư viện Bootstrap
- Các file Javascript nên được nhúng (include) vào trước khi đóng thẻ </body> để tăng hiệu suất khi load trang web.
<!DOCTYPE html>
<html lang="en">

<head>
    ...
</head>
<body>
    ...

    <!-- Liên kết Jquery -->
    <script src="vendor/jquery/jquery.min.js"></script>

    <!-- Liên kết Bootstrap -->
    <script src="vendor/bootstrap/js/bootstrap.js"></script>

    <!-- Liên kết JS do chúng ta tự viết (custom JS) -->
    <script src="assets/js/app.js"></script>
</body>

Step 3: thiết kế bố cục chính cho phần nội dung body của trang web

Bổ sung code đầy đủ cho file index.html
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Bootstrap lesson 1</title>

    <!-- Liên kết CSS Bootstrap -->
    <link href="vendor/bootstrap/css/bootstrap.min.css" type="text/css" rel="stylesheet" />

    <!-- Liên kết CSS do chúng ta tự viết (custom CSS) -->
    <link href="assets/css/app.css" type="text/css" rel="stylesheet" />

    <style>
        div {
            border: 1px solid red;
        }

        #logo {
            background-color: #2abd49c7;
        }

        #company_name {
            background-color: #00c4ffcc;
        }

        .hinh-logo {
            width: 150px;
            height: 150px;
        }
    </style>
</head>

<body>
    <div class="container">
        <div class="row">
            <div class="col-8 col-md-6 col-lg-3 col-xl-4" id="logo">
                <img src="assets/img/logo-nentang.jpg" class="hinh-logo" />
            </div>
            <div class="col-4 col-md-6 col-lg-9 col-xl-8" id="company_name">
                COMPANY NAME
            </div>
        </div><!-- Dòng Header -->

        <div class="row">
            <div class="col-md-12">
                MENU
            </div>
        </div><!-- Dòng Menu -->

        <div class="row">
            <div class="col-md-3">
                SIDEBAR
                <br />
                <br />
                <br />
                <br />
                <br />
                <br />
                <br />
                <br />
                <br />
            </div>
            <div class="col-md-9">
                Sản phẩm...
            </div>
        </div><!-- Dòng Nội dung -->

        <div class="row">
            <div class="col-md-4">
                Footer 1
                <br />
                <br />
                <br />
                <br />
            </div>
            <div class="col-md-4">
                Footer 2
                <br />
                <br />
                <br />
                <br />
            </div>
            <div class="col-md-4">
                Footer 3
                <br />
                <br />
                <br />
                <br />
            </div>
        </div><!-- Dòng Footer -->
    </div>

    <!-- Liên kết Jquery -->
    <script src="vendor/jquery/jquery.min.js"></script>

    <!-- Liên kết Bootstrap -->
    <script src="vendor/bootstrap/js/bootstrap.js"></script>

    <!-- Liên kết JS do chúng ta tự viết (custom JS) -->
    <script src="assets/js/app.js"></script>
</body>

</html>

Source code tham khảo:

https://github.com/kellyfire611/learning.nentang.vn-frontend-basic/tree/master/course-bootstrap/lesson1-tao-bo-cuc-su-dung-bootstrap

Chương trình học


  1. Tài liệu tham khảo 1
    1. Kho sách, nguồn tài liệu tham khảo Thiết kế Web với Bootstrap #8251
  2. Bootstrap là gì? Tìm hiểu cách hoạt động của Bootstrap 8
    1. Giới thiệu Bootstrap #2698
    2. Cách sử dụng Bootstrap trong dự án của bạn #2699
    3. Hệ thống Lưới (GRID) của Bootstrap #2700
    4. Bài tập - Thiết kế Bố cục (layout) bằng Bootstrap #2701
    5. Ràng buộc dữ liệu (validation) bằng Bootstrap #8270
    6. Bài tập Tổng hợp - Thực hiện Trang web Landing Page giới thiệu Công ty #8332
    7. Thiết kế trang web bố cục (layout) tùy biến theo từng thiết bị màn hình (Responsive) #9805
    8. Tùy biến giao diện theo từng thiết bị màn hình (Responsive) bằng kỹ thuật CSS Media Query #10114
  3. Làm Đồ án Web thực tế Trang bán hàng Nền Tảng phiên bản Bootstrap 14
    1. Lộ trình (Roadmap) Thực hiện Đồ án #10356
    2. Khởi tạo thư mục dự án #2702
    3. Phân tích Bố cục (layout) #2703
    4. Xây dựng Trang chủ (index) #2704
    5. Xây dựng Trang Giới thiệu (about) #2705
    6. Xây dựng Trang Liên hệ (contact) #2706
    7. Xây dựng Trang Danh sách Sản phẩm (products) #2707
    8. Xây dựng Trang Chi tiết Sản phẩm (product_detail) #2708
    9. Xây dựng Trang Giỏ hàng (cart) #2709
    10. Xây dựng Trang Thanh toán (checkout) #2710
    11. Xây dựng Trang Đăng nhập (login) #2711
    12. Xây dựng Trang Đăng ký (register) #2712
    13. Xây dựng Trang Tìm kiếm (search) #2713
    14. Thưởng thức Kết quả (demo version) #2714
Các bài học

Chương trình học

Bao gồm Module, Chương, Bài học, Bài tập, Kiểm tra...

Chương trình học


  1. Tài liệu tham khảo 1
    1. Kho sách, nguồn tài liệu tham khảo Thiết kế Web với Bootstrap #8251
  2. Bootstrap là gì? Tìm hiểu cách hoạt động của Bootstrap 8
    1. Giới thiệu Bootstrap #2698
    2. Cách sử dụng Bootstrap trong dự án của bạn #2699
    3. Hệ thống Lưới (GRID) của Bootstrap #2700
    4. Bài tập - Thiết kế Bố cục (layout) bằng Bootstrap #2701
    5. Ràng buộc dữ liệu (validation) bằng Bootstrap #8270
    6. Bài tập Tổng hợp - Thực hiện Trang web Landing Page giới thiệu Công ty #8332
    7. Thiết kế trang web bố cục (layout) tùy biến theo từng thiết bị màn hình (Responsive) #9805
    8. Tùy biến giao diện theo từng thiết bị màn hình (Responsive) bằng kỹ thuật CSS Media Query #10114
  3. Làm Đồ án Web thực tế Trang bán hàng Nền Tảng phiên bản Bootstrap 14
    1. Lộ trình (Roadmap) Thực hiện Đồ án #10356
    2. Khởi tạo thư mục dự án #2702
    3. Phân tích Bố cục (layout) #2703
    4. Xây dựng Trang chủ (index) #2704
    5. Xây dựng Trang Giới thiệu (about) #2705
    6. Xây dựng Trang Liên hệ (contact) #2706
    7. Xây dựng Trang Danh sách Sản phẩm (products) #2707
    8. Xây dựng Trang Chi tiết Sản phẩm (product_detail) #2708
    9. Xây dựng Trang Giỏ hàng (cart) #2709
    10. Xây dựng Trang Thanh toán (checkout) #2710
    11. Xây dựng Trang Đăng nhập (login) #2711
    12. Xây dựng Trang Đăng ký (register) #2712
    13. Xây dựng Trang Tìm kiếm (search) #2713
    14. Thưởng thức Kết quả (demo version) #2714

Bài học trước Bài học tiếp theo