CSS Grid là 1 keyword quen thuộc khi bạn làm quen với css, viết bài này ra thực sự đúng là múa rìu qua mắt thợ, tuy nhiên nó lại rất cần thiết cho những bạn mới chân ướt chân ráo bước vào làm web/blog còn đang loay hoay về việc hiển thị bài viết theo dạng lưới.
Hiện nay để hiển thị dạng lưới có rất nhiều cách như sử dụng display:grid hoặc display:flex, ai muốn mì ăn liền thì có thể dùng bootstrap. Tuy nhiên hạn chế có thể thấy rõ là display:grid/flex không phải lúc nào cũng support 100% các trình duyệt, sử dụng bootstrap thì quá thụ động, kiến thức nền móng về css của bạn rồi cũng bị mai một vì vậy trong bài viết này tôi sẽ hướng dẫn bạn cách hiển thị bài đăng dưới dạng lưới sử dụng thuộc tính float:left
Xem demo (thay đổi kích thước trình duyệt để responsive)
Yêu cầu cơ bản đầu tiên đó là bạn phải biết F12 kiểm tra phần tử. Với blogspot bài đăng luôn được nằm trong div có class là "widget Blog". Tôi sẽ xác định các div con trùng lặp bên trong nó
trong ví dụ này là .post-outer. Đây sẽ là div ta can thiệp chính vào việc tạo lưới, sử dụng float:left kết hợp với set width và height cho div được chỉ định.
Lời khuyên của tôi đó là bạn chỉ set height là giá trị tuyệt đối (đơn vị px), các giá trị như width thì bạn dùng hàm tính toán calc dưới dạng %, tương tự với margin và padding (set tương đối như vậy khi responsive sẽ nhàn hơn)
Trong ví dụ tôi chia mỗi hàng thành 4 cột. Code sẽ như sau
Bây giờ ta sẽ bỏ đi margin-right cho các div con nằm ngoài cùng bên phải, khi tôi chia 1 hàng 4 cột thì số thứ tự của chúng là 4,8,12,... tương đương với 4n
float:left/right thì luôn phải có em clearfix đi kèm, clear fix cho div cha và các div 4n+1 (1 hàng 4 cột mà)
Cuối cùng là check break point và bỏ float:left cho giao diện mobile
Đó, dễ như ăn kẹo vậy thôi, hi vọng qua bài viết này bạn có thể tự tin chỉnh sửa/thiết kế để blog hiển thị bài đăng dưới dạng lưới (có lẽ cũng đang là trend 😁 ).
Good Luck !
1. Không vi phạm luật pháp nước CHXHCN Việt Nam
2. Không vi phạm thuần phong mỹ tục Việt Nam
3. Không bàn luận vấn đề liên quan đến tôn giáo, chính trị
4. Không đả kích, chửi bới hay đưa ra những lời nói không phù hợp với mục tiêu của website
5. Không bình luận với mục đích quảng cáo, trao đổi, mua bán
6. Khuyến khích sử dụng Tiếng Việt có dấu, hạn chế sử dụng tiếng lóng, viết tắt
7. Khi cần sự trợ giúp, vui lòng miêu tả chi tiết lỗi và để lại link đính kèm, tránh nói chung chung gây mất thời gian cho đôi bên