Cách đặt hình ảnh lên một hình ảnh lớn hơn, như trên youtube, nút phát được hiển thị ở đầu hình thu nhỏ video?Cách đặt hình ảnh lên hình khác?
Trả lời
Nếu bạn có kiểm soát tốt kích thước hình ảnh, chúng tôi đã sử dụng nền cho các phần tử khác nhau - ví dụ: đặt nền của ô bảng thành một hình ảnh và đặt tab img bên trong ô.
Tôi không chắc chắn rằng YouTube sử dụng hình ảnh cho hiệu ứng này, có phải đó vẫn là trình phát Flash không?
Nhưng dù sao, chính xác việc này được thực hiện phụ thuộc rất nhiều vào thiết kế mà bạn muốn đạt được. Giả sử bạn muốn đạt được phong cách YouTube, nơi bạn có hình thu nhỏ và muốn phủ lên hình ảnh nút phát ở trên cùng. Nếu bạn muốn thu nhỏ là một <img>
thẻ thực tế, bạn sẽ cần thêm một số đánh dấu, như thế này:
<div class="thumb-wrapper">
<img src="mythumbnail.gif" alt="my awesome video" /><span></span>
</div>
Các wrapper <div>
là cần thiết để bạn có thể nhắm mục tiêu img và span một cách chính xác, và có kích thước để chứa chúng trong Phạm vi là nơi hình ảnh lớp phủ sẽ đi.
.thumb-wrapper {
position:relative;
}
.thumbwrapper span {
position:absolute;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
z-index: 100;
background: transparent url(overlay.png) no-repeat;
}
(Tôi đã không thực sự thử nghiệm này, nếu nó blatently sai cho tôi biết tôi sẽ rà soát lại nó!)
này giả định một vài điều:
- hình thu nhỏ của bạn sẽ luôn là kích thước cố định và hình ảnh lớp phủ của bạn khớp với số đó
- Hình ảnh lớp phủ của bạn là một hình ảnh trong suốt PNG
Bạn cũng có thể sử dụng kiểu opacity:
để đạt đượC# 2. Tất nhiên, IE6 sẽ đi sau đầu xấu xí của nó và bạn sẽ cần phải sử dụng một sửa chữa PNG cho nó nếu đi tuyến đường hình ảnh trong suốt, hoặc một bộ lọc opacity riêng biệt nếu sử dụng phương pháp đó. Cả hai đều được trả lời một cách không chắc chắn ở nơi khác trên Stack Overflow hoặc dễ dàng google-có thể.
Nếu bạn có các yêu cầu khác, bạn có thể thực hiện việc này mà không cần đánh dấu thêm, vì tôi đã nói tất cả phụ thuộc vào những gì bạn cần chính xác. Một số yêu cầu có thể không thực hiện được nếu không có JavaScript (điều này tất nhiên có nghĩa là bạn có thể thêm bất kỳ đánh dấu nào với điều đó!).
Lấy ví dụ bạn của youtube, bạn có thể rất dễ dàng làm điều này với 2 hình ảnh và 1 thẻ img và một chút CSS dĩ nhiên;)
<style>
img.youtube {
width:500px; height:500px;
margin:0; padding:0;
background:transparent url(/point/to/your/larger/image.jpg) no-repeat center
}
</style>
<img src="/point/to/youtube/play/image.png" alt="Gotta have alt text ;)" border="0" class="youtube" />
Làm thế nào nó hoạt động rất đơn giản, bạn có nhỏ hình ảnh youtube dưới dạng PNG hoặc GIF trong suốt và sau đó đặt hình nền làm hình ảnh lớn hơn, sau đó sẽ cung cấp hiệu ứng của hình ảnh nhỏ hơn ở giữa mà không cần đánh dấu thêm.
Không có đánh dấu thêm nào tuyệt vời khi đánh dấu bạn có là có ý nghĩa, trong trường hợp này, hình ảnh chỉ là nút phát không có bất kỳ ý nghĩa nào không có kiểu CSS. Tôi muốn có thêm đánh dấu để đảm bảo nó có ý nghĩa mà không có phong cách, không chỉ là một danh sách các nút chơi! – roryf
Rất đúng, nhưng đó không phải là những gì OP yêu cầu;) – Phunky
Bạn sẽ tìm ra giải pháp trong các chủ đề sau đây trên StackOverflow: How to draw a graphic over another graphic
Ngay (trích dẫn sau Ipsquiggle):
<div style="position:relative">
<div>
<img url="backgroundimg.png">
</div>
<div style="position:absolute; left:0; top:0;">
<a href="foo.html"><img url="smallgraphic.png"></a>
</div>
</div>
Xem thêm chi tiết tại sao và làm thế nào nó hoạt động trong các chủ đề ban đầu.
Câu trả lời của mọi người ở đây quá phức tạp.
Tạo hình PNG, bán trong suốt, có biểu tượng có vẻ như là "phát". Làm cho nó kích thước bạn muốn, có thể là một đồ họa 320x240 hoặc những gì không. Hãy nói rằng bạn đặt tên nó là "overlay.png"
Hãy nói rằng YouTube tạo thumbnail là http://img.ytimg.com/abcdefg/0.jpg
Bây giờ tất cả các bạn cần trong mã của bạn là thế này:
<a href="destination_of_your_link"><img src="overlay.png" width="320" height="240" border="0" style="background:URL(http://img.ytimg.com/abcdefg/0.jpg) center center black;" /></a>
Chừng nào bạn đối tượng mục tiêu vẫn không sử dụng IE6, bạn nên an toàn.
Đơn giản và thẳng về phía trước. Thumb up cho đơn giản giải pháp. Được đào tạo –
Tại sao nhiều người trong chúng ta luôn tìm cách làm việc phức tạp nhất ?. Câu trả lời này có chức năng ở tất cả, +1 ngắn và hiệu quả. – datelligence
- 1. OpenCV vẽ hình ảnh lên hình ảnh khác
- 2. cách hợp nhất Hình ảnh và áp đặt lên nhau
- 3. Làm cách nào để thêm hình ảnh lên đầu hình ảnh khác?
- 4. Làm cách nào để chồng hình ảnh SVG lên một hình ảnh khác bằng Apache Batik?
- 5. Làm cách nào để có thể phủ một hình ảnh lên hình ảnh khác?
- 6. Đặt hình mờ vào các hình ảnh khác (C#, ASP.Net)
- 7. Tham gia hình ảnh PNG lên hình ảnh động APNG
- 8. Cách tải hình ảnh lên canvas HTML5
- 9. html5 Tải lên hình ảnh
- 10. Cách đặt hình ảnh màn hình khóa android
- 11. Tải hình ảnh lên trong ASP.NET MVC
- 12. tải hình ảnh từ android lên webservice
- 13. Cách đặt hình ảnh vào hộp hình từ Bitmap
- 14. Cách đặt hình ảnh làm hình nền theo chương trình?
- 15. vẽ hình ảnh lên bitmap lớn hơn
- 16. iPhone, làm cách nào để phủ một hình ảnh lên hình ảnh khác để tạo hình ảnh mới để lưu? (watermark)
- 17. opencv tìm hình ảnh ở trên hình ảnh khác
- 18. Android - Vẽ lên đầu hình ảnh
- 19. Thêm đường viền lên đầu hình ảnh bằng cách sử dụng hình ảnh
- 20. Cách đặt một hình ảnh cạnh nhau
- 21. Cách đặt hình ảnh thành UIImage
- 22. So sánh các hình ảnh tương tự như hình ảnh - phát hiện sự khác biệt, hình ảnh khác
- 23. tinyMCE - cách xử lý tải lên hình ảnh
- 24. Tìm hình ảnh bên trong một hình ảnh khác
- 25. Cách tiếp cận bảo mật tải lên hình ảnh PHP
- 26. Tìm hình ảnh bị hỏng trong trang & hình ảnh thay thế bởi hình ảnh khác
- 27. Tạo hình ảnh với GD chứa các hình ảnh khác
- 28. Tải hình ảnh lên đường ray
- 29. FACEBOOK JS SDK :: cách đăng hình ảnh lên tường
- 30. Tải lên hình ảnh jQuery ajax
Điều này có liên quan không? - http://stackoverflow.com/questions/403478/how-to-overlay-images – aasu