Tôi hy vọng một giải pháp, nhưng kịch bản trường hợp xấu nhất, giải thích tại sao div của tôi không thay đổi kích thước và có thể là do tôi đang sử dụng thẻ nav.Thẻ HTML5 so với Div để tự động thay đổi kích thước
Tôi có html sau. Khi nội dung trong thẻ 'section' của tôi phát triển, thì div cũng có lớp nội dung trang. Tuy nhiên, khi các mục menu nav của tôi tăng lên, div không thay đổi kích thước.
<div class="page-content">
<nav>
<ul>{menu items here}</ul>
</nav>
<section id="main">
{bunch of text here}
</section>
</div>
Đây là css của tôi.
.page-content
{
display: block;
position:relative;
width: 100%;
margin-left: auto;
margin-right: auto;
background-image: url(images/bg-home-main.jpg);
background-repeat: no-repeat;
background-position: center;
}
nav {
display: block;
float: left;
padding: 15px;
position: relative;
margin: 0px 0px 0px -45px;
}
#main {
padding: 5px 25px 5px 25px;
margin-left: 175px;
}
Vấn đề ở đây là div có hình nền phải bao gồm nền của cả khu vực điều hướng và phần. Tuy nhiên, điều này chỉ xảy ra nếu khu vực phần của tôi lớn hơn (từ trên xuống dưới) so với nav của tôi, vì div sẽ kéo dài để phù hợp với kích thước phần. Tuy nhiên, nếu khu vực nav của tôi lớn hơn, nó thực sự mở rộng ra ngoài div và ở đó cho hình ảnh.
Khi bạn thả nổi một phần tử, bạn lấy nó ra khỏi luồng và nó sẽ không mở rộng phần tử chứa phần tử đó. Một giải pháp cho việc này là thêm tràn: ẩn; cho phần tử chứa. – kinakuta
@kinakuta: Điều đó đã hiệu quả! Bạn có thể đăng bài đó như một câu trả lời để tôi có thể chấp nhận nó không. Ngoài ra, bạn có thể giải thích lý do tại sao nó hoạt động? Đó là một điều để có được một cái gì đó để làm việc, nhưng một điều khác để hiểu tại sao nó làm việc. –