2013-05-21 7 views
9
  • display:none पूरी तरह से एक तत्व छुपा देगा जैसे कि वह अब दूसरे हाथ पर एक चौड़ाई और शून्य
  • visibility:hidden की ऊंचाई एक तत्व छिपाते हैं, लेकिन एक आयत को आरक्षित जाएगा था दस्तावेज़ में तत्व की मूल चौड़ाई और ऊंचाई का।

क्या शुद्ध सीएसएस के माध्यम से एक तत्व छिपाने के लिए कोई तरीका है जैसे कि यह शून्य ऊंचाई लेता है लेकिन इसकी मूल चौड़ाई? अपनी ऊंचाई शून्य पर सेट करना काम नहीं करता है क्योंकि मुझे पता नहीं है कि तत्व को सेट करने के लिए किस ऊंचाई को एक बार फिर से दिखाना है।सीएसएस: तत्व छिपाते हैं, लेकिन चौड़ाई (और नहीं ऊंचाई) रखने

विशेष रूप से मैं निम्नलिखित हासिल करना चाहते हैं:

#top ul  {take up zero height but original width} 
#top:hover ul {restore original dimensions} 

संपादित करें: हल! मूल ऊंचाई को पुनर्स्थापित करने के लिए height:auto सेट करना है।

पूर्ण संस्करण या यहाँ के लिए यहाँ http://jsfiddle.net/yP59s/ देखें सीएसएस:

ul {margin:0px} 
#top {border:1px solid} 
#top ul {height:0px;overflow:hidden} 
#top:hover ul {height:auto;} 

और html:

<div id="top"> 
    <h1>foobar</h1> 
    <ul> 
     <li>foo</li> 
     <li>bar</li> 
    </ul> 
</div> 
blubber 
+3

बस सेट ऊंचाई: ऑटो जब आप 'बहाल' के लिए ऊंचाई चाहते हैं। – powerbuoy

+1

मैं तत्व आईडी के रूप में "शीर्ष" का उपयोग करने की अनुशंसा नहीं करता, यह एक आरक्षित शब्द है। –

+0

यह वास्तव में आपके प्रश्न का उत्तर नहीं देता है, लेकिन हो सकता है कि आप 0 की बजाय ** छोटी ** ऊंचाई (उदाहरण के लिए, 1 पीएक्स या 2 पीएक्स) का उपयोग करना चाहें। अन्यथा, 0 की ऊंचाई के साथ, कोई सतह क्षेत्र नहीं होगा जिसके ऊपर कोई सतह क्षेत्र नहीं होगा मन्डराना। – Sildoreth

उत्तर

4
#top   { width: 300px; height:0px; max-height:0px; } 
#top:hover {height: auto; width: 300px; } 

http://jsfiddle.net/G5cgY/

+2

' ऊंचाई के उत्तर में कुछ अतिरिक्त टिप्पणियां जोड़े: ऑटो 'जो मैं ढूंढ रहा था, धन्यवाद! यद्यपि इसे 'दृश्यता: छिपी हुई' के साथ जोड़ा जाना चाहिए, जब होवरिंग न हो और 'दृश्यता: दृश्यमान' होवर हो क्योंकि अन्यथा सामग्री अभी भी प्रदर्शित होती है, भले ही इसकी ऊंचाई 0px हो। – josch

+1

jsfiddle को जांचें, इसे ओवरफ्लो दें: छिपी हुई पर्याप्त –

+1

वास्तव में, 'ओवरफ्लो: छुपा' जो मैं चाहता हूं - धन्यवाद! – josch

0

सीएसएस

<a href="#box1">Show Box 1</a>|<a href="#box2">Show Box 2</a>|<a href="#hidebox">Hide All</a> 

<div id="box1" class="box"> Contents of Box 1 </div> 
<div id="box2" class="box"> Contents of Box 2 </div> 

और सीएसएस

.box{ 
border: 2px solid #ccc; 
padding:20px; 
margin:20px 0 0; 
max-height:150px; 
max-width:300px; 
display:none; } 



.box:target{ 
    display:block; 
} 
का उपयोग कर

और मैं काफी कुछ महीने पहले इस बेला पाया, सहायक हो सकता है: http://jsfiddle.net/DbXQs/

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