2013-09-23 29 views
6

Tôi đang sử dụng sự sụp đổ với các hiệu ứng chuyển tiếp. Đoạn mã dưới đây hoạt động nhưng bởi vì tôi có 10px padding trong stylesheet của tôi, tôi thấy sự sụp đổ div nhưng dừng 10px trước khi nó nên và sau đó biến mất. Điều ngược lại là đúng khi mở rộng khi div mở rộng lớn hơn 10px so với trước khi chụp lại kích thước chính xác.Sự sụp đổ và vấn đề đệm khởi động

HTML

<div ng-controller="MainCtrl" class="box-content collapse" id="mybox"> 
          Lorem ipsum ... 
</div> 

CSS

.box-content{ 
    background: red; 
    padding: 10px; 
} 

Trả lời

4

dễ dàng - chỉ cần thêm div khác bên trong sự sụp đổ một trong đó có phong cách

+2

không thực sự làm việc cho tôi, than ôi. Vẫn nhận được bước nhảy. – jrochkind

+0

nó không hoạt động nếu bạn sử dụng lớp '.collapse' để tham chiếu div bên trong trong biểu định kiểu của bạn vì lớp' collapse' sẽ được thay đổi thành 'collapsing' trong hoạt ảnh. – silenzium

0

Nếu bạn không muốn thay đổi cấu trúc HTML, thêm các kiểu sau:

/* Override bootstrap collapse to keep margins */ 
.collapse.in { 
    display: inherit; 
    visibility: visible; 
} 
.collapse { 
    display: inherit; 
    visibility: hidden; 
} 

Các bộ Bootstrap hiển thị thành không khi hoạt ảnh kết thúc, loại bỏ toàn bộ div, bao gồm cả phần đệm. Thiết lập khả năng hiển thị ẩn sẽ không loại bỏ div, nhưng chiều cao của nó là 0, vì vậy tất cả còn lại là phần đệm.

Đảm bảo các kiểu này được xác định sau biểu định kiểu bootstrap.

1

Bạn phải bọc nội dung của mình vào .collapse và nếu bạn muốn có đệm, bạn có thể đặt CSS của trình bao bọc của bạn.

HTML

<div ng-controller="MainCtrl" class="box-content collapse" id="mybox"> 
    <div class='wrapper'>     
    Lorem ipsum ... 
    </div> 
</div> 

CSS

.wrapper{ 
    padding: 10px; 
} 
+0

Tôi đã bọc nút thay vì nội dung và nó hoạt động cho tôi. Cảm ơn bạn – Paul

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