2016-01-18 7 views
5
<div id="firstRow"> 
    <div id="one">AAA</div> 
    <div id="two"><input style="width: 100%" type="search"></div> 
    <div id="three">AAAAAA</div> 
</div> 

मेरे पास तीन div एस है।एक पंक्ति में तीन divs सीएसएस

  • मैं बाईं ओर one आईडी के साथ div तैरना चाहता हूं। div की चौड़ाई इसकी सामग्री पर निर्भर करेगी।
  • मैं अपनी सामग्री में भी ऑटो चौड़ाई के साथ div दाईं ओर फ्लोट करना चाहता हूं।
  • मुझे div आईडी दो के साथ सभी शेष स्थान लेने में होना चाहिए।

मैं मेज के साथ यह बना दिया है, लेकिन मैं div रों

<table> 
    <tr> 
     <td id="one">AAAAAAAAAAAAAAAAAAAAA</td> 
     <td id="two"><input style="width: 100%" type="search"></td> 
     <td id="three">AAAAAA</td> 
    </tr> 
</table> 

table { 
    width: 100%; 
} 

#one 
    width: auto; 
    height: 20px; 
    background-color: red; 
} 

#two{ 
    width: 100%; 
    height: 20px; 
    background-color: orange; 
} 

#three { 
    width: auto; 
    height: 20px; 
    background-color: green; 
} 
+0

संबंधित: http://stackoverflow.com/q/2603700/3597276 –

+0

मेरी राय नेनाद के flexbox जवाब में जाने का रास्ता है। –

उत्तर

4

साथ यह चाहते हैं तो आप flexbox

#firstRow { 
 
    display: -webkit-box; 
 
    display: -ms-flexbox; 
 
    display: -webkit-flex; 
 
    display: flex; 
 
} 
 

 
#one { 
 
    background-color: red; 
 
} 
 

 
#two { 
 
    -webkit-flex: 1;  
 
    -ms-flex: 1;  
 
    flex: 1; 
 
} 
 
    
 
#three { 
 
    background-color: green; 
 
}
<div id="firstRow"> 
 
    <div id="one">AAA</div> 
 
    <div id="two"><input style="width: 100%" type="search"></div> 
 
    <div id="three">AAAAAA</div> 
 
</div>

+0

अच्छा जवाब, लेकिन [flexbox में पूर्ण समर्थन की कमी है] (http://caniuse.com/#feat=flexbox)। – Ouroborus

+1

@Ouroborus, सभी आधुनिक ब्राउज़र flexbox का समर्थन करते हैं। केवल लुप्तप्राय आईई 8 और 9 नहीं है। यदि यह एक अच्छा जवाब है, तो आपको ऊपर उठाना चाहिए, क्योंकि ब्राउज़र समर्थन एक मुद्दा नहीं है (जब तक ओपी को प्रश्न में आईई 8 और 9 समर्थन की आवश्यकता नहीं होती)। –

+1

मैं ऑरोबोरस से असहमत हूं, आपको फ्लेक्सबॉक्स समर्थन की कमी देखने के लिए काफी दूर देखना होगा (जब तक कि आप विक्रेता टैग का उपयोग करने से इनकार नहीं करते)। हालांकि, मैं सुझाव दूंगा कि उत्तर आईई 10 और सफारी 8 के लिए विक्रेता टैग के साथ और भी सहायक होगा (जिसमें आईओएस 8 पर क्रोम शामिल है, अन्यथा मैं परेशान नहीं होगा)। मुझे नहीं लगता कि पुराने विक्रेता टैग जोड़ना जरूरी है, लगभग किसी को भी उनकी आवश्यकता नहीं होगी। –

1

साथ ऐसा कर सकते आम तौर पर नहीं है इसके लिए एक बिंदु क्योंकि, ठीक है , आपके पास टेबल हैं।

.table { 
 
    display:table; 
 
    width:100%; 
 
    border-spacing:2px; 
 
} 
 
.row { 
 
    display:table-row; 
 
} 
 
.cell { 
 
    display:table-cell; 
 
    padding:1px; 
 
} 
 
.cell,td { 
 
    white-space:nowrap; 
 
}
<div class="table"> 
 
    <div class="row"> 
 
     <div class="cell" style="background-color:#f88;">cell 1</div> 
 
     <div class="cell" style="background-color:#8f8;width:100%;"><input style="width: 100%" type="search" placeholder="Search box"></div> 
 
     <div class="cell" style="background-color:#88f;">cell 3</div> 
 
    </div> 
 
</div> 
 
<table style="width:100%;"> 
 
    <tr> 
 
     <td style="background-color:#f88;">cell 1</td> 
 
     <td style="background-color:#8f8;width:100%;"><input style="width: 100%" type="search" placeholder="Search box"></td> 
 
     <td style="background-color:#88f;">cell 3</td> 
 
    </tr> 
 
</table>

+0

1 99 8 में, जिस व्यक्ति ने पहली बार लेआउट के लिए टेबल का उपयोग करने के बारे में सोचा था, वह एक लेख लिखा था, "वेब बर्बाद हो गया है और मैंने इसे बर्बाद कर दिया है", इस तरह की चीज करने के अपने भयानक फैसले को शोक करते हुए। तब से, लेआउट के लिए टेबल का उपयोग एक व्यापक रूप से ज्ञात अश्लीलता है, कोई भी ज्ञानी डेवलपर कभी भी उससे बेहतर तरीके के बहुसंख्यक पर विचार नहीं करेगा। इसके अतिरिक्त, सीएसएस तालिका गुण HTML तत्व को एक तालिका नहीं बनाते हैं। – Rob

+1

@Rob एकमात्र महत्वपूर्ण अंतर संदर्भित है। तालिका पर 'भूमिका = "प्रस्तुति" को थप्पड़ मारें और अंतर हटा दिया गया है। लेकिन मैं सहमत हूं, केवल एक राक्षस ऐसा करेगा। (ओपी का मूल प्रश्न मूल रूप से "मैं

' का उपयोग किये बिना तालिका कैसे बना सकता हूं? "यह उस से माइग्रेट किया गया है।) – Ouroborus

+0

एचटीएमएल तत्व में एक विशेषता जोड़ना एचटीएमएल दस्तावेज़ की संरचना, रूपरेखा नहीं बदलता है; विशेष रूप से भूमिका विशेषता जो मानक में मौजूद नहीं है। – Rob

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