कोई फर्क नहीं पड़ता कि इसकी सामग्री कैसी है।
क्या इसे करना संभव है?
कोई फर्क नहीं पड़ता कि इसकी सामग्री कैसी है।
क्या इसे करना संभव है?
जवाबों:
यह हमेशा मेरे लिए काम करता है:
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
html, body {
height: 100%;
margin: 0;
}
#wrapper {
min-height: 100%;
}
</style>
<!--[if lte IE 6]>
<style type="text/css">
#container {
height: 100%;
}
</style>
<![endif]-->
</head>
<body>
<div id="wrapper">some content</div>
</body>
यह शायद इस समस्या का सबसे सरल समाधान है। केवल चार सीएसएस विशेषताओं को सेट करने की आवश्यकता है (हालांकि उनमें से एक केवल IE को खुश करने के लिए है)।
यह शुद्ध सीएसएस का उपयोग करके फुलस्क्रीन डिव बनाने का मेरा समाधान है। यह एक पूर्ण स्क्रीन डिव प्रदर्शित करता है जो स्क्रॉलिंग पर लगातार बना रहता है। और अगर पेज कंटेंट स्क्रीन पर फिट बैठता है, तो पेज स्क्रॉल-बार नहीं दिखाएगा।
IE9 +, फ़ायरफ़ॉक्स 13+, क्रोम 21+ में परीक्षण किया गया
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title> Fullscreen Div </title>
<style>
.overlay {
position: fixed;
width: 100%;
height: 100%;
left: 0;
top: 0;
background: rgba(51,51,51,0.7);
z-index: 10;
}
</style>
</head>
<body>
<div class='overlay'>Selectable text</div>
<p> This paragraph is located below the overlay, and cannot be selected because of that :)</p>
</body>
</html>
यह इसे करने का सबसे स्थिर (और आसान) तरीका है, और यह सभी आधुनिक ब्राउज़रों में काम करता है:
.fullscreen {
position: fixed;
top: 0;
left: 0;
bottom: 0;
right: 0;
overflow: auto;
background: lime; /* Just to visualize the extent */
}
<div class="fullscreen">
Suspendisse aliquam in ante a ornare. Pellentesque quis sapien sit amet dolor euismod congue. Donec non semper arcu. Sed tortor ante, cursus in dui vitae, interdum vestibulum massa. Suspendisse aliquam in ante a ornare. Pellentesque quis sapien sit amet dolor euismod congue. Donec non semper arcu. Sed tortor ante, cursus in dui vitae, interdum vestibulum massa. Suspendisse aliquam in ante a ornare. Pellentesque quis sapien sit amet dolor euismod congue. Donec non semper arcu. Sed tortor ante, cursus in dui vitae, interdum vestibulum massa. Suspendisse aliquam in ante a ornare. Pellentesque quis sapien sit amet dolor euismod congue. Donec non semper arcu. Sed tortor ante, cursus in dui vitae, interdum vestibulum massa.
</div>
फ़ायरफ़ॉक्स, क्रोम, ओपेरा, विवाल्डी, IE7 + (IE11 में अनुकरण पर आधारित) में काम करने के लिए परीक्षण किया गया।
position: fixed; top: 0; left: 0;
और अब जो भाग अलग है width: 100%; height: 100%;
:। यह वास्तव में पुराने ब्राउज़रों के साथ-साथ त्रुटिपूर्ण रूप से काम करता है।
box-sizing: border-box;
, अन्यथा आपको बड़ा बॉक्स मिलेगा जो स्क्रॉल करने का कारण होगा। देखें इस ।
आधुनिक ब्राउज़रों के साथ ऐसा करने का सबसे अच्छा तरीका यह होगा कि व्यूपोर्ट-प्रतिशत लंबाई का उपयोग किया जाए , जो ब्राउज़र के लिए नियमित प्रतिशत लंबाई तक गिरते हैं जो उन इकाइयों का समर्थन नहीं करते हैं ।
व्यूपोर्ट-प्रतिशत लंबाई व्यूपोर्ट की लंबाई पर ही आधारित होती है। यहां हम जिन दो इकाइयों का उपयोग करेंगे, वे हैं vh
(व्यूपोर्ट ऊंचाई) और vw
(व्यूपोर्ट चौड़ाई)। 100vh
व्यूपोर्ट की ऊंचाई के 100vw
100% के बराबर है , और व्यूपोर्ट की चौड़ाई के 100% के बराबर है।
निम्न HTML मानकर:
<body>
<div></div>
</body>
आप निम्नलिखित का उपयोग कर सकते हैं:
html, body, div {
/* Height and width fallback for older browsers. */
height: 100%;
width: 100%;
/* Set the height to match that of the viewport. */
height: 100vh;
/* Set the width to match that of the viewport. */
width: 100vw;
/* Remove any browser-default margins. */
margin: 0;
}
यहाँ एक JSField डेमो है, जो div
परिणाम फ्रेम की ऊंचाई और चौड़ाई दोनों को भरने वाले तत्व को दर्शाता है । यदि आप परिणाम फ़्रेम का div
आकार बदलते हैं , तो तत्व तदनुसार आकार बदलता है।
मेरे पास IE जोश नहीं है, क्या आप मेरे लिए यह परीक्षण कर सकते हैं। धन्यवाद।
<html>
<head>
<title>Hellomoto</title>
<style text="text/javascript">
.hellomoto
{
background-color:#ccc;
position:absolute;
top:0px;
left:0px;
width:100%;
height:100%;
overflow:auto;
}
body
{
background-color:#ff00ff;
padding:0px;
margin:0px;
width:100%;
height:100%;
overflow:hidden;
}
.text
{
background-color:#cc00cc;
height:800px;
width:500px;
}
</style>
</head>
<body>
<div class="hellomoto">
<div class="text">hellomoto</div>
</div>
</body>
</html>
position: fixed
इसके बजाय उपयोग करना चाह सकते हैं यदि पेज स्क्रॉल कर सकता है, लेकिन आपको यह ध्यान में रखना चाहिए कि यह कुछ मोबाइल ब्राउज़र में काम नहीं करता है caniuse.com/#feat=css-fixed
क्या मैं सबसे अच्छा सुरुचिपूर्ण रास्ता मिल निम्नलिखित की तरह है, यहाँ सबसे चाल बनाने div
के position: fixed
।
.mask {
background-color: rgba(0, 0, 0, 0.5);
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
margin: 0;
box-sizing: border-box;
width: 100%;
height: 100%;
object-fit: contain;
}
<html>
<head>
<title>Test</title>
</head>
<body>
<h1>Whatever it takes</h1>
<h1>Whatever it takes</h1>
<h1>Whatever it takes</h1>
<h1>Whatever it takes</h1>
<h1>Whatever it takes</h1>
<h1>Whatever it takes</h1>
<h1>Whatever it takes</h1>
<h1>Whatever it takes</h1>
<h1>Whatever it takes</h1>
<h1>Whatever it takes</h1>
<h1>Whatever it takes</h1>
<h1>Whatever it takes</h1>
<h1>Whatever it takes</h1>
<h1>Whatever it takes</h1>
<h1>Whatever it takes</h1>
<h1>Whatever it takes</h1>
<h1>Whatever it takes</h1>
<h1>Whatever it takes</h1>
<h1>Whatever it takes</h1>
<h1>Whatever it takes</h1>
<div class="mask"></div>
</body>
</html>
बदले body
एक में तत्व flex container
और div
एक में flex item
:
body {
display: flex;
height: 100vh;
margin: 0;
}
div {
flex: 1;
background: tan;
}
<div></div>
यहाँ सबसे छोटा समाधान है, जिसके आधार पर vh
। कृपया ध्यान दें कि कुछ पुराने ब्राउज़रोंvh
में समर्थित नहीं है ।
सीएसएस:
div {
width: 100%;
height: 100vh;
}
HTML:
<div>This div is fullscreen :)</div>
यह मेरे द्वारा उपयोग की जाने वाली चाल है। उत्तरदायी डिजाइनों के लिए अच्छा है। पूरी तरह से काम करता है जब उपयोगकर्ता ब्राउज़र आकार बदलने के साथ गड़बड़ करने की कोशिश करता है।
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
#container {
position: absolute;
width: 100%;
min-height: 100%;
left: 0;
top: 0;
}
</style>
</head>
<body>
<div id="container">some content</div>
</body>
दुर्भाग्य से, height
सीएसएस में संपत्ति उतनी विश्वसनीय नहीं है जितनी होनी चाहिए। इसलिए, जावास्क्रिप्ट का उपयोग उपयोगकर्ताओं के व्यूपोर्ट की ऊंचाई के लिए तत्व की ऊंचाई शैली को निर्धारित करने के लिए करना होगा। और हाँ, यह पूर्ण स्थिति के बिना किया जा सकता है ...
<!DOCTYPE html>
<html>
<head>
<title>Test by Josh</title>
<style type="text/css">
* { padding:0; margin:0; }
#test { background:#aaa; height:100%; width:100%; }
</style>
<script type="text/javascript">
window.onload = function() {
var height = getViewportHeight();
alert("This is what it looks like before the Javascript. Click OK to set the height.");
if(height > 0)
document.getElementById("test").style.height = height + "px";
}
function getViewportHeight() {
var h = 0;
if(self.innerHeight)
h = window.innerHeight;
else if(document.documentElement && document.documentElement.clientHeight)
h = document.documentElement.clientHeight;
else if(document.body)
h = document.body.clientHeight;
return h;
}
</script>
</head>
<body>
<div id="test">
<h1>Test</h1>
</div>
</body>
</html>
$(window).height();
करना सबसे अच्छा विचार होगा।