2009-07-21 27 views
12

Tôi có HTML này với một bảng:Làm thế nào tôi có thể đảm bảo một DIV trải dài để phù hợp với nội dung của nó?

<div 
    class="currentDesignDiv" 
    style="margin-bottom:5px;"> 
    <div> 
    <img 
     alt="Thumbnail" 
     src="http://www.propertyware.com/templates/ 
     <bean:write name="currentTemplate" property="primaryKey"/> 
     /thumb.gif"/> 
    </div> 
    <div> 
    <table> 
     <tr> 
     <th>Your Current Design: </th> 
     <td>Template #: 
      <bean:write name="currentTemplate" property="primaryKey"/> 
     </td> 
     </tr> 
     <tr> 
     <th>Last Updated: </th> 
     <td> 
      <bean:write name="currentTemplate" property="modifiedByAsString"/> 
     </td> 
     </tr> 
     <tr> 
     <th>Total Pages: </th> 
     <td> 
      <bean:write name="numberOfPages"/> 
     </td> 
     </tr> 
    </table> 
    </div> 

Được theo kiểu bằng CSS này:

.currentDesignDiv{ 
    background-color:#e7e7e7; 
    border:1px solid #9c9c9c; 
    padding:5px; 
    width:100%; 
    min-width:860px; 
} 
.currentDesignDiv div{ 
    float:left; 
    width:33%; 
} 
.currentDesignDiv div table{ 
    font-size:9pt; 
    text-align:left; 
    margin:17px; 
} 
.currentDesignDiv div:first-child img{ 
    margin:17px; 
    width:80px; 
} 

Có vẻ OK trên màn hình lớn của tôi, nhưng khi tôi thay đổi với màn hình nhỏ của tôi phải nhất div, có hình ảnh bên trong nó, nổi bên ngoài của bố mẹ div. Có ai có một giải pháp cho điều đó không?

+2

Hãy cố gắng nỗ lực định dạng đoạn mã của bạn vào lần sau. Không ai thích phải di chuyển xung quanh vì tất cả khoảng trắng bạn đã để lại. – Welbog

+0

@Welbog: +1 cho điều đó .. – MarioRicalde

+0

@hdx: Bạn có thể vui lòng cho tôi hình ảnh bạn đang cố gắng sử dụng không? vì "" là mớ hỗn độn. – MarioRicalde

Trả lời

20

thiết

overflow: auto; 

cho div bên ngoài. Điều này sẽ làm cho div cha của bạn mở rộng mặc dù các con của nó có một thuộc tính float. (IE có một vài vấn đề với điều này, nhưng có thể được cố định bởi một số padding)

+3

Nếu bạn gặp sự cố với thanh cuộn, hãy thử xóa: thay vào đó ẩn. Bạn nhận được cùng một hành vi chính xác, mà không có bất kỳ khả năng nào của thanh cuộn. – jrista

+0

@jrista overflow: hidden cắt đứt văn bản ở cuối div thay vì div mở rộng để vừa với tất cả văn bản và không hiển thị thanh cuộn hoặc –

+0

Tôi tin rằng đó chỉ là trường hợp nếu bạn thực sự chỉ định chiều rộng và chiều cao cho div chứa. Nếu bạn không chỉ định một hoặc cả hai, thì vùng chứa sẽ mở rộng để chứa con của nó. – jrista

1

Float div cha cũng vậy.

Điều này có nghĩa là các phần tử con được thả nổi sẽ không nổi bật.

4

Có thể thử cung cấp cho div bên ngoài này css ...

display: inline-block;

Vì các phần tử nổi không thực sự có bất kỳ bố cục nào của riêng mình, div ngoài chỉ hoạt động như một div trống, không kéo dài để vừa với các phần tử bên trong.

Làm cho khối nội tuyến div bên ngoài về cơ bản sẽ làm cho các div bên trong chiếm một số không gian thực trong div bên ngoài.

+0

Tôi có thể cung cấp cho div bên ngoài một chiều rộng giảm 99% cũng thay vì 100%, vì bạn có một số đệm trên đó. –

4

tôi thường cung cấp cho:

overflow: hidden;

Tôi gặp sự cố khi tôi cung cấp lỗi : tự động; đôi khi div ngoài có thể hiển thị thanh cuộn.

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