Header ads

Header ads
» » Giới thiệu và hướng dẫn cách sử dụng Bootstrap

Có bao giờ bạn phải viết HTML/CSS rùi ngồi suy nghĩ “Tại sao mình phải viết đi viết lại nhưng class giống nhau như thế này ?” hay “Mình sẽ làm 1 css framework để về sau sử dụng lại haha “.Rồi chợt nhận ra là mọi chuyện không đơn giản như vậy class bạn viết ra ở web này rùi lại hì hục sửa ở web khác , nhiều lúc ngồi sửa còn lâu hơn là viết mới.
Hôm nay mình sẽ giới thiệu cho các bạn cách để giải quyết vấn đề trên.Đó là sử dụng Twitter Bootstrap.
A- Giới thiệu về Twitter Bootstrap
Twitter Bootstrap bao gồm các mã CSS + HTML cơ bản cho typography, forms, buttons, tables, grids, navigation, và nhiều thành phần khác của website.
Twitter Bootstrap cung cấp lưới cố định (fixed) rộng 940px và 12 cột. Tất nhiên là cũng có giải pháp cho việc dùng layout dạng động (fluid).
Style của các phần tử HTML trong Twitter Bootstrap khá đơn giản và thanh lịch. Ví dụ như phần đổ bóng trong input, highlight của bảng biểu, các mã CSS hiển thị cảnh báo, tabs, phân trang…
B- Tại sao lại sử dụng Twitter Bootstrap
Như mình đã giới thiệu ở trên , Twitter Bootstrap giúp chúng ta giảm thiểu thời gian thiết kết html và css.Twitter Bootstrap định nghĩa sẳn các class css công việc của chúng ta chỉ là sử dụng các class đó vào mục đích của mình.Twitter Bootstrap còn hổ trợ Responsive design một cách làm giao diện đa thiết bị rất được ưu chuộng trong thời gian gần đây
C- Cách sử dụng Twitter Bootstrap
Như mình đã giới thiệu ở trên , Twitter Bootstrap giúp chúng ta giảm thiểu thời gian thiết kết html và css.Twitter Bootstrap định nghĩa sẳn các class css công việc của chúng ta chỉ là sử dụng các class đó vào mục đích của mình.
Bạn có thể tải về Bootstrap tại đây: http://twitter.github.io/bootstrap/
Sau khi tải về, bạn sẽ có một file Zip. Tiến hành giải nén ta có một thư mục có tên bootstrap, bên trong có 3 thư mục : css, img, js.

Bước 1: Chúng ta tạo 1 file html có tên là index.html ở trong thư mục bootstrap vừa giải nén phía trên.
Vậy là xong phần head. Giờ chúng ta viết tiếp phần body với 2 textbox và 2 button như sau:

Vậy là xong. Ví dụ chỉ đơn giản vậy thôi.
Bạn sẽ thắc mắc là sao chạy nút submit và reset lại không nằm xuống phía dưới???
Bạn hãy thu nhỏ trình duyệt và bạn sẽ thấy điều kỳ diệu, đó chính là phần mình muốn cho các bạn thấy để dễ hình dung hơn.
Còn nhiều điều thú vị nữa đang chờ bạn khám phá đấy. Chúc các bạn luôn thành công trong cuộc sống.

Bootstrap là một CSS Framework phổ biến nhất hiện nay do Twitter phát triển. Vậy trước hết CSS Framework là gì? Hiểu theo từ framework thì nó là bộ công cụ giúp design trang web bằng css nhanh hơn. Nghĩa là là nó được trừu tượng hóa lên một mức cao hơn. Thay vì bạn phải hiểu rõ về các bộ chọn, các thuộc tính và giá trị trong CSS để style cho trang web của mình, thì bạn chỉ cần biết các thành phần có trên trang web như form, navbar, tooltip, dropdown-menu, modal, button,….. và add nó vào trang html của mình một cách thích hợp. Công việc còn lại là của Bootstrap.
Với kiến thức về HTML và sự hỗ trợ của Bootstrap như vậy một trang web đẹp mắt hoàn toàn nằm trong tầm tay dù bạn chưa học qua về CSS.
Ưu điểm của bootstrap:
  • Hỗ trợ khả năng Responsive: tức là trang web sẽ tự động co giãn theo kích thước của cửa sổ trình duyệt.
  • Tương thích tốt với thiết bị cỡ nhỏ: với sự phổ biến của smartphone hiện nay, đây là một yếu tố quan trọng. Không cần phải design một bản riêng cho mobile, với bootstrap bạn chỉ cần thiết kế một lần cho mọi thiết bị.
  • Được tích hợp với thư viện jQuery và tương tác tốt với chuẩn HTML5 và CSS3.
Ngoài ra Bootstrap còn được cập nhật phiên bản thường xuyên, hệ thống tài liệu hướng dẫn chi tiết, thân thiện với các công cụ tìm kiếm, tương thích trên nhiều trình duyệt, nhiều theme khác nhau (lên Google và gõ “Bootstrap themes“),….
Như vậy là bạn đã hiểu qua về Boostrap, để bắt đầu các bạn cần download nó tại http://getbootstrap.com/getting-started/#download sau đó add nó vào project của bạn. Phiên bản mới nhất thời điểm này là 3.1.1.
Trang http://getbootstrap.com/ cũng là nơi tra cứu tài liệu liên quan tới bootstrap.
Sau đó hãy load file jquery và css của bootstrap vào trang web của bạn. Hoặc có thể sử dụng nguồn từ CDN như sau:
1
2
3
4
5
<!-- Bootstrap CSS -->
<link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet" />
 
<!-- bootstrap JavaScript -->
<script type="text/javascript" src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>
Bây giờ hãy test qua bằng một đoạn mã nhỏ như sau:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Cùng học Bootstrap</title>
 
<!-- Bootstrap -->
<link href="css/bootstrap.min.css" rel="stylesheet">
</head>
 
<body>
<h1>Hello, world! I am bootstrap 3</h1>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
</body>

Grid System

Grid system là khái niệm bắt nguồn từ kỹ thuật in ấn, thiết kế các poster, bìa sách, tạp chí,…. Đó là một hệ thống các đường kẻ ngang, dọc chia không gian trang thành nhiều ô để bạn đặt bố cục cho các phần của trang.
Được ứng dụng sang lĩnh vực thiết kế web, hệ thống grid chia layout web của bạn thành các hàng (row) và các cột (column). Cụ thể trong Bootstrap, layout sẽ được chia thành 12 cột, mỗi cột sẽ chiếm tỷ lệ % nhất định và bằng nhau trên layout.
Từ đây, đơn vị cơ sở để tính độ rộng cho các element mà bạn bố trí trên layout sẽ là cột. Tức là bạn sẽ chỉ định độ rộng của phần tử đó là 1, 2, 3 hay 6 cột chứ không phải là bao nhiêu pixel. Dù trang web bị co dãn thì tỷ lệ giữa các element này vẫn không thay đổi, điều này lý giải cho khả năng Responsive của Bootstrap.
Ví dụ minh họa:
chuan
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<div class="container">
        <div class="row">
                <div class="col-md-12">
                <h2>Hàng 12 cột cho medium device</h2></div>
        </div>
        <div class="row">
                <div class="col-md-8">
                        <h3>Nội dung<h3>
                        <P>Bạn đang học bootstrap 3</p>
                </div>
                <div class="col-md-4">
                        <p>Đây là slidebar</p>
                </div>
        </div>
        <div class="row">
                <div class="col-md-6">
                        <h4>Hàng 6 cột cho medium device</h4>
                </div>
                <div class="col-md-6">
                        <h4>Hàng 6 cột cho medium device</h4>
                </div>
        </div>
</div>
Bạn có thể xem lại kết quả ở đây http://www.bootply.com/129278
Ở ví dụ trên, layout của chúng ta có 3 hàng. Hàng thứ nhất có 12 cột, chính là lớp .col-md-12. Hàng thứ 2 gồm 2 thành phần. Phần nội dung có 3 cột .col-md-8 còn phần slidebar có 4 cột – .col-md-4.
Hàng còn lại gồm 2 thành phần, mỗi thành phần được bao trong 6 cột, là .col-md-6.
Nhìn như vậy chắc các bạn cũng đã hiểu rõ cách hoạt động của nó, để chia làm 4 cột ta dùng đặt tên class là .col-md-4. Tương tự với 1 cột, 2 cột sẽ là .col-md-1, col-md-2,…..
md (medium devices) chính là kích thước đại diện cho thiết bị desktop, ngoài ra còn có các loại kích thước khác mà bootstrap định nghĩa như sau:
Ký hiệu lớp Thiết bị Độ rộng lớp container Chú thích
.col-xs-$ Extra small Auto Dùng cho điện thoại kích thước nhỏ hơn 768px
.col-sm-$ Small devices 750px Dùng cho tablets kích thước >= 768px
.col-md-$ Medium devices 970px Dùng cho desktop ( >=992px)
.col-lg-$ Large devices 1170px Dùng cho desktops >=1200px
Ký tự $ trong bảng trên đại diện cho số cột chứa phần tử đó, là một số từ 1 đến 12.
Chú ý:
  • Bootstrap quy định các hàng (.row) phải nằm trong lớp .container hoặc lớp container-fluid
  • Nếu bạn bao các hàng bằng lớp container thì chiều rộng của lớp container của các thiết bị khác nhau được cho ở bảng trên. Còn nếu dùng container-fluid thì chiều rộng của nó sẽ full-width.
Quay lại với ví dụ trên, khi bạn thu nhỏ cửa sổ trình duyệt lại hoặc đưa nó lên chạy trên điện thoại hay thiết bị kích thước nhỏ hơn 992px. Một điều xảy ra là các thành phần sẽ xếp thành một ngăn chạy dọc trên xuống layout. Tại sao vậy? Rõ ràng là nó không responsive. Đơn giản, để làm điều đó bạn cần phải thêm vào các lớp col-sm-$ hay col-xs-$ vào cùng với các lớp col-md-$.
Ví dụ:
1
2
3
4
<div class="row">
  <div class="col-md-8 col-xs-6">Đây là slidebar</div>
  <div class="col-md-4 col-xs-6">Đây là slidebar</div>
</div>
Với ví dụ trên, khi bạn co cửa sổ trình duyệt lại, 2 thành phần 8 cột và 4 cột ban đầu sẽ chia đều thành 2 lớp 6 cột ngang hàng mà không bị tụt xuống hàng mới. Hãy xem kết quả tại đây: http://www.bootply.com/129282

Offset

Giả sử bạn có một hàng 6 cột như sau:
1
2
3
<div class="row">
      <div class="col-md-6 col-md-offset-3">ví dụ về offset</div>
</div>
Theo mặc định hàng trên sẽ nằm sát lề trái của container. Vậy làm sao để dịch chuyển nó sang bên phải hoặc căn ra giữa container? Khi đó bạn hãy thêm lớp .col-md-offset-$. Với $ là một số từ 0 đến 12 , chỉ số cột được căn lề trái margin-left ( chính là số cột dịch sang phải). Nếu $ lớn hơn 12 coi như là 0. Xem kết quả tại đây: http://www.bootply.com/129286

Column ordering

Bạn có thể thay đổi thứ tự các thành phần trong hệ thống cột bằng cách đẩy nó sang phải( push) hoặc kéo nó sang trái( pull) bằng cách sử dụng các lớp col-md-push-$col-md-pull-$. Ví dụ:
1
2
3
<div class="row">
<div class="col-md-3 col-md-push-3">I am bootstrap 3</div>
</div>
Ví dụ trên ta đã kéo hàng sang bên phải 3 cột.
Xem minh họa ở đây: http://www.bootply.com/129291
Chú ý
Nhiều bạn sẽ thắc mắc việc sử dụng push offset ở mục bên trên cho kết quả giống nhau. Tuy nhiên giữa chúng có sự khác biệt:
  • Offset căn lề bằng cách sử dụng margin-left còn push căn lề sử dụng left.
  • Và khi sử dụng offset các cột được offset sẽ đẩy dồn các cột bên phải nó còn nếu dùng push và pull thì các cột này sẽ chồng chéo lên các cột khác kề phía mà nó dịch chuyển.
Xem sự khác biệt này ở đây: http://www.bootply.com/129300
Như vậy là mình đã đi qua những khái niệm cơ bản ban đầu về Bootstrap. Hy vọng bài viết sẽ có ích cho những bạn đang muốn làm quen với bootstrap 3. Bài tiếp theo mình sẽ nói nhiều hơn về css, javascript và các components trong bootstrap. Hẹn gặp lại các bạn.

About Học viện đào tạo trực tuyến

Xinh chào bạn. Tôi là Đinh Anh Tuấn - Thạc sĩ CNTT. Email: dinhanhtuan68@gmail.com .
- Nhận đào tạo trực tuyến lập trình dành cho nhà quản lý, kế toán bằng Foxpro, Access 2010, Excel, Macro Excel, Macro Word, chứng chỉ MOS cao cấp, IC3, tiếng anh, phần mềm, phần cứng .
- Nhận thiết kế phần mềm quản lý, Web, Web ứng dụng, quản lý, bán hàng,... Nhận Thiết kế bài giảng điện tử, số hóa tài liệu...
HỌC VIỆN ĐÀO TẠO TRỰC TUYẾN:TẬN TÂM-CHẤT LƯỢNG.
«
Next
Bài đăng Mới hơn
»
Previous
Bài đăng Cũ hơn