2011-09-20 32 views
5

enter image description herelàm thế nào để làm cho một div bên trong một tế bào td chồng lên td tiếp theo

Tôi muốn để có thể xác định vị trí các div (yếu tố E) bên trong tế bào TD (yếu tố C) mà không có sự di động TD khác (yếu tố D) bị đẩy sang phải.

Lưu ý: Tôi không thể chỉnh sửa bất cứ điều gì trên trang đó trừ yếu tố E.

+0

bạn đã thử kiểu 'float: left; 'chưa? –

+0

Bạn có khả năng bọc 'E' trong một thùng chứa' div' không? – peteorpeter

+0

@Jeremy: Tôi đã thử nó, nhưng nó không hoạt động – Bogdan

Trả lời

0

Giả sử chiều cao của <div> là 100px và chiều rộng kết hợp của hai <td> tế bào là 500px thử:

td.element-e-container { 
    position:relative; 
    height:100px; 
} 
#element-e{ 
    position:absolute; 
    width:500px; 
    height:100px; 
} 

Sau đó cung cấp cho các td chứa lớp yếu tố ea của element-e-container và các yếu tố bản thân một ID của element-e

+1

Giả sử bạn có thể thêm một phần tử DOM khác, điều này hoạt động độc đáo. Sử dụng vị trí tuyệt đối cho phép bạn chỉ cần đặt chiều rộng cố định trên 'e'. OTOH, nếu @Bogdan phải sử dụng đánh dấu ở bàn tay (hoặc muốn giảm thiểu các thẻ HTML), lề phải âm sẽ hoạt động. – peteorpeter

+0

+1 không nghĩ đến lề âm, gọi tốt – Clive

1

righ Negative t margin nên làm thủ thuật: margin-right: -50px;.

dụ: http://jsfiddle.net/peteorpeter/dvr9Z/

vị trí tuyệt đối thể làm việc, nhưng thêm các biến chứng khác. Bàn + vị trí tuyệt đối có thể gây đau, đặc biệt là với hàm lượng chất lỏng.

+0

FYI, điều này không hoạt động trong IE7. (Hộp màu cam hoàn toàn nằm trong ô đầu tiên.) – ThatMatthew

+0

@ThatMatthew Không đáng ngạc nhiên lắm. Tôi cho rằng vì có vẻ như đây là bố cục dựa trên bảng (một phần), nên anh ta có thể cần hỗ trợ IE <8 ... là việc rập khuôn? Cảm ơn cho những người đứng đầu lên. – peteorpeter

+0

@peteorpeter đây là vấn đề [jsfiddle] (http://jsfiddle.net/bogdanch/5dyWP/) – Bogdan

1

Vì bạn không thể sửa đổi bất kỳ yếu tố khác trừ yếu tố E tự:

Move yếu tố E đến một container:

<div style="position:relative;"> 
    <div id="element-E" style="position:absolute;"> ... </div> 
</div> 

Tôi đã thêm style thuộc tính đến các yếu tố, bởi vì bạn bị cáo buộc không có thể sửa đổi các yếu tố khác (chẳng hạn như <style>).

position:relative là bắt buộc để hoàn toàn chính xác vị trí phần tử con.

position:absolute; "nước mắt" yếu tố từ cha mẹ và đặt lại, liên quan đến góc trên bên trái của phụ huynh (theo mặc định, khi vị trí không thay đổi bằng cách sử dụng top chẳng hạn).

+1

Bạn sẽ cần đặt chiều cao tuyệt đối trên phần tử có chứa để làm việc này; nếu không, ' 'sẽ không mở rộng chiều cao để khớp với phần tử bên trong – Clive

+0

Đúng. Anh ta cũng phải thay đổi thuộc tính CSS 'width' và 'height' của' element-E' nếu muốn. Vì anh ta không chỉ định bất cứ thứ gì về kích thước, tôi đã loại trừ những thứ này ở câu trả lời của tôi. –

+0

@Rob W: Tôi đã thêm chiều rộng và chiều cao cho phần tử-E, nhưng nó không hoạt động, ô TD (phần tử D) vẫn bị đẩy sang bên phải '

...
' – Bogdan

Các vấn đề liên quan