Tôi đang cố gắng lấy tiêu đề chiều cao cố định và khu vực nội dung sẽ lấp đầy màn hình. Div nội dung chứa một lưới mvc telerik. Tôi đã thử một vài gợi ý trên stackoverflow nhưng kiểm soát đó là khu vực nội dung luôn luôn có vẻ kích thước không chính xác bởi vì nó không đưa vào tài khoản chiều cao cố định tiêu đề, do đó, nó sẽ di chuyển thêm 40px nếu tiêu đề là 40px. Bất kỳ đề xuất?Bố cục CSS cho tiêu đề cố định và chiều cao nội dung 100%?
<div id="header">
</div>
<div id="content">
<telerik mvc grid control>
</div>
Css
html,body
{
margin:0;
padding:0;
height:100%;
}
#header {
position:absolute;
height: 40px;
left:0;
top:0;
width:100%;
background:green;
}
#content {
position: absolute;
top:40px;
left:0;
width:100%;
height:100%;
background:#eee;
}
UPDATE: Đã phải tự thay đổi kích thước lưới vào tải và cửa sổ lại kích thước. Thêm
.ClientEvents(events => events.OnLoad("resizeGrid"))
<script type="text/javascript">
window.onresize = function() {
resizeContentArea($("#Grid")[0]);
}
function resizeGrid(e) {
debugger;
resizeContentArea($("#Grid")[0]);
}
function resizeContentArea(element) {
var newHeight = parseInt($(element).outerHeight(), 10) - parseInt($(".t-grid-header", element).outerHeight(), 10) - parseInt($(".t-grid-pager", element).outerHeight(), 10);
$(".t-grid-content", element).css("height", newHeight + "px");
}
</script>
Cảm ơn, mà dường như để làm điều đó. Tuyệt vời như thế nào một cái gì đó đơn giản như vậy là một nỗi đau. – NullReference
cảm ơn. tôi chưa bao giờ nghĩ đến việc định vị hoàn toàn nội dung div trước đây. +1 –
Câu trả lời này thật tuyệt vời. Phương thức này hoạt động tốt cho rất nhiều trường hợp mà 'calc()' có vẻ cần thiết. Ví dụ, nếu bạn muốn làm 'width: calc (100% - 20px);', chỉ cần 'position: absolute; trái: 0; phải: 20px; 'với vùng chứa tương đối định vị. Điều này thực sự làm cho CSS có thể sử dụng được cho tôi. Cảm ơn, kei. –