xem xét sau đây đánh dấu menu đơn giản (tự động tạo ra, và tôi không có nhiều quyền kiểm soát nó):CSS tràn ẩn và tuyệt đối vị trí
.menu {
width: 500px;
height: 20px;
list-style: none;
padding: 0;
margin: 0;
/* overflow: hidden ... problem */
}
li {
float: left;
position: relative;
margin-right: 30px;
}
ul li .submenu {
position: absolute;
left: 0;
display: none;
padding: 0;
margin: 0;
list-style: none;
width: 100px;
}
ul li:hover .submenu {
display: block;
}
<ul class="menu">
<li>Lorem ipsum</li>
<li>Submenu
<ul class="submenu">
<li>Sub item 1</li>
<li>Sub item 2</li>
</ul>
</li>
<li>consectetur</li>
<li>adipiscing elit</li>
<li>Aliquam elit nisi</li>
<li>pharetra quis</li>
<li>nulla eget</li>
</ul>
Trong đoạn mã trên, thực đơn có chiều rộng cố định, nhưng nó có nhiều mục hơn có thể vừa với chiều rộng đó, vì vậy phần còn lại của các mục sẽ đi trên dòng thứ hai. Tôi muốn chỉ hiển thị các mục có thể vừa với dòng đầu tiên và muốn ẩn phần còn lại của chúng.
Vì mục đích đó, tôi muốn chỉ định chiều cao cho menu. Tôi đang sử dụng CSS này cho menu:
.menu {
width: 500px;
height: 20px;
overflow: hidden; /* problem */
}
Vấn đề là Các css trên ẩn .submenu
mục quá. Vui lòng xem demo để hiểu vấn đề.
Demo:http://jsfiddle.net/Lgyg2a4r/
Tại sao bạn không áp dụng kiểu dáng cho menu phụ của bạn để làm cho nó trông giống như một trình đơn thả xuống. Bối cảnh, đường viền, đổ bóng – Andrew
Người dùng sẽ nhận được các mục xuất hiện trên dòng thứ hai như thế nào? –
Bạn có phương tiện để thêm một lớp vào tất cả các mục trên dòng thứ hai không? – MCMXCII