2015-11-22 3 views
6

मैं छवि क्षैतिज पंक्ति में छवियों को प्रतिस्थापित करने की कोशिश कर रहा हूं - तालिका पंक्ति में कक्षों के रूप में।<img> तत्व और प्रदर्शन: तालिका-सेल

वह लेआउट किसी अन्य तत्व के साथ काम करता है लेकिन <img> के साथ किसी कारण से नहीं।

चेक करें:

div { display:table; border:1px solid red; } 
 
div > img { display:table-cell; }
<p>These shall be replaced in single row but they are not:</p> 
 

 
<div> 
 
    <img src="http://lorempixel.com/output/city-q-c-78-50-6.jpg"> 
 
    <img src="http://lorempixel.com/output/people-q-c-78-50-5.jpg"> 
 
    <img src="http://lorempixel.com/output/animals-q-c-78-50-5.jpg"> 
 
</div>

किसी भी विचार?

अद्यतन: एफएफ सीएसएस स्पेक का पालन करता है और उन्हें एकल पंक्ति में बदल देता है। अन्य सभी ब्राउज़र्स नहीं हैं। हेइल फ़ायरफ़ॉक्स!

+0

क्या होगा यदि आप केवल 'div> img {display: table-cell को हटा दें; } 'और छवियों को डिफ़ॉल्ट' इनलाइन 'डिस्प्ले का उपयोग करने की अनुमति देता है? – Aguardientico

+0

प्रत्येक छवि एक पंक्ति पर? – repzero

+0

क्यों टेबल और टेबल-सेल घोषणाओं को पूरी तरह से हटाएं? छवियां स्वाभाविक रूप से इनलाइन तत्वों के रूप में संरेखित होती हैं। – j08691

उत्तर

0

संपादित

img, एक की जगह तत्व है यह गणना मापा जाता है और बॉक्स मॉडल अलग हैं। आप तालिका का उपयोग पर जोर देते हैं और @StevenThomas's PenCode

मैं सभी divs

.container { display: table; table-layout: auto; width: 100%; } 

img { display: inline-table; margin: .33em; width: 30%; height: auto; } 
हटाया के इस दोराहे पर नज़र रिक्ति के बारे में चिंतित हैं, तो इस ARTICLE


देखें

उपयोग margin: .125em अगर आप 4px चाहते ; सीमा-रिक्ति। इनलाइन-ब्लॉक


div बदलें करने के लिए

img बदलें इनलाइन-ब्लॉक करने के लिए

div { 
 
    display: inline-block; 
 
    border: 1px solid red; 
 
} 
 
div > img { 
 
    display: inline-block; 
 
}
<p>These shall be replaced in single row but they are not:</p> 
 

 
<div> 
 
    <img src="http://lorempixel.com/output/city-q-c-78-50-6.jpg"> 
 
    <img src="http://lorempixel.com/output/people-q-c-78-50-5.jpg"> 
 
    <img src="http://lorempixel.com/output/animals-q-c-78-50-5.jpg"> 
 
</div>

+2

यह काम करता है (टिप्पणियों में सुझाए गए अन्य दृष्टिकोणों के अनुसार), लेकिन यह ओपी के प्रश्न का उत्तर नहीं देता है। आप 'img' को 'डिस्प्ले-सेल' क्यों सेट नहीं कर सकते? –

+0

मुझे उन्हें तालिका पंक्ति में ठीक से आवश्यकता है ताकि मैं सीमा-अंतराल का उपयोग कर सकूं जो मार्कअप में उपयोग की जाने वाली रिक्त स्थान से स्वतंत्र है। –

+0

मुझे लगता है कि एक पंक्ति में तीन छवियों को रखना बिंदु नहीं है और ओपी ने इस सवाल से पूछा क्योंकि 'डिस्प्ले: टेबल-सेल' 'img' टैग – Cheslab

0
एक div के बजाय

, आप एक तालिका का उपयोग कर की कोशिश कर सकते। यहां वाक्यविन्यास है:

<table> 
    <tr> 
    <td></td> 
    <td></td> 
    <td></td> 
    </tr> 
    <tr> 
    <td></td> 
    <td></td> 
    <td></td> 
    </tr> 
    </table> 

टी टैग पंक्तियां हैं, टीडी टैग कॉलम हैं। मैं इस वाक्यविन्यास का उपयोग करता हूं:

<table> 
<tr> 
<td><img src="http://lorempixel.com/output/city-q-c-78-50-6.jpg"></td> 
<td><img src="http://lorempixel.com/output/people-q-c-78-50-5.jpg"></td> 
<td><img src="http://lorempixel.com/output/animals-q-c-78-50-5.jpg"></td> 
</tr> 
</table> 
संबंधित मुद्दे