Tôi muốn có một div nhỏ màu đỏ có chiều rộng đầy đủ ở vị trí trên cùng cố định, bên trong một div khác có overflow: scroll
. Tôi hy vọng jsFiddle làm cho nó rõ ràng: http://jsfiddle.net/mCYLm/2/.Sử dụng chiều rộng đầy đủ, không bao gồm thanh cuộn tràn với "vị trí: tuyệt đối"
Vấn đề là div màu đỏ chồng lên thanh cuộn. Tôi đoán right: 0
có nghĩa là bên tay phải của div.wrapper
; nó không trừ thanh cuộn của div.main
. Khi tôi di chuyển overflow: scroll
vào div.wrapper
, khi đó biểu ngữ màu đỏ có kích thước phù hợp (fiddle). Tuy nhiên, nó không phải ở một vị trí cố định nữa (di chuyển xuống làm cho biểu ngữ cuộn lên).
Làm cách nào để tôi có thể đạt được hai điều sau đây cùng nhau?
- Biểu ngữ màu đỏ ở vị trí cố định như trong this fiddle.
- Biểu ngữ màu đỏ có chiều rộng đầy đủ ngoại trừ thanh cuộn như trong this fiddle.
Tôi muốn làm việc này trong Google Chrome.
HTML:
<div class="wrapper">
<div class="red-banner"></div>
<div class="main">
<div class="item">foo</div>
<div class="item">foo</div>
<div class="item">foo</div>
<div class="item">foo</div>
</div>
</div>
CSS:
div.wrapper {
position: relative;
}
div.main {
height: 200px;
overflow-y: scroll;
}
div.item {
border: 1px solid black;
margin: 20px;
padding: 20px;
}
div.red-banner {
background-color: red;
position: absolute;
left: 0;
top: 0;
right: 0;
height: 20px;
}
Bạn có thể thay đổi 'bất động sản right' để phù hợp với chiều rộng cuộn ... Yêu cầu JS để đảm bảo rằng bất kỳ thanh cuộn sẽ được đo một cách chính xác .. –
@Gaby aka G. Petrioli : Vâng, nó hoạt động, cảm ơn.Nó không phải là rất thỏa mãn, mặc dù. Tôi sẽ tiếp tục với điều đó nếu không có bất kỳ câu trả lời chỉ CSS nào. – pimvdb
Tại sao không chỉ định vị phần tử cuộn dưới thanh? Giống như [trong ví dụ này] (http://jsfiddle.net/mCYLm/6/). Đó là cách đơn giản nhất tôi thấy rằng bạn có thể làm điều này. – Qtax