Hướng dẫn css auto zoom to fit - css tự động thu phóng để phù hợp

Nội dung của tôi nằm trong một thùng chứa 800x480 pixel. Khi cửa sổ thay đổi kích thước, mục tiêu của tôi là:

  • Phóng to/kéo dài bộ chứa để lấp đầy toàn bộ màn hình
  • Bao gồm tất cả trẻ em của container và duy trì vị trí tương đối của chúng
  • Tôi không quan tâm đến việc duy trì tỷ lệ khung hình

Vì vậy, khi chiều rộng/chiều cao cửa sổ là 1600x960, tôi làm như sau:

zoom: 2

Và điều này kéo dài khung vẽ, nhưng nếu tỷ lệ khung hình mới không giống như 800x480, thì nó sẽ không hoàn toàn kéo dài đến chiều cao hoặc chiều rộng.

Không phải là thứ như thế này, nơi tôi có thể đặt một đoạn đường riêng cho chiều rộng và chiều cao?

zoom: (2, 2.5)

Hướng dẫn css auto zoom to fit - css tự động thu phóng để phù hợp

web-tiki

95.3K32 Huy hiệu vàng215 Huy hiệu bạc245 Huy hiệu Đồng32 gold badges215 silver badges245 bronze badges

hỏi ngày 26 tháng 6 năm 2014 lúc 8:10Jun 26, 2014 at 8:10

Bạn không thể phóng to chiều rộng và chiều cao độc lập nhưng bạn có thể mô phỏng hiệu ứng thu phóng với thuộc tính tỷ lệ CSS mà bạn có thể áp dụng độc lập cho trục X và Y:

transform: scaleX(2) scaleY(1.5);

THỬ NGHIỆM

Đừng quên chỉ định nguồn gốc biến đổi thành

zoom: (2, 2.5)
1 để phần trên/bên trái của phần tử của bạn không bị cắt bởi chế độ xem.

Đã trả lời ngày 26 tháng 6 năm 2014 lúc 8:37Jun 26, 2014 at 8:37

web-tikiweb-tikiweb-tiki

95.3K32 Huy hiệu vàng215 Huy hiệu bạc245 Huy hiệu Đồng32 gold badges215 silver badges245 bronze badges

1

hỏi ngày 26 tháng 6 năm 2014 lúc 8:10

div#content{
    width: 100vw; // The width of this element is 100% of the viewports width
    height: 100vh; // The height of this element is 100% of the viewport height

    font-size: 1vmax; // You can fiddle with this to mame sure the font gets
                      // the size you want
}

Bạn không thể phóng to chiều rộng và chiều cao độc lập nhưng bạn có thể mô phỏng hiệu ứng thu phóng với thuộc tính tỷ lệ CSS mà bạn có thể áp dụng độc lập cho trục X và Y:

THỬ NGHIỆM

Đừng quên chỉ định nguồn gốc biến đổi thành

zoom: (2, 2.5)
1 để phần trên/bên trái của phần tử của bạn không bị cắt bởi chế độ xem.Jun 26, 2014 at 8:20

Đã trả lời ngày 26 tháng 6 năm 2014 lúc 8:37Loupax

Chế độ xem chiều rộng độ cao có thể là những gì bạn cần ở đây6 gold badges40 silver badges66 bronze badges

Bảng BCD chỉ tải trong trình duyệt This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.

Xem thêm

zoom: (2, 2.5)
4 CSS property can be used to control the magnification level of an element.
zoom: (2, 2.5)
5 should be used instead of this property, if possible. However, unlike CSS Transforms,
zoom: (2, 2.5)
4 affects the layout size of the element.

Không chuẩn: Tính năng này là không chuẩn và không nằm trên đường tiêu chuẩn. Không sử dụng nó trên các trang web sản xuất đối mặt với web: nó sẽ không hoạt động cho mọi người dùng. Cũng có thể có sự không tương thích lớn giữa việc triển khai và hành vi có thể thay đổi trong tương lai.

/* Keyword values */
zoom: normal;
zoom: reset;

/*  values */
zoom: 50%;
zoom: 200%;

/*  values */
zoom: 1.1;
zoom: 0.7;

/* Global values */
zoom: inherit;
zoom: initial;
zoom: revert;
zoom: revert-layer;
zoom: unset;

Thuộc tính CSS zoom: (2, 2.5) 4 không chuẩn có thể được sử dụng để kiểm soát mức độ phóng đại của một phần tử. zoom: (2, 2.5) 5 nên được sử dụng thay vì thuộc tính này, nếu có thể. Tuy nhiên, không giống như các biến đổi CSS, zoom: (2, 2.5) 4 ảnh hưởng đến kích thước bố cục của phần tử.

zoom: (2, 2.5)
7

Cú pháp

Giá trịNon-standard

Kết xuất yếu tố này ở kích thước bình thường của nó.Do not use this value, use the standard

zoom: (2, 2.5)
9 value instead.

transform: scaleX(2) scaleY(1.5);
0

zoom: (2, 2.5)
8 không chuẩn

transform: scaleX(2) scaleY(1.5);
5

Không (DE) phóng đại phần tử này nếu người dùng áp dụng phóng to không dựa trên pinch (ví dụ: bằng cách nhấn Ctrl - - hoặc Ctrl + + phím phím bàn phím) vào tài liệu. Không sử dụng giá trị này, thay vào đó, hãy sử dụng giá trị

zoom: (2, 2.5)
9 tiêu chuẩn.

Yếu tố thu phóng. transform: scaleX(2) scaleY(1.5); 1 tương đương với zoom: (2, 2.5) 7. Các giá trị lớn hơn transform: scaleX(2) scaleY(1.5); 1 Thu phóng. Giá trị nhỏ hơn transform: scaleX(2) scaleY(1.5); 1 Thu phóng.

Yếu tố thu phóng. Tương đương với tỷ lệ phần trăm tương ứng (
transform: scaleX(2) scaleY(1.5);
6 =
transform: scaleX(2) scaleY(1.5);
1 =
zoom: (2, 2.5)
7). Các giá trị lớn hơn
transform: scaleX(2) scaleY(1.5);
6 Thu phóng. Giá trị nhỏ hơn
transform: scaleX(2) scaleY(1.5);
6 thu phóng.
Định nghĩa chính thức
Giá trị ban đầu
zoom: (2, 2.5)
7
Áp dụng choTất cả các yếu tố
Thừa hưởngkhông
Giá trị tính toántheo quy định

Loại hoạt hình

zoom =
  normal | reset |  | 

một số nguyên

Cú pháp chính thức

HTML

<p class="small">Smallp>
<p class="normal">Normalp>
<p class="big">Bigp>

CSS

body {
  display: flex;
  align-items: center;
  justify-content: space-around;
  height: 100vh;
}

.small {
  zoom: 75%;
}
.normal {
  zoom: normal;
}
.big {
  zoom: 2.5;
}
p:hover {
  zoom: unset;
}

Kết quả

Ví dụ thứ hai

HTML

<div id="a" class="circle">div>
<div id="b" class="circle">div>
<div id="c" class="circle">div>

CSS

zoom: (2, 2.5)
0

Kết quả

Ví dụ thứ hai

HTML

Thông số kỹ thuật

Không phải là một phần của bất kỳ tiêu chuẩn. Khách sạn này có nguồn gốc trong Internet Explorer. Apple có một mô tả trong tài liệu tham khảo Safari CSS. Rossen Atanassov của Microsoft có một đề xuất đặc điểm kỹ thuật không chính thức trên GitHub.

Tính tương thích của trình duyệt web