Hướng dẫn css print image size - kích thước hình ảnh in css

Hướng dẫn các nhà phát triển giao diện cố định kích thước ảnh hiển thị trên giao diện thích hợp với mọi kích thước ảnh đầu vào mà mọi kích thước màn hình

Có nhiều phương pháp cố định kích thước ảnh theo tỉ lệ, trong bài này mình hướng dẫn 02 cách thường dùng nhất là dùng

6 và dùng thuộc tính

.img-responsive-wrap {
    position: relative;
    height: 0;
    padding-bottom: 60%;
}

.img-responsive-wrap .img-inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    background-size: cover;
    background-position: center center;
}

.img-responsive-wrap .img-inner img {
    display: none;
}
0 của ảnh.

Dùng background-size cover

Mã HTML:

Mã CSS:

.img-responsive-wrap {
    position: relative;
    height: 0;
    padding-bottom: 60%;
}

.img-responsive-wrap .img-inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    background-size: cover;
    background-position: center center;
}

.img-responsive-wrap .img-inner img {
    display: none;
}

Giải thích:

  • Thẻ
    .img-responsive-wrap {
        position: relative;
        height: 0;
        padding-bottom: 60%;
    }
    
    .img-responsive-wrap .img-inner {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        display: block;
        background-size: cover;
        background-position: center center;
    }
    
    .img-responsive-wrap .img-inner img {
        display: none;
    }
    1 có tác dụng tạo ra một khu vực rộng bằng 100% khu vực chứa nó, chiều cao theo tỉ lệ với chiều rộng theo thuộc tính
    .img-responsive-wrap {
        position: relative;
        height: 0;
        padding-bottom: 60%;
    }
    
    .img-responsive-wrap .img-inner {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        display: block;
        background-size: cover;
        background-position: center center;
    }
    
    .img-responsive-wrap .img-inner img {
        display: none;
    }
    2
  • Thẻ
    .img-responsive-wrap {
        position: relative;
        height: 0;
        padding-bottom: 60%;
    }
    
    .img-responsive-wrap .img-inner {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        display: block;
        background-size: cover;
        background-position: center center;
    }
    
    .img-responsive-wrap .img-inner img {
        display: none;
    }
    3 là thẻ luôn rộng và cao bằng 100%, có nền là ảnh muốn hiển thị với thuộc tính
    .img-responsive-wrap {
        position: relative;
        height: 0;
        padding-bottom: 60%;
    }
    
    .img-responsive-wrap .img-inner {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        display: block;
        background-size: cover;
        background-position: center center;
    }
    
    .img-responsive-wrap .img-inner img {
        display: none;
    }
    4
  • Cho ẩn ảnh bên trong img-inner

Cách này thông dụng hơn vì tương thích nhiều trình duyệt hơn. Chi tiết xem tại đây

Dùng object-fit

Mã HTML:

Mã CSS:

Mã CSS:

.img-responsive-wrap {
    position: relative;
    height: 0;
    padding-bottom: 66%;
}

.img-responsive-wrap .img-inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
}

.img-responsive-wrap .img-inner img {
    object-position: center;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

Giải thích:

  • Thẻ
    .img-responsive-wrap {
        position: relative;
        height: 0;
        padding-bottom: 60%;
    }
    
    .img-responsive-wrap .img-inner {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        display: block;
        background-size: cover;
        background-position: center center;
    }
    
    .img-responsive-wrap .img-inner img {
        display: none;
    }
    1 có tác dụng tạo ra một khu vực rộng bằng 100% khu vực chứa nó, chiều cao theo tỉ lệ với chiều rộng theo thuộc tính
    .img-responsive-wrap {
        position: relative;
        height: 0;
        padding-bottom: 60%;
    }
    
    .img-responsive-wrap .img-inner {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        display: block;
        background-size: cover;
        background-position: center center;
    }
    
    .img-responsive-wrap .img-inner img {
        display: none;
    }
    2
  • Thẻ
    .img-responsive-wrap {
        position: relative;
        height: 0;
        padding-bottom: 60%;
    }
    
    .img-responsive-wrap .img-inner {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        display: block;
        background-size: cover;
        background-position: center center;
    }
    
    .img-responsive-wrap .img-inner img {
        display: none;
    }
    3 là thẻ luôn rộng và cao bằng 100%, có nền là ảnh muốn hiển thị với thuộc tính
    .img-responsive-wrap {
        position: relative;
        height: 0;
        padding-bottom: 60%;
    }
    
    .img-responsive-wrap .img-inner {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        display: block;
        background-size: cover;
        background-position: center center;
    }
    
    .img-responsive-wrap .img-inner img {
        display: none;
    }
    4
  • Cho ẩn ảnh bên trong img-inner

Cách này thông dụng hơn vì tương thích nhiều trình duyệt hơn. Chi tiết xem tại đây

2

Như mình đã giải thích bên trên. Khi sử dụng object-fit: cover thì hình ảnh sẽ giữ nguyên tỷ lệ và sẽ được cắt bớt sao cho vừa khớp với khung của element chứa nó. Các bạn có thể xem ví dụ dưới đây:object-fit: cover thì hình ảnh sẽ giữ nguyên tỷ lệ và sẽ được cắt bớt sao cho vừa khớp với khung của element chứa nó. Các bạn có thể xem ví dụ dưới đây:

3

Giải thích 1 chút với đoạn code trên: Mình có 1 ảnh. 1 bên chỉ set gái trị cho width còn height: auto, 1 bên fix cứng giá trị cho cả 2. Lúc này mình sẽ sử dụng css như sau:

Và kết quả hiển thị sẽ là như thế này:object-fit: cover đã được cắt bớt sao cho vừa đủ với khung của element chứa nó.

Như các bạn thấy đó, 1 phần ảnh ở bên phần object-fit: cover đã được cắt bớt sao cho vừa đủ với khung của element chứa nó.object-fit: cover đã được cắt bớt sao cho vừa đủ với khung của element chứa nó.

object-fit: containobject-fit: cover, object-fit: contain sẽ thay đổi kích thước của ảnh sao cho ảnh đó hiển thị đầy đủ trong khung. Thực chất có rất nhiều khách hàng họ muốn hiển thị hình ảnh theo kiểu này. Như vậy, họ không cần băn khoăn việc cut image sao cho đúng tỷ lệ, họ chỉ cần chọn ảnh đẹp, vừa ý để upload lên. Mình có 1 đoạn code như sau:

4

Đoạn HTML trên mình sử dụng 2 hình ảnh có kích thước khác nhau:

Như vậy có thể nhìn thấy 1 cách trực quan nhất. Và sử dụng css như sau:

5

Kết quả hiển thị sẽ được như thế này.

Nhìn khá là thích mắt đúng không?

object-position

Thuộc tính object-position được sử dụng cùng với object-fit để chỉ định vị trí cho hoặc với tọa độ x/y bên trong content box.object-position được sử dụng cùng với object-fit để chỉ định vị trí cho object-position được sử dụng cùng với object-fit để chỉ định vị trí cho

Chỉ đơn giản là như vậy thôi. Thực chất, thuộc tính này khá ít sử dụng vì hầu như ai cũng muốn ảnh căn middle là sẽ đẹp nhất.

Như vậy, qua bài viết này, các bạn có thể bổ sung thêm cho bản thân 1 cách căn chỉnh image sao cho đẹp mắt. Chúc các bạn thành công!

All rights reserved

Bài Viết Liên Quan

Toplist mới

Bài mới nhất

Chủ Đề