2013-10-30 14 views
14

मैं यह कहकर शुरू करूंगा कि मैं पूरी तरह से वेब विकास के लिए बहुत नया हूं और यह मेरी पहली प्रतिक्रियाशील साइट है इसलिए कृपया नम्र रहें और इसे ध्यान में रखें, मैं इस चरण में नोब शब्द की परिभाषा हूं । थोड़ी देर के लिए जवाब खोजने के लिए और कोई भाग्य नहीं होने के बाद मुझे उम्मीद है कि यहां कोई मेरी मदद कर सकता है।पृष्ठ ऊंचाई 100% व्यूपोर्ट?

मैं इस वेबसाइट के लिए एक होमपेज बनाने की कोशिश कर रहा हूं। डिज़ाइन बस पृष्ठ के बाईं ओर एक ब्लॉक है जो शीर्ष पर लोगो दिखाता है और फिर नीचे लिंक की एक श्रृंखला दिखाता है, जिसमें से सभी एक ही पृष्ठभूमि पर हैं। इसके दाईं ओर एक बड़ी छवि है जो बाकी स्क्रीन को भरती है। मैं चाहता हूं कि पूरा पृष्ठ ब्राउजर विंडो को भरने के लिए चाहे जो भी डिवाइस देखा जा सके, बिल्कुल स्क्रॉलिंग आवश्यक नहीं है, यानी चौड़ाई और ऊंचाई दोनों 100% व्यूपोर्ट। पेज की चौड़ाई मुझे बिल्कुल भी कोई दुःख नहीं दे रही है, जैसा कि मैं चाहता हूं, अलग-अलग स्क्रीन आकारों में मीठा समायोजन कर रहा हूं, साइडबार चौड़ाई के 20% और मुख्य छवि 80% पर है।

ऊंचाई एक अलग कहानी है हालांकि। मैं प्रतीत नहीं कर सकता, सीएसएस के किसी भी संयोजन में मैंने अभी तक कोशिश की है, ताकि व्यूपोर्ट का 100% व्यवहार करने की ऊंचाई प्राप्त हो सके। या तो साइडबार बहुत छोटा है और मुख्य छवि बहुत लंबी है या दोनों बहुत लंबी हैं आदि। मुख्य छवि मैं पहलू अनुपात को रखना चाहता हूं और इसे इसके अधिकांश भाग को प्रदर्शित करने के लिए आवश्यक रूप से इसे विभाजित करना चाहता हूं बार मैं पेज की ऊंचाई के 100% तक फिट होना चाहता हूं।

<html> 
<head> 
<meta charset="UTF-8"> 
<title></title> 
<style> 
html 
{ 
height: 100%; 
margin: 0; 
padding: 0; 
} 

body 
{ 
height: 100%; 
margin: 0; 
padding: 0; 
} 

#page 
{ 
width: 100%; 
height: 100%; 
margin: 0; 
padding: 0; 
} 

#sidebar 
{ 
float: left; 
width: 20%; 
height: 100%; 
padding-bottom: 10; 
margin: 0; 
background: url(/Images/bg.jpg); 
} 

#slideshow 
{ 
float: right; 
width: 80%; 
height: 100%; 
overflow: hidden; 
margin: 0; 
padding: 0; 
} 

#logoimg 
{ 
width: 80%; 
margin-top: 10%; 
margin-left: 10%; 
margin-right: 10%; 
} 

#mainimg 
{ 
width: 100%; 
overflow: hidden; 
} 

.link 
{ 
font-family: courier; 
font-size: 1.3em; 
text-align: center; 
padding-top: 7%; 
padding-bottom: 1%; 
color: rgba(255,255,255,1.00); 
} 

@font-face 
{ 
font-family: courier; 
src: url(/courier_new-webfont.ttf); 
src: url(/courier_new-webfont.eot); 
src: url(/courier_new-webfont.woff); 
} 

</style> 
</head> 

<body> 
<div id="page"><!--Whole page container--> 
<div id="sidebar"><!--Side bar container--> 
    <div class="link" id="logo"><img id="logoimg" src="/Images/logo.png"></div> 
    <div class="link" id="homelink">Home<!--Home link--></div> 
    <div class="link" id="aboutlink">About<!--About link--></div> 
    <div class="link" id="gallerylink">Gallery<!--Gallery link--></div> 
    <div class="link" id="priceslink">Prices<!--Prices link--></div> 
    <div class="link" id="reviewslink">Reviews<!--Reviews link--></div> 
    <div class="link" id="contactlink">Contact<!--Contact link--></div> 
    <div class="link" id="clientslink">Clients<!--Clients link--></div> 
</div> 
<div id="slideshow"><img id="mainimg" src="/Images/main.jpg"><!--Image slideshow container--> 
</div> 
</div> 
</body> 
</html> 

किसी भी मदद के इस के साथ वास्तव में सराहना की जाएगी और किसी भी बड़े पैमाने पर शौकिया गलतियों का कहना है संकोच नहीं करते: यहाँ वर्तमान में मेरे कोड है। मैं कोई आलोचना लेने और उससे सीखने के लिए तैयार हूं। धन्यवाद

+1

पहली बात यह है कि मैं सुझाव दे सकता हूं कि उस शैली टैग को हटा दें और सीएसएस को अपने पृष्ठ पर स्थानांतरित करें। यदि आप मीडिया समीकरणों और सब कुछ को इस समीकरण में लाने जा रहे हैं तो आपको एक अलग सीएसएस पृष्ठ की आवश्यकता है। –

उत्तर

18

मैंने आपको यह दिखाने के लिए एक बुनियादी सेट अप किया है कि आप इसे कैसे शैली देंगे। 100% तक ऊंचाई निर्धारित करने के लिए मैंने पाया है कि सबसे अच्छा तरीका jQuery/जावास्क्रिप्ट के उपयोग के साथ है। आप खिड़की की ऊंचाई पा सकते हैं और उसके बाद सीएसएस में इसका उपयोग कर इनपुट कर सकते हैं।

यह काम करता है जिस तरह से यह काम करता है var wH = $(window).height(); ऊंचाई ढूंढ रहा है और इसे एक संख्या में बदल रहा है। फिर जब आप $('.sideBar').css({height: wH}); का उपयोग करते हैं तो आप साइडबार के सीएसएस में ऊंचाई इनपुट कर रहे हैं।

jQuery

function windowH() { 
    var wH = $(window).height(); 

    $('.sideBar, .mainImg').css({height: wH}); 
} 

windowH(); 

इस समारोह मैंने लिखा उन दो तत्वों खिड़की की ऊंचाई दे रहा है। यह उन दो तत्वों को किसी भी ब्राउज़र की विंडो का 100% होने की अनुमति देगा।

मैं nav को ul में बदलने की भी सिफारिश करता हूं जिसे मैंने दिखाया कि यह संभव है कि यह कैसे संभव है।

JSFIDDLE (यूआरएल के अंत में 'शो' निकालें कोड को देखने के लिए)

अगली बात तुम अनुसंधान करने की आवश्यकता होगी मोबाइल उपकरणों के लिए बेहतर अनुकूल करने के लिए सामग्री को समायोजित करने के लिए media queries है। जब मोबाइल उपकरणों पर एक क्षैतिज नौसेना में साइडबार को बदलने पर विचार करें।

आप एक शुद्ध CSS केवल दृष्टिकोण तो आप कुछ इस तरह कर सकते हैं चाहते हैं,

html, body { 
    height: 100%; 
    width: 100%; 
    margin: 0; 
    padding: 0; 
} 

में ऊंचाई & चौड़ाई के लिए 100% को जोड़ कर अपने html/body आप तो अन्य तत्वों पर height: 100% उपयोग कर सकते हैं पूरे पृष्ठ को भरने के लिए।

यह देखने के लिए कि यह कैसे काम करता है यह JSFIDDLE देखें।

Helpful read about responsive web design

+0

यह शानदार है और जोश इतने सहायक होने के लिए बहुत धन्यवाद, अभी तक कोशिश नहीं की है लेकिन बाद में और देखेंगे कि मैं कैसे चल रहा हूं। आपके द्वारा प्रदान किए गए लिंक पर एक त्वरित स्कीम उन्हें दिखाता है कि वे मेरे लिए बहुत उपयोगी दिखें ताकि उसके लिए भी धन्यवाद। मैंने पहले ही पोर्ट्रेट टैबलेट आकार और नीचे एक लंबवत स्क्रॉलिंग लेआउट पर स्विच करने के लिए ब्रेक पॉइंट के साथ मीडिया प्रश्नों का उपयोग करने की योजना बनाई थी, बस उस समस्या को ठीक करने से पहले मैं इसे ठीक करना चाहता था !! बहुत धन्यवाद फिर से – Dan

+0

कोई समस्या नहीं! मैंने कभी ऐसा कोई लेआउट नहीं बनाया है, इसलिए मुझे लगा कि यह दोनों के लिए फायदेमंद हो सकता है। आप इस तरह की ऊंचाई भी सेट कर सकते हैं: 'var wH = $ (विंडो) .height()/2; 'यह 1/2 ऊंचाई होगी,' var wH = $ (विंडो) .height()/4;' और यह 1/4 ऊंचाई होगी। अगर इस उत्तर ने आपकी मदद की है तो कृपया इसे सही उत्तर के रूप में चिह्नित करना न भूलें। अपने डिजाइन में शुभकामनाएं और मुझे कोई प्रश्न पूछने में संकोच न करें! –

+0

यह बहुत ही धन्यवाद काम कर रहा है। उत्तर चिह्नित :) – Dan

35

यहाँ सिर्फ एक HTML के सरलीकृत कोड उदाहरण है:

<div id="welcome"> 
    your content on screen 1 
</div> 
<div id="projects"> 
    your content on screen 2 
</div> 

और यहाँ सीएसएस का उपयोग कर VH है:

div#welcome { 
    height: 100vh; 
    background: black; 
} 

div#projects { 
    height: 100vh; 
    background: yellow; 
} 

यहाँ से: http://stanhub.com/how-to-make-div-element-100-height-of-browser-window-using-css-only/

यह काम करता है मेरे लिए।

+0

यह सबसे अच्छा और सरल जवाब है !! – emi

संबंधित मुद्दे