Loading post navigation ...
 
 

Pro page

10
Nhận xét

Tạo thumbnail cho ảnh với CSS

| by Phan Dũng | views

Hãy nhấn thanks để ủng hộ tác giả

Thông thường khi muốn tạo ảnh thumbnail ta thường dùng cách bóp ảnh lại bằng việc sử dụng các lệnh width, height. Khi bóp ảnh như thế, nếu bóp theo 2 chiều (widthheight) thì ảnh thường bị méo dạng (không còn tỉ lệ với ảnh gốc), nếu không muốn gặp hiện tượng này thì chỉ nên bóp theo 1 chiều. Tuy nhiên, ở những phần, ví dụ như tiện ích recent post, các bạn muốn các ảnh thumbnail được đều nhau, và có cùng kích cỡ thì việc bóp ảnh theo 1 chiều không đáp ứng được. Và hôm nay mình sẽ giới thiệu cho các bạn 1 các để lấy ảnh thumbnail từ ảnh gốc mà chỉ cần dùng CSS.

Mình sẽ giải thích sơ về cách thức này. Giả sử ta có 1 tấm ảnh và 1 tờ giấy màu (màu đen chẳng hạn, và kích thước tờ giấy màu sẽ lớn hơn tấm ảnh), sau đó ta cắt 1 cái lỗ hình vuông trên tờ giấy màu, kích cỡ tùy ý (giả sử 200x200px). Rồi ta đặt tờ giấy màu trên tấm ảnh, khi đó ta sẽ nhìn được 1 phần tấm ảnh qua cái lỗ mà ta đã cắt trên tờ giấy màu. Và phần ảnh ta thấy được này sẽ là ảnh thumbnail. Để tùy chỉnh vùng ảnh để hiển thị ảnh thumbnail thì ta chỉ việc dịch chuyển tờ giấu hoặc dịch chuyển ảnh.

Bên dưới là ảnh minh họa

Còn đây là demo

Ảnh gốc

Ảnh thumbnail lấy được:

* Các bước thực hiện:
- đầu tiên các bạn chèn code CSS bên dưới vào trong code template (chèn vào trước dòng code ]]></b:skin> trong code template)
/* CSS thumbnail */

div.thumb{
margin:.5em 0;
margin-right:10px;
border:1px solid #999;
padding:2px;
}
div.thumb {
display:block;
width:100px;
height:100px;
line-height:100px;
overflow:hidden;
position:relative;
z-index:1;
}
div.thumb img{
position:absolute;
top:-20px;
left:-50px;
}

/* END CSS thumbnail */
- 1 số lưu ý về code CSS ở trên:
+ các giá trị width, height trong class div.thumb là chiều cao và độ rộng của ảnh thumbnail.
+ Các top, left trong class div.thumb img chính là vị trí góc trái trên của ảnh thumbnail (so với ảnh gốc).
+ Khi muốn hiển thị ảnh thumbnail thì bạn chỉ việc dùng code tương tự như bên dưới
<div class="thumb"><img src="Link ảnh" /></div>
+ Ngoài ra, nếu ảnh lớn quá, mà ta muốn lấy ảnh thumbnail nhỏ thì (vì khi đó ảnh thumbnail sẽ ko thể hiện hết được ảnh gốc) bạn có thể resize ảnh gốc nhỏ lại, ví dụ như bên dưới:
<div class="thumb"><img src="Link ảnh" width="200" /></div>

Chúc các bạn thành công.


Enter your mail address:

10

Hạnh Beauty

cách này hay nhưng có một khuyết điểm là đôi khi hình ảnh bị khuyết đi nhìn xấu và rất khó hiểu

May Thy

Hay quá, để mình áp dụng thử xem

Phan Dũng

đúng rồi, với các ảnh có chiều cao và rộng quá lệch nhau thì dễ bị khuyết.

MoigioiForex.Com

chuyển ảnh thành CSS trực tuyến >>> http://www.imgtocss.com

Phan Dũng

@MoigioiForex.Com : woah. hay thiệt

DPMNET

Bác Ngân tự sướng ghê quá :D, trình độ thức đêm của bác thật ghê gớm, mình tới 1h là mờ mắt rồi. Anh Dũng cũng làm 1 bài hướng dẫn cho bà con cái này chứ nhỉ ;;)

Phan Dũng

@Ngân: cái đoạn này là để hiển thị bài viết dạng list nè

if (view=="full") {
var numposts = 15; // số bài viết hiển thịt trên 1 trang
}
else {var numposts = 20;}

số 20 đó, Ngân tập đọc lệnh đi, nếu view có giá trị là full thì số bài viết là 15, ngoài ra (tức là view có giá trị là list) thì số bài viết sẽ là 20

Phan Dũng

ặck, comment thiếu rồi sai tè le. thôi kệ

Còn cái nữa, ProPage này mình sẽ hướng dẫn chi tiết sau khi bản ProPage 1 được post lại

Duy Pham

Cái propage này của bác là lấy dữ liệu từ feed để hiển thị phải k? Và hình như phải lôi hết feed về?

p/s: nếu dùng ảnh trên Picasa thì thêm s72, s100... vào link ảnh cũng resize theo kiểu này nhưng dung lượng ảnh giảm đi.

Duy Pham

Em comment bằng tài khoản Blogger hình như toàn vào spam hay sao ý nhỉ, có chèn code gì đâu :-/



☺ Các bạn có thể viết lời bình của mình cho bài viết, và tuân thủ một số quy tắc sau:
» Các bài comment phải nghiêm túc, không dung tục, không spam.
» Nội dung phải liên quan tới chủ đề bài viết.
» Có thể sử dụng thẻ trích dẫn [quote], cấu trúc thẻ như bên dưới :

[quote=AUTHOR name=fdquote]NỘI DUNG[/quote]

» Có thể sử dụng các thẻ <b>,<i>,<a>.


BlOg FD chính thức đóng comment của khách ẩn danh.

BlOg FD.

[▼/▲] More Emoticons
:)) ;)) ;;) :D ;) :p :(( :) :( :X =(( :-o :-/ :-* :| 8-} :)] ~x( :-t b-( :-L x( =))

Newer Posts Older Posts Home