2021-01-25 912 lượt xem
hùng ebudezain
Trong bài trước mình đã hướng dẫn các bạn tạo 1 gulp để minyfy code css. Trong bài này mình sẽ sử dụng gulp để build scss thành các code css được minify chia col giống bootstrap
tôi thích vậy đó
bài viết được viết bởi trương thanh hùng //ebudezain.com/
hùng thông minh lắm
bài viết được viết bởi trương thanh hùng //ebudezain.com/
hùng thông minh lắm
Phân tích
hùng ebudezain
đọc dữ liệu hộ bố
bài viết được viết bởi trương thanh hùng //ebudezain.com/
tôi thích vậy đó
bài viết được viết bởi trương thanh hùng //ebudezain.com/
Cách chia cột tương tác tỷ lệ màn hình với bootstrap 3
tôi thích vậy đó
ahihi đồ ngốc trương thanh hùng nè
tôi thích vậy đó
hùng thông minh lắm
bài viết được viết bởi trương thanh hùng //ebudezain.com/
Các lệnh bạn cần ghi nhớ khi tiến hành:
- Lớp .col-xs-*: phù hợp với màn hình smart phone [< 768px]
- Lớp .col-sm-*: phù hợp với màn hình tablet [>= 768px]
- Lớp .col-md-*: phù hợp với màn hình laptop, desktop [>= 992px]
- Lớp .col-lg-*: phù hợp với màn hình desktop [>= 1200px]
hùng ebudezain
Ví dụ code html: Chia 2 cột với tỉ lệ bằng nhau:
hùng thông minh lắm
bài viết được viết bởi trương thanh hùng //ebudezain.com/
hùng đẹp trai
bài viết được viết bởi trương thanh hùng //ebudezain.com/
bài viết được viết bởi trương thanh hùng //ebudezain.com/
tôi thích vậy đó
ahihi đồ ngốc trương thanh hùng nè
ahihi đồ ngốc trương thanh hùng nè
tôi thích vậy đó
Cách chia cột trong bootstrap 4
tôi thích vậy đó
bài viết được viết bởi trương thanh hùng //ebudezain.com/
- Lớp .col-*: phù hợp với màn hình small smart phone [< 576px]
- Lớp .col-sm-*: phù hợp với màn hình smart phone [576px = 1200px]
tôi thích vậy đó
tôi thích vậy đó
hùng ebudezain
bài viết được viết bởi trương thanh hùng //ebudezain.com/
tôi thích vậy đó
tôi thích vậy đó
Tóm lại bootstrap 4 có độ chia grid nhiều hơn của bootstrap 3.
bài viết được viết bởi trương thanh hùng //ebudezain.com/
ahihi đồ ngốc trương thanh hùng nè
bài viết được viết bởi trương thanh hùng //ebudezain.com/
hùng thông minh lắm
hùng đẹp trai
ahihi đồ ngốc trương thanh hùng nè
tôi thích vậy đó
tôi thích vậy đó
Giả sử bây giờ mình muốn chia grid như bootstrap 4 nhưng không dùng display flex mà lại dùng fload như bootstrap 3 thì sao? [yêu cầu này là để phù hợp với những dự án mà muốn chạy cả IE 7 đó]
hùng đẹp trai
hùng thông minh lắm
Bắt đầu code SCSS tạo grid layout col
hùng thông minh lắm
bài viết được viết bởi trương thanh hùng //ebudezain.com/
bài viết được viết bởi trương thanh hùng //ebudezain.com/
Cấu trúc code Css build ra của bootstrap
tôi thích vậy đó
hùng đẹp trai
hùng thông minh lắm
Khi build sass của bootstrap chúng ta nhận thấy bootstrap 4 cũng sẽ build code theo dạng như sau:
hùng thông minh lắm
ahihi đồ ngốc trương thanh hùng nè
.container { padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; } @media [min-width: 768px] { .container { width: 750px; } } @media [min-width: 992px] { .container { width: 970px; } } @media [min-width: 1200px] { .container { width: 1170px; } } .row { margin-right: -15px; margin-left: -15px; } /* từ lg đến xs */ .col-lg-1, .col-lg-2, /* từ 1 đến 12 */ .col-md-1, .col-md-2, .col-sm-1 /* .... */ { position: relative; min-height: 1px; padding-right: 15px; padding-left: 15px; } /* ///////////////////////////// */ /* // BẮT ĐẦU PHẦN QUAN TRỌNG // */ /* ///////////////////////////// */ /* ///////////////////////////// */ /* từ 1 đến 12 */ .col-xs-1{ float: left; } /* từ 1 đến 12 */ .col-xs-1 { width: 8.33333333%; } @media [min-width: 768px] { /* từ 1 đến 12 */ .col-sm-1 /*.....*/ { float: left; } /* từ 1 đến 12 */ .col-sm-2 { width: 16.66666667%; } .col-sm-1 { width: 8.33333333%; } } @media [min-width: 992px] { /* từ 1 đến 12 */ .col-md-1/*.....*/ { float: left; } /* từ 1 đến 12 */ .col-md-2 { width: 16.66666667%; } .col-md-1 { width: 8.33333333%; } } /* ///////////////////////////////////////////////////// */ /* // Tiếp Tục đến hết tất cả các khung của BOOTSTRAP // */ /* ///////////////////////////////////////////////////// */ /* ///////////////////////////////////////////////////// */
hùng thông minh lắm
Nếu bạn tinh ý sẽ thấy code của bootstrap tuân theo nguyên tắc default chính là col-xs-* [trong bootstrap 3 ] và col-* [trong bootstrap 4 ]
bài viết được viết bởi trương thanh hùng //ebudezain.com/
Vì diện tích mobile là khá nhỏ chúng ta cần css đặc thù từng loại mobile hơn là PC. Nên mình sẽ chia nhỏ Mobile thành 2 loại là small [ 768px $MD : 992px; /// 768px -> 991px $LG : 1200px; /// 992px ----> 1199px $XL : 1400px ; /// 1200px - 1320px // media queries .container-fluid { width: 100%; padding-right: $padding-grid-col; padding-left: $padding-grid-col; margin-right: auto; margin-left: auto; } .container { padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; @each $screen, $_width in $containers-max-width { @include Screen[$screen]{ width: $_width; } } } .row{ margin-right: 0 - $padding-grid-col; margin-left: 0 - $padding-grid-col; @include clearfix[]; } @for $i from 1 through $column-max { .col-#{$i} { position: relative; min-height: 1px; padding-right: $padding-grid-col; padding-left: $padding-grid-col; } } @for $i from 1 through $column-max { .col-#{$i} { width: [100% * $i] / $column-max; float: left; } } @each $name in $screens { @include Screen[$name]{ @for $i from 1 through $column-max { .col-#{to-lower-case[#{$name}]}-#{$i} { width: [100% * $i] / $column-max; float: left; } } } }