Bài 27: Bài tập về flexbox và cách căn giữa cho nội dung – HTML và CSS

Bài 27: Bài tập về flexbox và cách căn giữa cho nội dung

Trong bài này, chúng ta sẽ ôn lại flexbox và cách căn giữa cho nội dung trong css. Chúng ta sẽ dùng các thuộc tính đã giới thiệu để sắp xếp các khối trong bài 26 về hiệu ứng zoom và gradient. Áp dụng nhiều cách khác nhau để thực hiện yêu cầu.

Video – Bài tập về flexbox và cách căn giữa cho nội dung trong css

Nội dung yêu cầu

"Thăm ngàn, kẹp ngần nhưng vẫn không đủ chai ni (trả nợ)" nên dành vài dòng cho QUẢNG CÁO

Các bạn cần hosting PHP - WordPress nhanh, rẻ và dễ sử dụng có thể chọn Azdigi nhé.
Link đăng ký: NHẬN NGAY ƯU ĐÃI
Nếu các bạn đăng ký hosting từ link quảng cáo, mình sẽ có một ít tiền để duy trì và "chai ni".

flexbox và cách căn giữa cho nội dung

+ Sắp xếp 6 khối thành 2 thành, khoảng cách giữa các khối đều nhau. Sử dụng lại các khối làm ở bài 26

+ Icon like nằm chính giữa của các khối khi hover.

Hướng dẫn chi tiết

+ Đặt chiều rộng của khối bao ngoài vừa đủ cho 3 khối

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ì. 

Sắp xếp các khối

+ Cách 1: Dùng flexbox với thuộc tính display: flex; justify-content: space-between; để tự canh khoảng cách giữa các khối; dùng flex-warp: warp; để các khối tự xuống dòng khi đủ chiều rộng.

+ Cách 2: dùng float:left; và cấu trúc .class:nth-child(3){margin-right:0px} để bỏ margin cho khối thứ 3, nhưng khối thứ 6 vẫn có margin-right. Vì vậy chúng ta sẽ dùng là .class:nth-child(3n){margin-right:0px} n sẽ tự động là 1 2 3 4 …

Căn giữa cho icon like

+ Cách 1 dùng display: flex; justify-content: center; để canh chiều ngang. Thuộc tính align-items:center căn chiều dọc.

+ Cách 2: text-align: center căn giữa theo chiều ngang. Chiều dọc dùng position:absolute; top: 50%, margin-top: – 1/2 chiều cao của icon.

Các thuộc tính đã hướng dẫn

Các thuộc tính thường dùng

+ bachground-image:-webkit-linear-gradient(left, red 0%, orange 50%, yellow 100%), hiệu ứng đổ màu gradient

+ transform:scale(2), hiệu ứng zoom, phóng to thu nhỏ

+ box-sizing: border-box, cố định chiều rộng và chiều cao

+ transform: rotate(-45deg) để xoay khối div góc 45 độ

+ border-radius: 5px; bo tròn các góc của khối với bán kính 5px

+ background-size: cover, để hình luôn đầy 100% khối

+ background-attachment: fixed (cố đinh hình nền khi cuộn trang)

+ nth-child(3) để ghi đè css cho các đoạn giống nhau.

+ margin: auto, tự động canh biên

+ text-transform: uppercase, tự động viết hoa

+ box-shadow: 2px 2px 7px; tạo đổ bóng (các thông số lần lượt là đổ sang phải, bên dưới, độ rộng của bóng mờ)

+ transition: 0.4s; tùy chỉnh lại các hiệu ứng

+ float: left (right) dồn các khối

+ overflow: hidden

+ display: block, biến thẻ không xuống dòng thành khối để hiểu được thuộc tính margin

+ display: inline, biến thành các thẻ không xuống dòng

+ margin và padding, biên tính từ viền của khối ra ngoài, lề tính từ viền khối vào bên trong nội dung

+ border : viền, 1px (độ dày) black (màu) solid (loại nét)

+ text-align : canh lề

+ font-size : kích thước.

+ font-weight : bold độ đậm nhạt, giống như thẻ <b></b>

+ font-family : kiểu chữ hay font chữ

+ font-style: italic : tạo chữ in nghiêng

+ text-decoration: none, underline.

+ line-height: 20px: độ giãn dòng.

+ color: (màu chữ) dùng green, red hay mã màu

+ background-color: (màu nền) black

+ background-image: url(imgage source), hình nền

Các thuộc tính flexbox

display: flex; hoặc display: inline-flex

flex-direction :

+ row, theo hàng tương đương với float:left

+ row-reverse, theo hàng từ sau ra trước, float:right;

+ column, theo cột từ trên xuống dưới

+ column-reverse, theo hàng từ dưới lên trên.

flex-wrap (có xuống dòng hay không khi đủ chiều rộng).

+ no-wrap: ko xuống dòng, chỉ hiện thị trên 1 hàng

+ wrap: đủ chiều rộng của khối cha thì tự động xuống dòng.

+ wrap-reverse: đảo ngược.

justify-content:  canh chỉnh theo chiều ngang cho các khối bên trong

+ center: tự động căn giữa (tương đương text-align :center)

+ flex-start (dồn sang trái)

+ flex-end (dồn sang phải)

+ space-between ( chia đều trong khối)

+ space-around (chia đều các khối và hai lề của khối ngoài).

align-items: canh chỉnh theo chiều dọc (khối bên ngoài phải có độ cao cố định)

+ stretch: tự lấp đầy chiều cao

+ flex-start: dồn lên trên

+ flex-end: dồn xuống dưới.

+ base-line: chỉ canh chữ cho thẳng hàng.

+ center: canh giữa theo chiều dọc. Thuộc tính này hỗ trợ rất nhiều cho việc làm web, và  là thuộc tính mới chỉ có từ CSS 3.

Các thuộc tính chia layer

+ position: relative; (chọn làm mốc)

+ position: absolute; (định vị trí cho khối, đi chung với các thuộc tính top, bottom, left, right)

+ top: 10px, vị trí tính từ trên xuống

+ bottom: 10px, vị trí tính từ dưới lên

+ left: 10px, vị trí từ bên trái

+ right: 10px, vị trí từ bên phải

+ wrap-reverse: đảo ngược.

Code mẫu: Download

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.

Liên hệ