Hướng dẫn is bootstrap 5 responsive? - bootstrap 5 có đáp ứng không?

Hướng dẫn is bootstrap 5 responsive? - bootstrap 5 có đáp ứng không?

Đã đăng vào thg 4 22, 2016 12:29 SA 3 phút đọc 3 phút đọc

Từ khi có nhiều thiết bị thông minh ra đời như điện thoại, tablet hỗ trợ người dùng xem các trang web trực tiếp trên các trình duyệt được tích hợp, các front end developer lại phải đối mặt với những vấn đề về layout cho web, làm sao web có thể hiển thị tốt cả trên browser của desktop và mobile? Hôm nay mình xin chia sẻ một số vấn đề liên quan đến responsive design cho web

Hướng dẫn is bootstrap 5 responsive? - bootstrap 5 có đáp ứng không?

1. Ý tưởng tạo layout responsive

Ngày xưa, để tạo web tương thích với mobile và desktop các developer sử dụng browser’s user-agent để kiểm tra loại device. Sau khi kiểm tra xong thì sẽ chuyển người dùng về các subsites cho desktop hoặc mobile. Với cách làm này thì developer sẽ tốn nhiều effort.

Khi CSS3 phát triển mạnh, việc làm responsive đơn giản hơn. Việc canh chỉnh layout có thể được hỗ trợ hoàn toàn bởi CSS. Và nổi bật là sự ra đời của framework hỗ trợ responsive như Bootstrap. Lúc này các developer đã có một công cụ mạnh mẽ, có thể làm các layout đẹp, nhanh và tương thích với nhiều độ phân giải khác nhau của nhiều loại device.

2. Giới thiệu về bootstrap và sử dụng bootstrap trong rails project.

Bootstrap hỗ trợ responsive thông qua grid system. Có thể hiểu đơn giản là grid system sử dụng các row và column, số column có thể tăng đến 12 tuỳ theo device hoặc viewport site.

Để sử dụng bootstrap trong rails chúng ta có thể download source bootstrap và add vào project, hoặc sử dụng thông qua các gem, mình thường sử dụng gem bootstrap-sass https://github.com/twbs/bootstrap-sass

3. Một số lưu ý khi apply responsive design cho web.

Khi làm responsive design, mặc định bootstrap đã hỗ trợ rất nhiều, nhưng đôi khi có nhiều chổ chúng ta cần phải custom. Ví dụ như trên mobile chúng ta cần giảm đi các element phức tạp hoặc thay đổi bố cục để dễ nhìn hơn, lúc này chúng ta có thể làm được thông qua media-query. Media query nên được đặt ở cuối trong file css chính của project. Các bạn có thể thay đổi min-width theo device bạn muốn hỗ trợ và tuỳ chỉnh CSS ứng với loại device đó mà không sợ ảnh hưởng đến sự hiển thị của web trên các device có kích thước ngoài định nghĩa.

/* Extra small devices (phones, less than 768px) */

/* No media query since this is the default in Bootstrap */

/* Small devices (tablets, 768px and up) */

@media (min-width: @screen-sm-min) { ... }

/* Medium devices (desktops, 992px and up) */

@media (min-width: @screen-md-min) { ... }

/* Large devices (large desktops, 1200px and up) */

@media (min-width: @screen-lg-min) { ... }

Một điểm lưu ý nhỏ nhưng quan trọng nữa đó là làm sao để giữ các font chữ không bị thay đổi kích thước khi responsive? Vấn đề này mình đã từng gặp và solution là thêm vào head của web meta viewport với content là initial-scale=1.

Thank for reading

Hướng dẫn is bootstrap 5 responsive? - bootstrap 5 có đáp ứng không?

All rights reserved

Hướng dẫn is bootstrap 5 responsive? - bootstrap 5 có đáp ứng không?

Chúng ta đã đến với những phần cuối cùng của khóa học Bootstrap. Trong bài học này, chúng ta sẽ thực hành một bài tập lớn, làm web với Bootstrap. Chúng ta sẻ thực hiện phần đầu tiên là chia bố cục và responsive

  • Video – Làm web với Bootstrap – Chia bố cục và responsive
  • Hướng dẫn chi tiết
    • Chia bố cục cho website
    • Thanh menu đa cấp có responsive
    • Phần slide trình chiếu
    • Phần nội dung chính – danh sách sản phẩm theo loại
    • Xử lý responsive cho phần nội dung

Video – Làm web với Bootstrap – Chia bố cục và responsive

Hướng dẫn chi tiết

Có làm thì mới có ăn như ai đó từng nói - Vài dòng ngắn cho QUẢNG CÁO nhé

Các bạn cần hosting WordPress nhanh, rẻ và dễ sử dụng có free SLL hãy chọn Azdigi nhé.
Link đăng ký: NHẬN NGAY ƯU ĐÃI
Nếu các bạn đăng ký và sử dụng hosting từ link trên, Góc Làm Web sẽ có một ít tiền để duy trì. 

Lưu ý: mình chưa hướng dẫn cắt htmll và css từ file thiết kết photoshop nên phần bài tập này sẽ làm theo một website mẫu.

Hướng dẫn is bootstrap 5 responsive? - bootstrap 5 có đáp ứng không?
Nội dung bài học làm web với Bootstrap – Chia bố cục và responsiveNội dung bài học làm web với Bootstrap – Chia bố cục và responsive
Hướng dẫn is bootstrap 5 responsive? - bootstrap 5 có đáp ứng không?
Nội dung bài học làm web với Bootstrap – Chia bố cục và responsive

Chia bố cục cho website

Mình sẽ làm trang chủ của website bán hàng. Cấu trúc của trang web này như sau:

Có làm thì mới có ăn như ai đó từng nói - Vài dòng ngắn cho QUẢNG CÁO nhé

Các bạn cần hosting WordPress nhanh, rẻ và dễ sử dụng có free SLL hãy chọn Azdigi nhé.
Link đăng ký: NHẬN NGAY ƯU ĐÃI
Nếu các bạn đăng ký và sử dụng hosting từ link trên, Góc Làm Web sẽ có một ít tiền để duy trì. 

+ Thanh menu đa cấp có tính năng responsive.

+ Slide trình chiếu hình ảnh

+ Nội dung danh sách sản phẩm.

Thanh menu đa cấp có responsive

Các bạn có thể sử dụng code có sẵn của Bootstrap (link). Hoặc tự code như hướng dẫn ở bài 10: Navbar – tạo thanh menu đa cấp với hiệu ứng hover và responsive.link). Hoặc tự code như hướng dẫn ở bài 10: Navbar – tạo thanh menu đa cấp với hiệu ứng hover và responsive.

Nhìn chung, các bạn sử dụng navbar làm sẵn của Bootstrap. Chúng ta sẽ tùy chỉnh cho dropdown trong navbar như sau:

Phần html của dropdown: chúng ta sẽ bỏ class=”dropdown-menu” và thay bằng class tự định nghĩa dropdown-content


Class dropdown-content sẽ định thêm css như sau

/*xử lý menu*/
.dropdown{
position: relative;
display: inline-block;
}
.dropdown-content{
display: none; /*ẩn danh sách đổ xuống*/
position: absolute;
z-index: 1;
background-color: #f5f5f5;
}
.dropdown:hover .dropdown-content{
display: block; /*hiện danh sách đổ xuống khi hover vào*/
}

Ngoài ra, để thanh menu trải dài suốt chiều rộng màn hình nhưng nội dung lại được canh giữa. Chúng ta thêm div có class=”container” bên trong thẻ nav, và đặt nội dung của menu vào trong container.div có class=”container” bên trong thẻ nav, và đặt nội dung của menu vào trong container.

Để thanh menu luôn luôn nằm trên cùng khi cuộn trang, chúng ta dùng thêm class=”stick-top” cho thẻ navthêm class=”stick-top” cho thẻ nav

Xem video hướng dẫn nhé.

Phần slide trình chiếu

Để hiểu rõ tính năng, cách hoạt động của slide, các bạn xem thêm bài 4: Card và Carousel- Tạo slideshow trong Bootstrap. Mình sẽ sử dụng code trên getbootstrap luôn nhé. linkbài 4: Card và Carousel- Tạo slideshow trong Bootstrap. Mình sẽ sử dụng code trên getbootstrap luôn nhé. link

Dùng phần carousel slide with indicator.

Hướng dẫn is bootstrap 5 responsive? - bootstrap 5 có đáp ứng không?

Phần này chúng ta không cần chỉnh sửa nhiều, chỉ cần thêm đường dẫn hình cho slide. Một website cung cấp hình như trong ví dụ là placeholder.complaceholder.com

Thêm đường dẫn và sửa lại theo kích thước bạn muốn dùng nhé. Đường dẫn hình cho slide này là: http://via.placeholder.com/1920×530.

Phần nội dung chính – danh sách sản phẩm theo loại

Code hơi nhiều nên các bạn xem code mẫu cuối bài viết nhé.

Phần nội dung chính sẽ là div container, sau đó là div row cho mỗi loại sản phẩm.div container, sau đó là div row cho mỗi loại sản phẩm.

Mỗi row loại sản phẩm sẽ gồm 1 thẻ h tiêu đề, 1 div chứa thẻ p mô tả loại sản phẩm, và div nhóm 4 sản phẩm. Thêm class mt-5 cho row để tạo margin top cho row.1 thẻ h tiêu đề, 1 div chứa thẻ p mô tả loại sản phẩm, và div nhóm 4 sản phẩm. Thêm class mt-5 cho row để tạo margin top cho row.

Chúng ta sẽ chia lưới Bootstrap bên trong div nhóm sản phẩm. Mỗi cột sẽ dùng Card trong bootstrap để làm những khối sản phẩm nhé. Thêm class mb-3 để tạo margin bottom cho các khối.Card trong bootstrap để làm những khối sản phẩm nhé. Thêm class mb-3 để tạo margin bottom cho các khối.

Xử lý responsive cho phần nội dung

Chúng ta sẽ chia 4 cột đối với màn hình lớn, 2 cột với màn hình máy tính bảng và 1 cột với màn hình nhỏ. Sử dụng lưới Bootstrap như sau: class=”col-md-3 col-sm-6 col-12″.

Nếu bạn còn vướng mắt vấn đề chia lưới Bootstrap và responsive, có thể tham khảo Bài 2: Hệ thống lưới Bootstrap – Grid System.Bài 2: Hệ thống lưới Bootstrap – Grid System.

div row cho mỗi loại sản phẩm chúng ta sẽ thêm padding-left và right lần lượt 5px để khi responsive về 1 cột sẽ đẹp hơn. chúng ta sẽ thêm padding-left và right lần lượt 5px để khi responsive về 1 cột sẽ đẹp hơn.

Như vậy chúng ta đã chia bố cục và responsive cho web. Phần bài sau mình sẽ hướng dẫn cách tùy chỉnh lại các đối tượng và thuộc tính.

Code mẫu: DownloadDownload

Nếu có thắc mắc, hãy đặt câu hỏi bằng cách comment bên dưới, qua email, hoặc nhắn tin qua Fanpage Góc làm web.comment bên dưới, qua email, hoặc nhắn tin qua Fanpage Góc làm web.

Liên hệ

Hướng dẫn is bootstrap 5 responsive? - bootstrap 5 có đáp ứng không?