Tuesday 24 January 2012

Hiển thị danh sách Label với nhiều cột

Blogger quản lý chủ đề của blog bởi những tên label. Có người sử dụng chúng như những Category trong Wordpress và để ở dạng list, cũng có người thì sử dụng như những thẻ Tag và để ở dạng cloud. Nếu blog của bạn đang hiển thị label ở dạng list, không cần quan tâm đến số đếm bài viết trong mỗi label và cũng không thường xuyên tạo một label mới thì không cần thiết phải sử dụng widget label của Blogger. Hãy tự tạo widget HTML/Javascript hoặc chèn ngay trong template đoạn mã để hiển thị những label, việc này sẽ giúp Blogger không mất công xử lý dữ liệu từ widget label rồi chỉ để hiển thị điều mà chúng ta có thể tự làm được với mã HTML đơn giản.
Bước 1: Thêm thuộc tính cho class Label. Chèn đoạn mã dưới đây vào trước thẻ ]]></b:skin> trong style sheet blog của bạn.
.Label li{float:left;width:50%}

Bước 2: Tìm đến đoạn mã của widget label này (Ctrl + F với từ khóa id='Label1'). Trong đoạn mã của widget này có duy nhất 1 thẻ đóng </ul>, chèn đoạn mã dưới đây vào sau thẻ </ul>.
<div style="clear:both"/>

P/s: Thay vì khai báo với class Label chúng ta có thể đổi thành id Label1. Ở đây mình khai báo với class để có thể sử dụng tiếp cho các thành phần khác cùng kiểu hiển thị. Hoặc khai báo với class cloumn chẳng hạn, khi đó cần thay thẻ mở <ul> bằng <ul class='cloumn'>.

Với 2 cột thì thuộc tính width có giá trị 50%, 3 cột sẽ là 33%... Đây là giá trị tương đối, bạn có thể sử dụng giá trị tuyệt đối. Giả sử widget này đặt ở sidebar có width là 300px, muốn hiển thị 2 cột giá trị width của thành phần li trong Label sẽ là 150px, 3 cột là 100px...

Một điều đặc biệt lưu ý là giả sử widget này đặt ở sidebar và trong style sheet của bạn thành phần li của sidebar có thuộc tính margin cách trái hoặc phải với khoảng cách lớn hơn 0 thì bạn cần giảm giá trị width nhỏ hơn 50%.

Hãy kết hợp với thủ thuật
Hiển thị số bài đăng trong label ở dạng title và nếu blog bạn đang sử dụng phân trang thì tham khảo thêm Sửa lỗi không phân trang khi xem theo nhãn.
Theo: Duy pham.


No comments:

Post a Comment