मेरे पास मेरी वेबसाइट पर एक निश्चित नेविगेशन बार है जो शीर्ष पर रहता है जो मुझे पृष्ठ के नीचे अलग-अलग अनुभागों में ले जाता है। हालांकि, क्योंकि मेरे निश्चित नौसेना बार की ऊंचाई 40 पीएक्स है, इसलिए प्रत्येक खंड की शुरूआत 40 पीएक्स है। एचटीएमएल या सीएसएस का उपयोग करके 40px तक मेरे लिंक मुझे कहां ले जाएंगे? धन्यवाद।मैं कैसे तय करूं कि मेरी निश्चित नौसेना बार मुझे कहाँ ले जाती है?
उत्तर
आप प्रत्येक खंड के शीर्ष से ऊपर "डमी" एंकर 40 पिक्सेल की स्थिति को पूरी तरह से स्थापित करने का प्रयास कर सकते हैं। आप यह सुनिश्चित करने के लिए शून्य चौड़ाई/ऊंचाई और छिपी दृश्यता दे सकते हैं कि ये एंकर इस बात को प्रभावित नहीं करते कि आपका पृष्ठ कैसा प्रदर्शित होता है। जब उपयोगकर्ता आपके निश्चित नेविगेशन बार में से किसी एक लिंक पर क्लिक करता है, तो विंडो डमी एंकर के शीर्ष पर स्क्रॉल होगी, इसके वास्तविक भाग की शुरुआत से 40 पिक्सेल।
उदाहरण HTML:
<div class="navbar">
<a href="#anchor1">Anchor 1</a>
<a href="#anchor2">Anchor 2</a>
<a href="#anchor3">Anchor 3</a>
</div>
<div class="section">
<span id="anchor1" class="anchor"></span>
Section Content
</div>
<div class="section">
<span id="anchor2" class="anchor"></span>
Section Content
</div>
<div class="section">
<span id="anchor3" class="anchor"></span>
Section Content
</div>
उदाहरण सीएसएस:
body {
padding-top: 40px;
}
.navbar {
position: fixed;
width: 100%;
height: 40px;
top: 0;
left: 0;
z-index: 10;
border-bottom: 1px solid #ccc;
background: #eee;
}
.section {
position: relative;
}
.anchor {
display: block;
position: absolute;
width: 0;
height: 0;
z-index: -1;
top: -40px;
left: 0;
visibility: hidden;
}
एक काम उदाहरण के लिए, को देखने के http://jsfiddle.net/HV7QL/
संपादित करें: CSS3 भी :target
छद्म वर्ग, लागू होता है जिसमें शामिल एक तत्व के लिए जिसका id
द्वारा संदर्भित किया गया है दस्तावेज़ में एक लिंक के, या यूआरएल के हैश मान। आप :target
के शीर्ष पर 40-पिक्सेल पैडिंग लागू कर सकते हैं जो केवल उस अनुभाग पर लागू होगा जिसे उपयोगकर्ता निश्चित नेविबार से चुनता है।
उदाहरण सीएसएस:
.section:target {
padding-top: 40px;
}
इस विधि ऊपर वर्णित से शब्दार्थ क्लीनर है, लेकिन पुराने ब्राउज़र पर काम नहीं करेगा।
कार्य उदाहरण: http://jsfiddle.net/5Ngft/
वाह, आपका दूसरा जवाब वाकई अच्छा है। हालांकि मुझे लगता है कि एकमात्र समस्या यह है कि जब आपका लक्ष्य # यूआरएल में है, तो वह तत्व पैडिंग बनाए रखेगा। तो यदि आप फिर से स्क्रॉल करते हैं, तो आपके पास पृष्ठ में यह अजीब अंतर है। –
यह काम किया, लेकिन यह उतना साफ नहीं है जितना मैं चाहूंगा। मैं काम करने वाली चीज़ों का आनंद लेता हूं, लेकिन कोड निश्चित रूप से क्लीनर हो सकता है। – Brian
मैं सिर्फ इस समस्या को अपने आप को आज तो मैं पहले से ही एक बिट के लिए इस बारे में सोच कर दिया गया था को भूल गए हैं करने के लिए हुआ था, लेकिन मुझे लगता है कि मैं सिर्फ एक समाधान नहीं मिला:
तत्व है कि आप कूद करना चाहते करने के लिए एक padding-top: 40px; margin-top: -40px
जोड़े सेवा मेरे। ऋणात्मक मार्जिन पैडिंग को रद्द करता है, लेकिन ब्राउज़र अभी भी सोचता है कि तत्व का शीर्ष वास्तव में 40px से अधिक है (क्योंकि वास्तव में, केवल इसकी सामग्री कम हो जाती है)।
दुर्भाग्यवश, यह पहले से सेट मार्जिन और पैडिंग के साथ टकरा सकता है, और यदि आप लक्षित तत्व पर पृष्ठभूमि का उपयोग कर रहे हैं तो यह सब गड़बड़ कर रहा है।
हूँ यदि मैं उस को हल करने के लिए और एक jsfiddle पोस्ट कर सकते हैं, लेकिन इस बीच यहाँ एक बुनियादी सवाल का जवाब कम से कम :)
संपादित देखेंगे: मैंने सोचा कि मैं पृष्ठभूमि के लिए एक समाधान था, लेकिन यह काम नहीं किया। फिर से हटा दिया गया।
अंतिम संपादन: यदि आप रैपिंग तत्व के पृष्ठभूमि रंग को जानते हैं तो यह काम करता है। मेरे उदाहरण में मुझे पता है कि टेक्स्ट एक सफेद पृष्ठभूमि पर है, लेकिन शीर्षकों में चांदी की पृष्ठभूमि है। अतिरिक्त गद्दी हम सेट पर एक पृष्ठभूमि होने से शीर्षक रोकने के लिए, के बजाय मैं इसे एक छद्म तत्व पर डाल यह पहले:
#three:before {
content: " ";
background: white;
display: block;
margin-top: -40px;
padding-top: 40px;
}
इस तरह अतिरिक्त गद्दी एक सफेद पृष्ठभूमि फिर से है, लेकिन यह केवल काम करता है अगर आप पहले से ही जानते हैं कि इसकी पृष्ठभूमि क्या है। उदाहरण के लिए इसे पारदर्शी में सेट करना लेख की नहीं, शीर्षक की अंतर्निहित पृष्ठभूमि दिखाएगा।
जेएसफ़िल्ड: http://jsfiddle.net/Lzve6/ शीर्षक एक डिफ़ॉल्ट है जिसमें आपको समस्या है। शीर्षक दो मेरा पहला समाधान है, लगभग सभी ब्राउज़रों पर काम करने की गारंटी शीर्षक तीन :before
छद्म-तत्व का उपयोग कर रहा है, शायद older browsers पर काम नहीं कर सकता है।
यह मेरे अन्य मार्जिन और पैडिंग को गड़बड़ कर दिया जो मैंने स्थापित किया था। वर्तमान में मैंने इसे सेट किया है: '# संपर्क { \t प्रदर्शन: ब्लॉक; \t टेक्स्ट-संरेखण: केंद्र; \t मार्जिन: 0 ऑटो; \t पृष्ठभूमि रंग: आरजीबीए (255, 255, 255, 0.15); \t चौड़ाई: ऑटो; \t पैडिंग: 15 पीएक्स; \t मार्जिन: 15 पीएक्स; } ' – Brian
क्या आपके वर्तमान मार्जिन और पैडिंग को आपके संपादन के साथ गठबंधन करने का कोई तरीका है। की तरह कुछ 'मार्जिन: -40 पीएक्स 0 पीएक्स 0 पीएक्स 0 पीएक्स ऑटो; पैडिंग: 55 पीएक्स 15 पीएक्स 15 पीएक्स 15 पीएक्स; ' – Brian
निश्चित रूप से, लेकिन आपको उन्हें मैन्युअल रूप से जोड़ना होगा। आपका उदाहरण काम करना चाहिए :) –
- 1. मैं कैसे तय करूं कि व्यूस्टेट में स्टोर करना है?
- 2. खोजें कि फेसबुक पर एक तस्वीर कहाँ ली जाती है?
- 3. एक निश्चित स्थिति के साथ दाईं तरफ तैरने वाली नौसेना?
- 4. मैं कैसे सुनिश्चित करूं कि अनुक्रम की निश्चित लंबाई हो?
- 5. Magento 1.5 उत्पाद समीक्षा कहाँ संग्रहीत की जाती है?
- 6. svn: आखिरी बार जब मैं एक निश्चित रेखा बदल गई थी, तो मैं कैसे निर्धारित करूं?
- 7. मैं कैसे परीक्षण करूं कि कोई निश्चित XML नोड मौजूद है या नहीं?
- 8. मैं कैसे निर्धारित करूं कि सी # में कोई प्रक्रिया प्रबंधित की जाती है या नहीं?
- 9. मेटा सामग्री एमवीसी में कहाँ रहती है?
- 10. टेक्स्टमेट: मैं वर्णों का बार-बार अनुक्रम कैसे दर्ज करूं?
- 11. मैं बहु शब्द शब्दों को बार-बार कैसे उत्पन्न करूं?
- 12. मैं प्रति बार jqplot बार चार्ट रंग कैसे सेट करूं?
- 13. जावा प्रोग्राम कैसे तय कर सकता है कि ओएस
- 14. मैं कैसे निर्धारित करूं कि svn: mergeinfo दूषित है और मैं इसे कैसे ठीक करूं?
- 15. एक तत्व नकली स्थिति कैसे बनाएं: निश्चित है, इसलिए यह एक निश्चित स्क्रॉल ऊंचाई तक तय करता है, फिर संलग्न करता है?
- 16. मैं सभी स्थापित निश्चित-चौड़ाई फ़ॉन्ट कैसे प्राप्त करूं?
- 17. फेसबुक शैली निश्चित स्टेटस बार कैसे बनाएं?
- 18. क्या मुझे परवाह है कि प्रतीक संस्करण डंप गुम है? मैं यह कैसे प्राप्त करूं?
- 19. मैं कैसे निर्धारित करूं कि एक्सेल वीबीए
- 20. कैसे पता लगाएं कि अलर्ट कहाँ से उठाया गया है?
- 21. मैं सीएसएस के साथ एक छोटे से तय कॉलम में लंबे पाठ को कैसे इंगित करूं?
- 22. मैं निर्णय ले सकता हूं कि अनुरोधस्थान के लिए किस अंतराल का उपयोग करना है?
- 23. NuGet कैसे तय करता है कि स्थानीय पैकेज कैश का उपयोग करना है या नहीं?
- 24. कैसे नौसेना/टैब बार छिपाने/अनदेखी pinterest शैली बनाने के लिए?
- 25. मैं लोगो में कछुए कैसे ले जाऊं?
- 26. कहाँ मैं MVC आवेदन
- 27. मेरी स्क्रिप्ट ठीक काम करती है, लेकिन मुझे उलझन में है कि मुझे utf8_decode()
- 28. मैं कैसे सत्यापित करूं कि एनएसडीटा एक पीडीएफ है?
- 29. मैं कैसे निर्धारित कर सकता हूं कि मेरी प्रक्रिया
- 30. Proguard त्रुटि: उम्मीद वर्ग पथ विभाजक - नहीं यकीन है कि मैं कहाँ उद्धरण
आप एक 'शीर्ष मार्जिन सेट करने के लिए प्रयास किया है: 40px; सामग्री' div' को '? – Boris
bborisovs, जो दुर्भाग्य से काम नहीं करता है। ब्रायन, दिलचस्प सवाल, मैं भी यह सोच रहा था। विश्वास नहीं है कि यह संभव है .. –
मेरे लिए सबसे अच्छा तरीका जावास्क्रिप्ट का उपयोग करना था: 'var shiftWindow = function() {scrollBy (0, -50)}; अगर (location.hash) shiftWindow(); window.addEventListener ("हैशचेंज", शिफ्टविंडो); ' –