मैं एक निश्चित ऊंचाई शीर्षलेख प्राप्त करने की कोशिश कर रहा हूं और एक सामग्री क्षेत्र स्क्रीन भरता है। सामग्री div में एक टेलरिक एमवीसी ग्रिड होता है। मैंने स्टैक ओवरफ्लो पर सुझाए गए कुछ सुझावों का प्रयास किया है लेकिन सामग्री क्षेत्र जो नियंत्रण हमेशा गलत लगता है क्योंकि यह हेडर निश्चित ऊंचाई को ध्यान में रखता नहीं है, इसलिए हेडर 40px होने पर अतिरिक्त 40px स्क्रॉल करेगा। कोई सुझाव?फिक्स्ड हेडर और 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;
}
अद्यतन: मैन्युअल के लिए पुन: आकार था लोड और खिड़की फिर से आकार पर ग्रिड। जोड़े
.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>
धन्यवाद,:
बारे
box-sizing
, मैं कम समारोह के रूप में परती में परिभाषित किया। आश्चर्यजनक है कि इस तरह का दर्द कितना आसान है। – NullReferenceधन्यवाद। मैंने पहले सामग्री div को पूरी तरह से पोजिशन करने का विचार नहीं किया था। +1 –
यह उत्तर शानदार है। यह विधि बहुत से मामलों के लिए बहुत अच्छी तरह से काम करती है जहां 'calc()' आवश्यक लग रहा था। उदाहरण के लिए, यदि आप 'चौड़ाई करना चाहते हैं: कैल्क (100% - 20 पीएक्स);', बस 'स्थिति करें: पूर्ण; बाएं: 0; दाएं: 20 पीएक्स; 'अपेक्षाकृत स्थित कंटेनर के साथ। यह वास्तव में मेरे लिए सीएसएस प्रयोग योग्य बनाता है। धन्यवाद, केई। –