Thông thường với auto read more no js, bài đăng hiện ở trang chủ như nào thì hiện ở các trang index cũng tương tự như vậy, điều này có vẻ hơi đại trà và lâu lâu có thể tạo cảm giác chán nản. Vậy tại sao ta không tùy biến thêm để chúng hiển thị tốt hơn nhưng vẫn giữ được các nội dung cần thiết. Hãy cùng tìm hiểu cách làm qua bài viết này
Ví dụ hiển thị trên trang search label
Hiển thị trên trang tìm kiếm từ khóa search query
Làm được điều này không khó, quan trọng ở đây là bạn phải thuần thục thẻ điều kiện blogger và có kiến thức về css. Và bài viết này cũng chỉ mang tính chất chỉ dẫn chứ không có một code cố định nào vì mỗi template có thiết kế không giống nhau
Với auto read more no js, bài đăng được hiển thị với cấu trúc giống nhau nhờ thẻ lặp b:loop, chúng có id và class tương tự nhau, vì vậy chúng ta sẽ cần dùng đến các selector dạng :nth-of-child hoặc :nth-of-type
* Làm nổi bật bài viết đầu
Trước tiên ta cần F12 để tìm thẻ lớn nhất chứa nội dung từng bài đăng nằm trong class blog-posts
Trong ví dụ này class sẽ là .post-outer. Ví dụ làm nổi bật 3 bài đầu tiên, ta sẽ dùng :nth-of-type để viết css riêng cho chúng như
.index .post-outer{} .index .post-outer:nth-of-type(1){} .index .post-outer:nth-of-type(1) .block-image{} .index .post-outer:nth-of-type(1) #meta-post,.index .post-outer:nth-of-type(1) .resumo{} .index .post-outer:nth-of-type(2) .post-title a,.index .post-outer:nth-of-type(3) .post-title a{} .index .post-outer:nth-of-type(2),.index .post-outer:nth-of-type(3){} .index .post-outer:nth-of-type(2) .block-image,.index .post-outer:nth-of-type(3) .block-image{} #blog-pager{clear:both} @media screen and (max-width:xxx px){ .index .post-outer{} .index .post-outer:nth-of-type(1){} .index .post-outer:nth-of-type(1) .block-image{} .index .post-outer:nth-of-type(1) #meta-post,.index .post-outer:nth-of-type(1) .resumo{} .index .post-outer:nth-of-type(2) .post-title a,.index .post-outer:nth-of-type(3) .post-title a{} .index .post-outer:nth-of-type(2),.index .post-outer:nth-of-type(3){} .index .post-outer:nth-of-type(2) .block-image,.index .post-outer:nth-of-type(3) .block-image{} }
* Style khác nhau cho các trang khác nhau
Kết hợp với class .post-outer cùng :nth-of-type ở trên .Ta sẽ dùng hệ thống thẻ b:if để viết các style khác nhau cho các trang khác nhau như sau
<b:if cond='!data:view.isSingleItem'> <b:if cond='data:view.isHomepage'> <style type='text/css'> /*<![CDATA[*/ // style cho bài viết ở trang chủ /*]]>*/ </style> <b:else/> <b:if cond='data:view.isLabelSearch'> <style type='text/css'> /*<![CDATA[*/ // style cho bài viết ở trang search label /*]]>*/ </style> <b:else/> <b:if cond='data:blog.searchQuery != ""'> <style type='text/css'> /*<![CDATA[*/ // style cho bài viết ở trang search query /*]]>*/ </style> <b:else/> <b:if cond='data:view.isArchive'> <style type='text/css'> /*<![CDATA[*/ // style cho bài viết ở trang lưu trữ /*]]>*/ </style> <b:else/> <style type='text/css'> /*<![CDATA[*/ // style cho bài viết ở các trang còn lại /*]]>*/ </style> </b:if> </b:if> </b:if> </b:if> </b:if>
Có thể thấy việc phân nhánh nhỏ các thành phần của trang index ta có thể tạo ra rất nhiều style khác nhau để hiển thị bài đăng theo ý muốn, cái khó ở đây là responsive + thẩm mỹ, cái cần ở đây là thời gian + kiến thức css + sự kiên trì của bạn
Chúc bạn thành công !
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