Làm cách nào để kéo dài hình nền của tôi để vừa với css?

Với phần này, chúng ta sẽ xem xét một vài ví dụ khác nhau về các vấn đề Kéo dài hình ảnh nền để điền vào ngôn ngữ máy tính

body {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

Sử dụng một chiến lược khác, được mô tả bên dưới với các mẫu mã, có thể giải quyết vấn đề tương tự Kéo dài hình nền để lấp đầy

background: url('../images/teaser.jpg') no-repeat center #eee;
background-size: cover;
.cover {
  object-fit: cover;
}
html { 
  background: url(image.jpg) no-repeat center center fixed; 
  -webkit-background-size: cover;
     -moz-background-size: cover;
       -o-background-size: cover;
          background-size: cover;
}

Chúng tôi đã có thể khắc phục mã sự cố Giãn hình ảnh nền để lấp đầy bằng cách xem xét một số ví dụ khác nhau

Làm cách nào để kéo dài hình nền cho vừa với màn hình?

Khi bạn làm việc với hình nền, bạn có thể muốn hình ảnh kéo dài để vừa với trang mặc dù có nhiều loại thiết bị và kích cỡ màn hình. Cách tốt nhất để kéo giãn hình ảnh cho vừa với nền của phần tử là sử dụng thuộc tính CSS3 cho kích thước nền và đặt kích thước bằng với bìa. 22-Feb-2021

Làm cách nào để kéo dài hình ảnh để vừa với HTML?

Một trong những cách đơn giản nhất để thay đổi kích thước hình ảnh trong HTML là sử dụng thuộc tính chiều cao và chiều rộng trên thẻ img. Các giá trị này chỉ định chiều cao và chiều rộng của thành phần hình ảnh. Các giá trị được đặt trong px i. e. pixel CSS. 12-Jan-2022

Làm cách nào để làm cho hình nền của tôi phản hồi toàn màn hình?

HTML

  • kích thước nền. trải ra;
  • vị trí nền. trung tâm trung tâm;
  • tệp đính kèm nền. đã sửa;

Làm cách nào để kéo dài hình ảnh thành div?

Câu trả lời. Sử dụng thuộc tính chiều rộng tối đa của CSS Bạn có thể chỉ cần sử dụng thuộc tính chiều rộng tối đa của CSS để tự động thay đổi kích thước hình ảnh lớn để nó có thể vừa với chiều rộng nhỏ hơn

vùng chứa trong khi duy trì tỷ lệ khung hình của nó

Làm thế nào để bạn kéo dài một hình ảnh?

Làm cách nào để bạn có được hình nền đầy đủ trong CSS?

Điều kỳ diệu của thuộc tính 'Background-Size' Điều kỳ diệu xảy ra với thuộc tính kích thước nền. kích thước nền. trải ra; . 02-May-2020

Làm cách nào để điền hình ảnh vào HTML?

Sử dụng đối tượng phù hợp Khi bạn thêm hình ảnh vào trang bằng cách sử dụng HTML

Làm cách nào để kéo dài hình nền của tôi để vừa với css?

Cách CSS tiên tiến, dễ dàng, tuyệt vời

Chúng tôi có thể làm điều này hoàn toàn thông qua CSS nhờ thuộc tính

filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='.myBackground.jpg', sizingMethod='scale');
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='myBackground.jpg', sizingMethod='scale')";
3 hiện có trong CSS. Chúng tôi sẽ sử dụng phần tử
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='.myBackground.jpg', sizingMethod='scale');
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='myBackground.jpg', sizingMethod='scale')";
4 (tốt hơn
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='.myBackground.jpg', sizingMethod='scale');
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='myBackground.jpg', sizingMethod='scale')";
5 vì nó luôn có chiều cao ít nhất bằng cửa sổ trình duyệt). Chúng tôi đặt nền cố định và căn giữa trên đó, sau đó điều chỉnh kích thước của nó bằng cách sử dụng
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='.myBackground.jpg', sizingMethod='scale');
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='myBackground.jpg', sizingMethod='scale')";
3 được đặt thành từ khóa trang bìa

________số 8

hoạt động trong

  • Safari 3+
  • Chrome Sao cũng được +
  • IE9+
  • Opera 10+ (Opera 9. 5 kích thước nền được hỗ trợ nhưng không hỗ trợ từ khóa)
  • firefox 3. 6+ (Firefox 4 hỗ trợ phiên bản có tiền tố không phải của nhà cung cấp)

Xem bản trình diễn

Cập nhật. Cảm ơn Goltzman trong các nhận xét đã chỉ ra một bài viết về Kết nối nhà phát triển Adobe có một số mã để làm cho IE cũng có nền

filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='.myBackground.jpg', sizingMethod='scale');
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='myBackground.jpg', sizingMethod='scale')";

Nhưng hãy cẩn thận, độc giả Pierre Orsander cho biết họ đã thử cách này và gặp một số vấn đề với các liên kết trên trang bị chết

Cập nhật. Matt Litherland viết để nói rằng bất kỳ ai đang cố gắng sử dụng các bộ lọc IE ở trên và gặp sự cố với thanh cuộn hoặc liên kết chết hoặc bất kỳ thứ gì khác (như Pierre ở trên) không nên sử dụng chúng trên phần tử

filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='.myBackground.jpg', sizingMethod='scale');
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='myBackground.jpg', sizingMethod='scale')";
4 hoặc
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='.myBackground.jpg', sizingMethod='scale');
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='myBackground.jpg', sizingMethod='scale')";
5. Nhưng thay vào đó, một div vị trí cố định với 100% chiều rộng và chiều cao

Kỹ thuật chỉ CSS #1

Như thường lệ, xin chân thành cảm ơn Doug Neiner về phiên bản thay thế này. Ở đây, chúng tôi sử dụng một phần tử nội tuyến, có thể thay đổi kích thước trong bất kỳ trình duyệt nào. Chúng tôi đặt một

filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='.myBackground.jpg', sizingMethod='scale');
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='myBackground.jpg', sizingMethod='scale')";
9 để giữ cho nó lấp đầy cửa sổ trình duyệt theo chiều dọc và đặt một 100%
background: url('../images/teaser.jpg') no-repeat center #eee;
background-size: cover;
30 để giữ cho nó lấp đầy theo chiều ngang. Chúng tôi cũng đặt một
background: url('../images/teaser.jpg') no-repeat center #eee;
background-size: cover;
31 chiều rộng của hình ảnh để hình ảnh không bao giờ nhỏ hơn thực tế

Điều đặc biệt thông minh là sử dụng truy vấn phương tiện để kiểm tra xem cửa sổ trình duyệt có nhỏ hơn hình ảnh hay không và sử dụng kết hợp tỷ lệ phần trăm trái và âm trái

background: url('../images/teaser.jpg') no-repeat center #eee;
background-size: cover;
32 để giữ cho cửa sổ ở giữa bất kể

Đây là CSS

background: url('../images/teaser.jpg') no-repeat center #eee;
background-size: cover;
3

hoạt động trong

  • Bất kỳ phiên bản nào của trình duyệt tốt. Safari/Chrome/Opera/Firefox
  • IE6. Bị hỏng – nhưng có thể sửa được nếu bạn sử dụng một số loại miếng chêm định vị cố định
  • TỨC LÀ 7/8. Hầu hết hoạt động, không căn giữa ở kích thước nhỏ nhưng lấp đầy màn hình tốt
  • IE9. Làm

Xem bản trình diễn

Kỹ thuật chỉ CSS #2

Một cách khá đơn giản để xử lý việc này là đặt một hình ảnh nội tuyến trên trang, cố định vị trí của nó ở phía trên bên trái và cung cấp cho nó 100% 100% là 131 và 131 131 và 100 49, giữ nguyên tỷ lệ khung hình của nó

background: url('../images/teaser.jpg') no-repeat center #eee;
background-size: cover;
9
.cover {
  object-fit: cover;
}
0

Tuy nhiên, điều này không căn giữa hình ảnh và đó là một mong muốn khá phổ biến ở đây… Vì vậy, chúng ta có thể khắc phục điều đó bằng cách bao hình ảnh trong một div. Div đó chúng ta sẽ làm lớn gấp đôi cửa sổ trình duyệt. Sau đó, hình ảnh sẽ được đặt, vẫn giữ nguyên tỷ lệ khung hình của nó và bao phủ cửa sổ trình duyệt có thể nhìn thấy cũng như tâm điểm chết của hình ảnh đó

.cover {
  object-fit: cover;
}
1
.cover {
  object-fit: cover;
}
2

Tín dụng cho Corey Worrell cho khái niệm này

hoạt động trong

  • Safari/Chrome/Firefox (không test xa lắm, nhưng các bản gần đây vẫn ổn)
  • IE8+
  • Opera (bất kỳ phiên bản nào) và IE đều bị lỗi theo cùng một cách (đặt sai vị trí, không biết tại sao)
  • Peter VanWylen đã viết để nói rằng nếu bạn thêm hình ảnh qua JavaScript, img cần phải có chiều rộng. Tự động; . Tự động;

Xem bản trình diễn

Cập nhật tháng 1 năm 2018. Bạn đang cố gắng để tính năng này hoạt động trên Android? . 100%; . ẩn giấu; . Đoạn trích đầy đủ là

.cover {
  object-fit: cover;
}
3

Tôi đã kiểm tra nó, và nó có vẻ hoàn toàn chính xác. Không có nó / Với nó

phương pháp jQuery

Toàn bộ ý tưởng này trở nên dễ dàng hơn rất nhiều (từ góc độ CSS) nếu chúng ta biết liệu tỷ lệ khung hình của hình ảnh (nội tuyến

background: url('../images/teaser.jpg') no-repeat center #eee;
background-size: cover;
35 mà chúng ta định sử dụng làm nền) lớn hơn hay nhỏ hơn tỷ lệ khung hình hiện tại của cửa sổ trình duyệt. Nếu nó thấp hơn, chúng ta chỉ có thể đặt
background: url('../images/teaser.jpg') no-repeat center #eee;
background-size: cover;
30 thành 100% trên hình ảnh và biết rằng nó sẽ lấp đầy cả chiều cao và chiều rộng. Nếu nó cao hơn, chúng tôi chỉ có thể đặt
background: url('../images/teaser.jpg') no-repeat center #eee;
background-size: cover;
37 thành 100% và biết rằng nó sẽ lấp đầy cả chiều cao và chiều rộng

Chúng tôi có quyền truy cập vào thông tin này thông qua JavaScript. Như thường lệ ở đây, tôi thích dựa vào jQuery

.cover {
  object-fit: cover;
}
7____28
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='.myBackground.jpg', sizingMethod='scale');
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='myBackground.jpg', sizingMethod='scale')";
0

Điều này không tính đến việc căn giữa, nhưng bạn chắc chắn có thể thay đổi điều này để làm điều đó. Tín dụng cho Koen Haarbosch cho khái niệm đằng sau ý tưởng này

hoạt động trong

  • IE7+ (có thể vào IE6 với miếng chêm vị trí cố định)
  • Hầu hết mọi trình duyệt máy tính để bàn khác

Xem bản trình diễn

Cập nhật (tháng 6 năm 2012). Độc giả Craig Manley viết bằng kỹ thuật tải ảnh nền có kích thước phù hợp theo màn hình. Như trong, không tải một số hình nền rộng 1900px cho iPhone

Trước tiên, bạn sẽ tạo các hình ảnh như

background: url('../images/teaser.jpg') no-repeat center #eee;
background-size: cover;
38,
background: url('../images/teaser.jpg') no-repeat center #eee;
background-size: cover;
39,
background: url('../images/teaser.jpg') no-repeat center #eee;
background-size: cover;
90, v.v. Sau đó, thay vì tải một hình ảnh, bạn sẽ tải một shim

filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='.myBackground.jpg', sizingMethod='scale');
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='myBackground.jpg', sizingMethod='scale')";
1

Nếu bạn không thích gif shim (cá nhân tôi nghĩ nó ổn vì nó không phải là "nội dung" mà là nền), bạn có thể tải lên một trong những hình ảnh thực để thay thế. Mã này sẽ giải thích cho điều đó

Sau đó, bạn kiểm tra chiều rộng màn hình và đặt

background: url('../images/teaser.jpg') no-repeat center #eee;
background-size: cover;
91 của hình ảnh dựa trên nó. Đoạn mã dưới đây thực hiện thay đổi kích thước, điều mà bạn có thể muốn hoặc không muốn. Bạn chỉ có thể chạy mã một lần nếu bạn muốn

filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='.myBackground.jpg', sizingMethod='scale');
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='myBackground.jpg', sizingMethod='scale')";
2

Lưu ý rằng chiều rộng màn hình không phải là thông tin tốt duy nhất có thể có khi chọn kích thước hình ảnh. Xem bài viết này

Vui thích

Nếu bạn sử dụng nó, xin vui lòng để lại kỹ thuật bạn đã sử dụng và nếu bạn thay đổi nó theo bất kỳ cách nào trong phần bình luận bên dưới. Luôn luôn mát mẻ để xem các kỹ thuật “trong tự nhiên. ”

Tải tập tin

Vì lợi ích của hậu thế, có một ví dụ khác ở đây có tên là

background: url('../images/teaser.jpg') no-repeat center #eee;
background-size: cover;
92 sử dụng một kỹ thuật cũ đã từng là một phần của bài viết này. Nó có một chút thông minh, nhưng không hoàn toàn tốt bằng một trong hai kỹ thuật CSS được trình bày ở trên