Chuyển đến nội dung chính

Thiết kế CSS cho hình ảnh bị lỗi


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ử để cung cấp một trải nghiệm tốt hơn so với mặc định.
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ử hoạt động mà chúng ta cần phải hiểu trước:
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ử . Những phong cách này sẽ được áp dụng cho văn bản thay thế (alt text) và sẽ không ảnh hưởng đến hình ảnh không bị lỗi.
Phần tử là một phần tử bị thay thế. Đây là một phần tử "có kiểu dáng và kích thước được định nghĩa bởi một nguồn tài nguyên bên ngoài" (Sitepoint). Bởi vì thành phần được điều khiển bởi một nguồn bên ngoài, các phần tử pseudo :before và :after không hoạt động với nó. Tuy nhiên, khi hình ảnh bị lỗi và không thể nạp được, những phần tử pseudo này có thể xuất hiện.
Nhờ vào hai thông tin này, chúng ta có thể áp dụng phong cách cho phần tử mà chỉ xuất hiện khi ảnh bị lỗi mà không ảnh hưởng tới các hình ảnh không bị lỗi.
Á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 {  
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;
}
Thay thế văn bản thay thế mặc định
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 */ }

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;
}
Phong cách bổ sung
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 {  
/* 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;
}
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.

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ợ.

Nhận xét

Bài đăng phổ biến từ blog này

[Blogger] Gỡ bỏ bản quyền template Blogspot không bị chuyển hướng

Xin chào các blogger, hẳn khi làm blog bạn chẳng còn xa lạ gì những trang cung cấp template nổi tiếng như soratemplates, gooyaabitemplates,... đúng không. Mỗi khi bạn tải template về thường có 2 tùy chọn đó là bản free và bản premium. Sự khác biệt giữa chúng là quá rõ ràng kể đến như support hoặc mã hóa code,...


Dân nghèo như chúng ta thường chỉ chơi bản free thôi, và đương nhiên sẽ có nhiều template dính quả bản quyền thần chưởng, ở đó thì họ thường gắn tên vào cuối footer và khi ta xóa dòng đó đi web site sẽ tự động chuyển hướng tới trang chủ của họ. Nói chung ta không nên xóa bản quyền template đi vì đó thể hiện sự tôn trọng tới người đã tạo ra template cho ta sử dụng.

Còn trong khuôn khổ bài viết này hung1001 sẽ cùng bạn tìm hiểu cách gỡ và thêm bản quyền của bạn vào nếu như bạn thích.


Ở đây tôi làm mẫu với template Treasury của Sora bản free. Đây là dòng tác giả đã chèn bản quyền và có đoạn js điều hướng nếu dòng bị xóa


Nhiệm vụ của bạn đó là đi dò toàn bộ các đoạn mã js đã bị mã hó…

[Blogger] Tạo hiệu ứng tuyết rơi chào đón Noel cho blogspot

Noel sắp đến để tăng thêm hiệu ứng cho blog của bạn hãy thêm vào 1 chút hiệu ứng tuyết rơi để cho không khí thêm sôi động


Cách làm cực kì đơn giản:

Đăng nhập vào blogChọn mẫu và vào phần chỉnh sửa htmlBạn để đoạn code sau vào giữa cặp thẻ <body> ... </body>
<script src='https://cdn.rawgit.com/hung1001/blogspot/master/js/tuyetroi.js'/>

Code nhúng trực tiếp vào web không thông qua host

<script type="text/javascript">
//<![CDATA[
var snowmax=100
var snowcolor=new Array("#f2f8fa","#eff5f7","#dcedf1","#ffffff")
var snowtype=new Array("Times","Arial","Times","Verdana")
var snowletter="*"
var sinkspeed=1
var snowmaxsize=30
var snowminsize=20
// Set 1 for all-over-snowing, set 2 for left-side-snowing
// Set 3 for center-snowing, set 4 for right-side-snowing
var snowingzone=1
// Do not edit below this line
var snow=new Array()
var marginbottom
var marginright
var timer
var i_snow=0
v…

Share Template Mudah Grid Responsive.

Chào mọi người, dạo gần đây mình thấy có một bản mẫu blogspot đi kèm với một giao diện khá thân thiện nên mình cũng đem về rồi nhờ người anh em thân thiết xóa cái bản quyền template đi rồi share cho anh em dùng.  ƯU ĐIỂMLoad nhanhSEO tốtChuẩn responsiveRecent labelButton ShareFollow by emailBreadcrumbs...NHƯỢC ĐIỂMThì mình chưa tìm ra. Cách nhận template- Comment link share trên mạng xã hội ( tùy tâm ) - Comment mail phía dưới. Lưu ý: Bản này hoàn toàn đã xóa bản quyền rồi nhé.
Xem Demo