2010-01-08 51 views
23

Tôi làm cách nào để tạo hai phần tử chồng lấp trong CSS, ví dụ:Phần tử chồng chéo trong CSS

<div>Content 1</div> 
<div>Content 2</div> 

Tôi muốn hai nội dung (chúng có thể là bất kỳ thứ gì) chồng lên nhau, vì vậy Nội dung 2 được hiển thị bắt đầu ở cùng góc trên cùng bên trái như Nội dung 1 và chúng xuất hiện chồng lên nhau. Nội dung 1 nên bắt đầu trong luồng thông thường của tài liệu chứ không phải ở một số vị trí cố định trên màn hình.

Điều này có khả thi không?

Cảm ơn,

AJ

+0

Có vẻ như điều gì đó mà bạn có thể làm với định vị. Bạn có bất kỳ trang web tham chiếu nào không? –

Trả lời

48

cách dễ nhất là sử dụng position:absolute trên cả hai yếu tố này. Bạn có thể hoàn toàn vị trí tương đối để trang, hoặc bạn có thể hoàn toàn vị trí liên quan đến một div container bằng cách thiết lập div container để position:relative

<div id="container" style="position:relative;"> 
    <div id="div1" style="position:absolute; top:0; left:0;"></div> 
    <div id="div2" style="position:absolute; top:0; left:0;"></div> 
</div> 
+12

Thực ra, bạn không cần 'vị trí: tuyệt đối' trên cả hai phần tử. Nếu một vị trí hoàn toàn được đặt tại (0,0), nó sẽ chồng lên nhau). Vấn đề là kích thước của phần tử vị trí tuyệt đối không được tính đến trong bố cục trang. –

+1

Rất cám ơn vì điều này. –

+1

Cảm ơn bạn rất nhiều, ngay cả khi câu trả lời này là 4 tuổi, nó vẫn hữu ích. Tôi bị chảy máu 'Đọc, Viết và CSS' mỗi ngày, nhưng tôi vẫn quên đôi khi đặt vị trí của phần tử gốc để đảm bảo các phần tử con không tự định vị theo ông bà. –

5

Tôi nghĩ rằng bạn có thể nhận được ngay với sử dụng định vị tương đối và sau đó đặt trên/trái vị trí của DIV thứ hai cho đến khi bạn có nó ở vị trí mong muốn.

+0

Rất cám ơn vì điều này. –

3

Bạn có thể sử dụng vị trí tương đối để chồng lên các phần tử của mình. Tuy nhiên, không gian mà họ thường chiếm vẫn sẽ được dành riêng cho các phần tử:

<div style="background-color:#f00;width:200px;height:100px;"> 
    DEFAULT POSITIONED 
</div> 
<div style="background-color:#0f0;width:200px;height:100px;position:relative;top:-50px;left:50px;"> 
    RELATIVE POSITIONED 
</div> 
<div style="background-color:#00f;width:200px;height:100px;"> 
    DEFAULT POSITIONED 
</div> 

Trong ví dụ trên, sẽ có một khối không gian trắng giữa hai 'DEFAULT vị trí' yếu tố. Điều này được gây ra, bởi vì phần tử 'RELATIVE POSITIONED' vẫn có không gian dành riêng.

Nếu bạn sử dụng định vị tuyệt đối, các yếu tố của bạn sẽ không có bất kỳ không gian dành, vì vậy yếu tố của bạn sẽ thực sự chồng chéo lên nhau, mà không vi phạm tài liệu của bạn:

<div style="background-color:#f00;width:200px;height:100px;"> 
    DEFAULT POSITIONED 
</div> 
<div style="background-color:#0f0;width:200px;height:100px;position:absolute;top:50px;left:50px;"> 
    ABSOLUTE POSITIONED 
</div> 
<div style="background-color:#00f;width:200px;height:100px;"> 
    DEFAULT POSITIONED 
</div> 

Cuối cùng, bạn có thể kiểm soát yếu tố này là trên đỉnh của những người khác bằng cách sử dụng chỉ mục z:

<div style="z-index:10;background-color:#f00;width:200px;height:100px;"> 
    DEFAULT POSITIONED 
</div> 
<div style="z-index:5;background-color:#0f0;width:200px;height:100px;position:absolute;top:50px;left:50px;"> 
    ABSOLUTE POSITIONED 
</div> 
<div style="z-index:0;background-color:#00f;width:200px;height:100px;"> 
    DEFAULT POSITIONED 
</div> 
Các vấn đề liên quan