Những hình ảnh lỗi xấu xí.
Nhưng chúng không nhất thiết phải như vậy. Chúng ta có thể sử dụng CSS thiết lập kiểu dáng vào phần tử
Hai thông tin về phần tử
Để hiểu cách mà chúng ta có thể thiết kế kiểu dáng cho các hình ảnh lỗi, dưới đây là hai thông tin về cách mà các phần tử
Chúng ta có thể áp dụng phong cách kiểu chữ thông thường có liên quan tới phần tử
Phần tử
Nhờ vào hai thông tin này, chúng ta có thể áp dụng phong cách cho phần tử
Áp dụng trong thực tế
Sử dụng thông tin trên, dưới đây là một vài ví dụ về cách mà chúng ta có thể thiết kế phong cách cho các hình ảnh lỗi, sử dụng liên kết lỗi sau:
<img src="http://bitsofco.de/broken.jpg" alt="Kanye Laughing">Thêm thông tin hữu ích
Một cách để chúng ta xử lý các hình ảnh bị lỗi là cung cấp một tin nhắn tới người dùng nói rằng hình ảnh đó đã bị lỗi. Sử dụng biểu thức attr(), chúng ta thậm chí có thể hiển thị liên kết tới hình ảnh bị lỗi.
img {Thay thế văn bản thay thế mặc định
font-family: 'Helvetica';
font-weight: 300;
line-height: 2;
text-align: center;
width: 100%;
height: auto;
display: block;
position: relative;
}
img:before {
content: "We're sorry, the image below is broken :(";
display: block;
margin-bottom: 10px;
}
img:after {
content: "(url: " attr(src) ")";
display: block;
font-size: 12px;
}
Ngoài ra, chúng ta có thể sử dụng phần tử pseudo để thay thế văn bản thay thế mặc định sẽ hiển thị.
img { /* Same as first example */ }Phong cách bổ sung
img:after {
content: "\f1c5" " " attr(alt);
font-size: 16px;
font-family: FontAwesome;
color: rgb(100, 100, 100);
display: block;
position: absolute;
z-index: 2;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: #fff;
}
Ngoài việc (hoặc thay vì) hiển thị một tin nhắn tùy chỉnh, chúng ta có thể sử dụng phần tử pseudo để áp dụng nhiều phong cách hơn cho ảnh bị lỗi.
img {Nếu hình ảnh không bị lỗi, với tất cả phong cách tương tự áp dụng với phần tử, hình ảnh được hiển thị bình thường. Các phần tử pseudo không được tạo ra trong mọi trường hợp.
/* Same as first example */
min-height: 50px;
}
img:before {
content: " ";
display: block;
position: absolute;
top: -10px;
left: 0;
height: calc(100% + 10px);
width: 100%;
background-color: rgb(230, 230, 230);
border: 2px dotted rgb(200, 200, 200);
border-radius: 5px;
}
img:after {
content: "\f127" " Broken Image of " attr(alt);
display: block;
font-size: 16px;
font-style: normal;
font-family: FontAwesome;
color: rgb(100, 100, 100);
position: absolute;
top: 5px;
left: 0;
width: 100%;
text-align: center;
}
Khả năng tương thích trình duyệt
Thật không may, không phải tất cả trình duyệt xử lý các hình ảnh lỗi trong cùng một cách. Đối với một số trình duyệt, kể cả khi hình ảnh không hiển thị, các phần tử pseudo cũng không hiển thị.
Dưới đây là những gì tôi thấy từ những thử nghiệm của mình:
* Văn bản thay thế sẽ chỉ hiện thị nếu chiều rộng màn hình đủ lớn để chứa nó. Nếu không có chiều rộng được quy định cho hình ảnh, văn bản thay thế sẽ không hiển thị.
** Kiểu Font không được áp dụng.
Đối với những trình duyệt không hỗ trợ phần tử pseudo thì những phong cách áp dụng được bỏ qua. Điều này có nghĩa rằng chúng ta vẫn có thể áp dụng các phong cách và phục vụ một trải nghiệm thú vị hơn cho người dùng trên một trình duyệt hỗ trợ.
Không có nhận xét nào:
Đăng nhận xét