2011-12-03 9 views
175

निम्न उदाहरण पर विचार करें: (live demo)क्षैतिज रूप से iframe को कैसे केन्द्रित करें?

HTML:

<div>div</div> 
<iframe></iframe> 

सीएसएस:

div, iframe { 
    width: 100px; 
    height: 50px; 
    margin: 0 auto; 
    background-color: #777; 
} 

परिणाम:

enter image description here

क्यों iframe को div की तरह केंद्रीय रूप से गठबंधन नहीं किया गया है? मैं इसे केंद्रीय रूप से संरेखित कैसे कर सकता हूं?

+4

क्यों इस आइफ्रेम के लिए एक div रैप नहीं? – Giberno

उत्तर

297

अपने आईफ्रेम सीएसएस में display:block; जोड़ें।

+21

धन्यवाद! मुझे अनुमान लगाया जाना चाहिए कि एक 'इनलाइन फ्रेम' एक इनलाइन तत्व है :) –

+25

तो यही है कि "मैं" का खड़ा है। – Aayush

+8

तो, वैकल्पिक रूप से, आप कंटेनर को 'टेक्स्ट-एलाइन: सेंटर' नियम दे सकते हैं, सही? – Koviko

4

आप एक <div>

<div> 
    <iframe></iframe> 
</div> 

यह काम करता है, क्योंकि यह एक ब्लॉक तत्व के अंदर अब है अंदर आइफ्रेम डाल सकते हैं।

+1

परीक्षण - यह – user819490

19

HTML:

<div id="all"> 
    <div class="sub">div</div> 
    <iframe>ss</iframe> 
</div> 

सीएसएस:

#all{ 
    width:100%; 
    float:left; 
    text-align:center; 
} 
div.sub, iframe { 
    width: 100px; 
    height: 50px; 
    margin: 0 auto; 
    background-color: #777; 

} 
4

, बाएँ और दाएँ हाशिए की स्थापना ऑटो को निर्दिष्ट करने के लिए है कि वे उपलब्ध मार्जिन समान रूप से विभाजित करना चाहिए के अनुसार।

margin-left: auto;margin-right: auto; 
+0

काम नहीं करता है केवल तभी जब मूल तत्व में स्टाइल टेक्स्ट-एलाइन सेट हो। – parvus

9

आप iframe में एक वीडियो लगा रहे हैं और आप अपने लेआउट द्रव होना चाहते हैं, तो आप इस वेबपेज पर गौर करना चाहिए: Fluid Width Video

वीडियो स्रोत पर निर्भर करता है और परिणाम एक केंद्रित तत्व है यदि आप पुराने वीडियो को उत्तरदायी बनना चाहते हैं तो आपकी रणनीति को बदलने की आवश्यकता होगी।

<div class="videoWrapper"> 
 
    <!-- Copy & Pasted from YouTube --> 
 
    <iframe width="560" height="349" src="http://www.youtube.com/embed/n_dZNLr2cME?rel=0&hd=1" frameborder="0" allowfullscreen></iframe> 
 
</div>

और यह सीएसएस जोड़ें::

.videoWrapper { 
 
\t position: relative; 
 
\t padding-bottom: 56.25%; /* 16:9 */ 
 
\t padding-top: 25px; 
 
\t height: 0; 
 
} 
 
.videoWrapper iframe { 
 
\t position: absolute; 
 
\t top: 0; 
 
\t left: 0; 
 
\t width: 100%; 
 
\t height: 100%; 
 
}

यह आपका पहला वीडियो है, तो यहाँ एक सरल उपाय है अस्वीकरण: इनमें से कोई भी मेरा कोड नहीं है, लेकिन मैंने इसका परीक्षण किया है और परिणामों से खुश था।

16

सबसे अच्छा तरीका है और अपने वेब पेज पर एक iframe केंद्रित करने के लिए और अधिक सरल है:

<p align="center"><iframe src="http://www.google.com/" width=500 height="500"></iframe></p> 

जहां चौड़ाई और ऊंचाई अपने html पृष्ठ में अपने iframe के आकार होगा।

+1

मैंने सोचा कि 'संरेखण' विशेषता को बहिष्कृत किया गया था? सीपी का उपयोग करने के बजाय ओपी को इस दृष्टिकोण का उपयोग क्यों करना चाहिए - इसका क्या फायदा है? – andrewsi

+1

'शैली =" टेक्स्ट-एलाइन: सेंटर "' को बहिष्कृत नहीं किया गया है और यह वही काम करेगा – Anthony

+0

हालांकि यह अवमूल्यन है, यह काम करता है, जबकि बाकी सब कुछ नहीं करता है। – user819490

5

iframe तत्व संरेखित करने के लिए सबसे सरल कोड:

<div align="center"><iframe width="560" height="315" src="www.youtube.com" frameborder="1px"></iframe></div> 
+0

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