Hiện nay tôi đang sử dụng này:Một cách tốt hơn để sử dụng toàn bộ hình ảnh làm nền trang web bằng cách sử dụng CSS và vẫn phục vụ cho các kích thước màn hình khác nhau? (Như about.me)
HTML:
<div id="container">
<img src="x.jpg" id="bg" />
<div id="content">
<h1>Welcome to my website.</h1>
<p>Boo!</p>
</div>
</div>
CSS:
#bg{
position:absolute;
top:0;
left:0;
height:100%;
z-index:10;
}
#container{
/* max values provided due to the max size of the image available with me(1200x800) */
max-width:1200px;
max-height:800px;
}
#content{
position:absolute;
top:10px;
left:100px;
z-index:100;
}
Ưu điểm ở đây là tôi không sử dụng bất kỳ Javascript nào cả. Nhưng sau đó, các yếu tố vị trí tuyệt đối ly trở thành một cơn ác mộng khi được xem trên các màn hình khác nhau.
Hiện tại giải pháp tôi có là viết và định vị các phần tử này theo kích thước màn hình khác nhau (ví dụ: 1024x768 sẽ có giá trị hàng đầu của nội dung id là 10px trong khi 1280x800 sẽ có thứ gì đó như trên: 25px; v.v ..) và lưu trữ chúng dưới dạng tệp css riêng biệt để tôi có thể tải CSS phù hợp trong khi tải trang. Tôi cảm thấy điều này tốn thời gian và có lẽ cũng hiệu quả. Sử dụng giá trị phần trăm là một tùy chọn mà tôi chưa khám phá. Nếu bạn biết một giải pháp thanh lịch, hoặc làm thế nào các chàng trai lớn tại about.me làm điều đó, nó sẽ giúp đỡ.
Cảm ơn bạn.
Wow..never thử it..Thanks! Tôi gần như chắc chắn IE sẽ không hỗ trợ này mặc dù. Sửa lỗi nếu tôi sai (Chỉ trong trường hợp): P – dsignr
@imaginonic 'background-image' và' background-repeat' hoạt động tốt trên IE. 'background-size' cần giải pháp này cho IE cũ hơn:' -ms-filter: "progid: DXImageTransform.Microsoft.AlphaImageLoader (src = 'images/logo.gif', sizingMethod = 'scale')"; ' – ThinkingStiff
Wow .. bạn thực sự thậm chí đã lấy những nỗi đau của việc tìm ra ... người đàn ông tuyệt vời ... cảm ơn rất nhiều :) Tôi đã nếu không chỉ đơn giản là sẽ hiển thị cho họ một tin nhắn nói rằng trình duyệt của họ không được hỗ trợ: P – dsignr