Hình ảnh không hiển thị trong html trình duyệt di động
Có một số lý do có thể khiến hình ảnh của bạn không hiển thị trên các trang của bạn như mong đợi Các liên kết hoặc hình ảnh bị hỏng không thể do sự cố ở phía máy chủ. Chúng chỉ có thể do mã HTML không chính xác hoặc lỗi khi tải tệp hình ảnh lên máy chủ của chúng tôi Khắc phục sự cố hình ảnh bị hỏng nên bắt đầu bằng các bước sau Rõ ràng là bạn muốn thay thế tên miền, thư mục con và tên tệp hình ảnh của mình khi thích hợp. Hai định dạng hình ảnh phổ biến nhất được sử dụng trên web hiện nay là PNG và JPEG, nhưng cũng có thể là GIF hoặc WEBP mới hơn, do đó, nhiều khả năng hình ảnh của bạn sẽ kết thúc bằng một trong hai định dạng này. PNG hoặc. phần mở rộng JPEG URL được hiển thị trong hộp thoại thuộc tính hiển thị vị trí mà trang web của bạn đang yêu cầu trình duyệt tìm kiếm hình ảnh. Viết ra đường dẫn hoặc sao chép và dán nó vào trình soạn thảo văn bản yêu thích của bạn để bạn có thể tham khảo sau này Bây giờ bạn đã biết hình ảnh được cho là ở đâu và hình ảnh được đặt tên là gì, hãy xác minh rằng hình ảnh đó ở đó. Chuyển đến Bảng điều khiển của bạn và nhấp vào 'Trình quản lý tệp'. Bạn sẽ cần nhấp vào thư mục public_html . Đường dẫn được đại diện bởi "www. thí dụ. com" là thư mục "public_html" của bạn, vì vậy, nơi đầu tiên cần truy cập là thư mục đó. Kiểm tra xem hình ảnh của bạn có nằm trong đúng thư mục trong đường dẫn bạn có ở trên không và tên tệp có đúng không Bạn cũng có thể sử dụng FTP hoặc SSH, đăng nhập vào tài khoản của mình và điều hướng đến thư mục có tên trong đường dẫn bạn đã xác định ở trên. Khi bạn đăng nhập lần đầu vào tài khoản của mình, bạn sẽ ở trong thư mục "gốc" hoặc "hệ thống" (trừ khi bạn đã định cấu hình ứng dụng của mình để tự động mở trong thư mục cấp dưới. ) Sử dụng lệnh "cd" để thay đổi thư mục trong SSH Tiếp tục điều hướng cho đến khi bạn tới thư mục con (my-image-dir trong ví dụ trên) chứa hình ảnh của bạn (myimage. png trong ví dụ trên) được cho là được tìm thấy. Khi bạn ở đó, hãy thử tìm tệp hình ảnh của bạn (myimage. png trong ví dụ trên). Ứng dụng khách FTP sẽ tự động hiển thị tất cả các tệp nằm trong thư mục hiện tại. Trong SSH, để có danh sách thư mục, hãy nhập "ls -a" (không có dấu ngoặc kép) và nhấn enter Rất có thể bây giờ bạn đã phát hiện ra vấn đề. Nếu tệp hình ảnh không có ở đó, hãy đặt nó ở đó bằng cách nhấp vào 'tải lên' trong Trình quản lý tệp hoặc điều chỉnh thẻ hình ảnh của bạn để thẻ phản ánh đúng vị trí Nếu đường dẫn hệ thống của tệp hình ảnh khớp với URL của đường dẫn của trình duyệt *chính xác* mà hình ảnh vẫn không hiển thị thì tệp hình ảnh đó có thể bị hỏng hoặc hỏng. Đảm bảo hình ảnh tải trên máy tính cục bộ của bạn (dùng thử trong trình duyệt của bạn) rồi tải lên lại (ở chế độ BINARY, nếu sử dụng FTP) Nếu nó vẫn không hoạt động và bạn là khách hàng hiện tại, vui lòng yêu cầu hỗ trợ bằng cách gửi phiếu hỗ trợ lưu trữ web. Hoặc nếu không phải là khách hàng hiện tại, hãy đăng ký dịch vụ lưu trữ cPanel hạng thương gia ngay hôm nay để nhận được sự hỗ trợ mà bạn xứng đáng Trong bài viết này, chúng ta sẽ tìm hiểu về khái niệm hình ảnh phản hồi — hình ảnh hoạt động tốt trên các thiết bị có kích thước màn hình, độ phân giải và các tính năng khác nhau rất khác nhau — và xem những công cụ mà HTML cung cấp để giúp triển khai chúng. Điều này giúp cải thiện hiệu suất trên các thiết bị khác nhau. Hình ảnh đáp ứng chỉ là một phần của thiết kế đáp ứng, một chủ đề CSS trong tương lai để bạn tìm hiểu Hãy xem xét một tình huống điển hình. Một trang web điển hình có thể chứa hình ảnh tiêu đề và một số hình ảnh nội dung bên dưới tiêu đề. Hình ảnh tiêu đề có thể sẽ trải dài trên toàn bộ chiều rộng của tiêu đề và hình ảnh nội dung sẽ vừa với một nơi nào đó bên trong cột nội dung. Đây là một ví dụ đơn giản Điều này hoạt động tốt trên thiết bị màn hình rộng, chẳng hạn như máy tính xách tay hoặc máy tính để bàn (bạn có thể xem ví dụ trực tiếp và tìm mã nguồn trên GitHub. ) Chúng ta sẽ không thảo luận nhiều về CSS trong bài học này, ngoại trừ việc nói rằng
Tuy nhiên, các vấn đề phát sinh khi bạn bắt đầu xem trang web trên thiết bị màn hình hẹp. Tiêu đề bên dưới có vẻ ổn, nhưng nó bắt đầu chiếm nhiều chiều cao màn hình đối với thiết bị di động. Và với kích thước này, rất khó để nhìn thấy khuôn mặt của hai người trong hình ảnh nội dung đầu tiên Một cải tiến sẽ là hiển thị phiên bản đã cắt của hình ảnh hiển thị các chi tiết quan trọng của hình ảnh khi trang web được xem trên màn hình hẹp. Hình ảnh được cắt xén thứ hai có thể được hiển thị cho thiết bị màn hình có chiều rộng trung bình, chẳng hạn như máy tính bảng. Vấn đề chung mà theo đó bạn muốn phục vụ các hình ảnh được cắt xén khác nhau theo cách đó, cho các bố cục khác nhau, thường được gọi là vấn đề về hướng nghệ thuật Ngoài ra, không cần phải nhúng những hình ảnh lớn như vậy trên trang nếu nó đang được xem trên màn hình di động. Làm như vậy có thể lãng phí băng thông; . Ngược lại, một hình ảnh raster nhỏ bắt đầu trông có hạt khi được hiển thị lớn hơn kích thước ban đầu của nó (hình ảnh raster là một số pixel chiều rộng và một số pixel chiều cao, như chúng ta đã thấy khi xem đồ họa vector). Lý tưởng nhất là nhiều độ phân giải sẽ được cung cấp cho trình duyệt web của người dùng. Sau đó, trình duyệt có thể xác định độ phân giải tối ưu để tải dựa trên kích thước màn hình của thiết bị người dùng. Đây được gọi là vấn đề chuyển đổi độ phân giải Để làm cho mọi thứ trở nên phức tạp hơn, một số thiết bị có màn hình độ phân giải cao cần hình ảnh lớn hơn bạn mong đợi để hiển thị đẹp mắt. Đây thực chất là cùng một vấn đề, nhưng trong một bối cảnh hơi khác Bạn có thể nghĩ rằng hình ảnh vector sẽ giải quyết được những vấn đề này và chúng làm được ở một mức độ nhất định — chúng có kích thước tệp nhỏ và tỷ lệ tốt và bạn nên sử dụng chúng bất cứ khi nào có thể. Tuy nhiên, chúng không phù hợp với tất cả các loại hình ảnh. Hình ảnh vector rất phù hợp cho đồ họa đơn giản, mẫu, thành phần giao diện, v.v. , nhưng nó bắt đầu trở nên rất phức tạp để tạo một hình ảnh dựa trên véc-tơ với loại chi tiết mà bạn sẽ tìm thấy trong một bức ảnh chẳng hạn. Các định dạng hình ảnh raster như JPEG phù hợp hơn với loại hình ảnh chúng ta thấy trong ví dụ trên Loại vấn đề này không tồn tại khi web lần đầu tiên xuất hiện, vào đầu những năm 90 đến giữa những năm 90 - vào thời điểm đó, thiết bị duy nhất tồn tại để duyệt Web là máy tính để bàn và máy tính xách tay, vì vậy các kỹ sư trình duyệt và người viết thông số kỹ thuật thậm chí còn không nghĩ đến việc triển khai . Các công nghệ hình ảnh đáp ứng đã được triển khai gần đây để giải quyết các vấn đề nêu trên bằng cách cho phép bạn cung cấp cho trình duyệt một số tệp hình ảnh, tất cả đều hiển thị cùng một thứ nhưng chứa số lượng pixel khác nhau (chuyển đổi độ phân giải) hoặc các hình ảnh khác nhau phù hợp với các phân bổ không gian khác nhau (hướng nghệ thuật Ghi chú. Các tính năng mới được thảo luận trong bài viết này — //_______54_______ — đều được hỗ trợ trong trình duyệt máy tính để bàn và thiết bị di động hiện đại (bao gồm cả trình duyệt Edge của Microsoft, mặc dù không phải Internet Explorer. ) Trong phần này, chúng ta sẽ xem xét hai vấn đề được minh họa ở trên và chỉ ra cách giải quyết chúng bằng các tính năng hình ảnh phản hồi của HTML. Bạn nên lưu ý rằng chúng tôi sẽ tập trung vào các yếu tố 2 cho phần này, như đã thấy trong khu vực nội dung của ví dụ trên — hình ảnh trong tiêu đề trang web chỉ để trang trí và do đó được triển khai bằng cách sử dụng hình nền CSS. CSS được cho là có các công cụ tốt hơn cho thiết kế đáp ứng so với HTML và chúng ta sẽ nói về những công cụ đó trong mô-đun CSS trong tương laiVì vậy, vấn đề mà chúng tôi muốn giải quyết với chuyển đổi độ phân giải là gì? . Theo truyền thống, phần tử 2 tiêu chuẩn chỉ cho phép bạn trỏ trình duyệt tới một tệp nguồn duy nhất
Tuy nhiên, chúng tôi có thể sử dụng hai thuộc tính — và — để cung cấp một số hình ảnh nguồn bổ sung cùng với các gợi ý để giúp trình duyệt chọn đúng hình ảnh. Bạn có thể xem một ví dụ về điều này trong phản hồi của chúng tôi. html ví dụ trên GitHub (xem thêm mã nguồn)
Các thuộc tính 0 trông có vẻ phức tạp, nhưng chúng không quá khó hiểu nếu bạn định dạng chúng như minh họa ở trên, với một phần khác nhau của giá trị thuộc tính trên mỗi dòng. Mỗi giá trị chứa một danh sách được phân tách bằng dấu phẩy và mỗi phần của các danh sách đó được tạo thành từ ba phần phụ. Bây giờ chúng ta hãy chạy qua nội dung của từng
0 xác định một tập hợp các điều kiện phương tiện (e. g. chiều rộng màn hình) và cho biết nên chọn kích thước hình ảnh nào là tốt nhất, khi một số điều kiện phương tiện nhất định là đúng — đây là những gợi ý mà chúng ta đã nói trước đó. Trong trường hợp này, trước mỗi dấu phẩy chúng ta viết
Ghi chú. Đối với chiều rộng vùng, thay vì cung cấp chiều rộng tuyệt đối (ví dụ: 5), bạn có thể cung cấp chiều rộng tương đối so với khung nhìn (ví dụ: 7) — nhưng không phải là tỷ lệ phần trăm. Bạn có thể nhận thấy rằng chiều rộng của vị trí cuối cùng không có điều kiện phương tiện (đây là giá trị mặc định được chọn khi không có điều kiện phương tiện nào là đúng). Trình duyệt bỏ qua mọi thứ sau điều kiện khớp đầu tiên, vì vậy hãy cẩn thận với cách bạn sắp xếp thứ tự các điều kiện phương tiệnVì vậy, với các thuộc tính này, trình duyệt sẽ
Và đó là nó. Tại thời điểm này, nếu trình duyệt hỗ trợ có chiều rộng khung nhìn là 480px tải trang, điều kiện phương tiện 0 sẽ là đúng và do đó trình duyệt chọn vị trí 5. 9 sẽ được tải vì chiều rộng vốn có của nó ( 0) gần nhất với kích thước vùng. Hình ảnh 800px là 128KB trên đĩa, trong khi phiên bản 480px chỉ là 63KB — tiết kiệm được 65KB. Bây giờ, hãy tưởng tượng nếu đây là một trang có nhiều hình ảnh trên đó. Sử dụng kỹ thuật này có thể tiết kiệm rất nhiều băng thông cho người dùng di độngGhi chú. Khi kiểm tra điều này với trình duyệt trên máy tính để bàn, nếu trình duyệt không tải được hình ảnh hẹp hơn khi bạn đã đặt cửa sổ của nó thành chiều rộng hẹp nhất, hãy xem chế độ xem là gì (bạn có thể ước tính nó bằng cách vào bảng điều khiển JavaScript của trình duyệt . Các trình duyệt khác nhau có kích thước tối thiểu mà chúng sẽ cho phép bạn giảm chiều rộng cửa sổ xuống và chúng có thể rộng hơn bạn nghĩ. Khi kiểm tra nó với trình duyệt di động, bạn có thể sử dụng các công cụ như trang 5 của Firefox để kiểm tra trang được tải trên thiết bị di động bằng các công cụ dành cho nhà phát triển trên máy tính để bànĐể xem hình ảnh nào đã được tải, bạn có thể sử dụng tab Giám sát mạng của Firefox DevTools hoặc bảng điều khiển Mạng của Chrome DevTools. Đối với Chrome, bạn cũng có thể muốn tắt bộ đệm để ngăn không cho bộ đệm chọn các hình ảnh đã tải xuống Các trình duyệt cũ hơn không hỗ trợ các tính năng này sẽ bỏ qua chúng. Thay vào đó, các trình duyệt đó sẽ tiếp tục và tải hình ảnh được tham chiếu trong thuộc tính như bình thường Ghi chú. Trong 7 của ví dụ được liên kết ở trên, bạn sẽ tìm thấy dòng 8. điều này buộc các trình duyệt trên thiết bị di động áp dụng chiều rộng khung nhìn thực của chúng để tải trang web (một số trình duyệt di động nói dối về chiều rộng khung nhìn của chúng và thay vào đó tải các trang ở chiều rộng khung nhìn lớn hơn rồi thu nhỏ trang đã tải xuống, điều này không hữu ích lắm cho hình ảnh hoặc thiết kế phản hồi Nếu bạn đang hỗ trợ nhiều độ phân giải màn hình, nhưng mọi người nhìn thấy hình ảnh của bạn ở cùng kích thước thực tế trên màn hình, bạn có thể cho phép trình duyệt chọn hình ảnh có độ phân giải phù hợp bằng cách sử dụng 0 — dễ dàng hơn một chút . Bạn có thể tìm thấy một ví dụ về giao diện này trong srcset-resolutions. html (xem thêm mã nguồn) Trong ví dụ này, CSS sau đây được áp dụng cho hình ảnh để nó có chiều rộng 320 pixel trên màn hình (còn được gọi là pixel CSS)
Trong trường hợp này, 0 là không cần thiết — trình duyệt tìm ra độ phân giải của màn hình mà nó đang được hiển thị và cung cấp hình ảnh phù hợp nhất được tham chiếu trong srcset . Vì vậy, nếu thiết bị truy cập trang có màn hình tiêu chuẩn/độ phân giải thấp, với một pixel thiết bị đại diện cho mỗi pixel CSS, thì hình ảnh 3 sẽ được tải (1x được ngụ ý, vì vậy bạn không cần thêm nó. ) Nếu thiết bị có độ phân giải cao từ hai pixel thiết bị trên mỗi pixel CSS trở lên, thì hình ảnh 4 sẽ được tải. Hình ảnh 640px là 93KB, trong khi hình ảnh 320px chỉ là 39KBTóm lại, vấn đề về hướng nghệ thuật liên quan đến việc muốn thay đổi hình ảnh được hiển thị để phù hợp với các kích thước hiển thị hình ảnh khác nhau. Ví dụ: một trang web bao gồm ảnh phong cảnh lớn với một người ở giữa khi được xem trên trình duyệt máy tính để bàn. Khi xem trên trình duyệt dành cho thiết bị di động, hình ảnh đó bị thu nhỏ lại, khiến người trong ảnh rất nhỏ và khó nhìn thấy. Có lẽ sẽ tốt hơn nếu hiển thị hình ảnh chân dung, nhỏ hơn trên thiết bị di động, hình ảnh này sẽ phóng to người đó. Phần tử Quay trở lại trạng thái không phản hồi ban đầu của chúng tôi. html, chúng tôi có một hình ảnh rất cần chỉ đạo nghệ thuật
Hãy sửa lỗi này, với 7 và 8, phần tử là một trình bao bọc chứa một số phần tử 0 cung cấp các nguồn khác nhau để trình duyệt lựa chọn, tiếp theo là phần tử quan trọng nhất 2. Mã trong đáp ứng. html trông giống như vậy
Mã này cho phép chúng tôi hiển thị hình ảnh phù hợp trên cả màn hình rộng và màn hình hẹp, như hình bên dưới Ghi chú. Bạn chỉ nên sử dụng thuộc tính 3 trong các tình huống chỉ đạo nghệ thuật; Khi trình duyệt bắt đầu tải một trang, nó sẽ bắt đầu tải xuống (tải trước) bất kỳ hình ảnh nào trước khi trình phân tích cú pháp chính bắt đầu tải và diễn giải CSS và JavaScript của trang. Cơ chế đó nói chung là hữu ích để giảm thời gian tải trang, nhưng nó không hữu ích cho hình ảnh phản hồi — do đó cần triển khai các giải pháp như 2, sau đó phát hiện chiều rộng khung nhìn bằng JavaScript rồi tự động thay đổi hình ảnh nguồn thành hình ảnh nhỏ hơn nếu muốn. Đến lúc đó, hình ảnh gốc đã được tải và bạn cũng sẽ tải hình ảnh nhỏ, điều này thậm chí còn tệ hơn về mặt hình ảnh phản hồiCác định dạng hình ảnh mới như và có thể duy trì đồng thời kích thước tệp thấp và chất lượng cao. Các định dạng này hiện có hỗ trợ trình duyệt tương đối rộng rãi nhưng ít "độ sâu lịch sử"
Đối với việc học tích cực này, chúng tôi mong bạn dũng cảm và làm điều đó một mình, chủ yếu là. Chúng tôi muốn bạn triển khai màn hình hẹp/ảnh chụp màn hình rộng theo định hướng nghệ thuật phù hợp của riêng bạn bằng cách sử dụng
Đó là gói dành cho hình ảnh phản hồi — chúng tôi hy vọng bạn thích chơi với những kỹ thuật mới này. Như một bản tóm tắt, có hai vấn đề khác biệt mà chúng tôi đã thảo luận ở đây
Điều này cũng dẫn đến việc đóng toàn bộ mô-đun Đa phương tiện và nhúng. Điều duy nhất cần làm bây giờ trước khi tiếp tục là thử đánh giá Đa phương tiện và nhúng của chúng tôi và xem bạn tiếp tục như thế nào. Chúc vui vẻ Tại sao hình ảnh không hiển thị trong HTML trong Điện thoại di động?Làm theo các bước sau. Trong trình duyệt, điều hướng đến Menu > Khác > Cài đặt. Trong phần Cài đặt, hãy đảm bảo chọn cả Tải hình ảnh và Bật JavaScript . Nếu tùy chọn này khả dụng, hãy nhấn vào Đặt kích thước bộ đệm và tăng kích thước bộ đệm.
Tại sao hình ảnh của tôi không hoạt động trong HTML?Có một số lý do có thể khiến hình ảnh của bạn không hiển thị trên các trang của bạn như mong đợi. Tệp hình ảnh không nằm ở cùng vị trí được chỉ định trong thẻ IMG của bạn . Hình ảnh không có cùng tên tệp như được chỉ định trong thẻ IMG của bạn. Tệp hình ảnh bị hỏng hoặc bị hỏng.
Làm cách nào để thêm hình ảnh vào HTML trên thiết bị di động?Chúng ta nên sử dụng thẻ … . Thẻ
Tại sao liên kết hình ảnh của tôi không hiển thị trong HTML?Điều này thường xảy ra theo một trong ba cách. tệp hình ảnh không còn nằm ở vị trí được chỉ định trong thẻ ; . tệp hình ảnh bị hỏng hoặc bị hỏng. |