मार्जिन क्यों नहीं: ऑटो केंद्र एक छवि?


93
<html>
<head>
<title>Test</title>
</head>
<body>
    <div>
        <img src="queuedError.jpg" style="margin:auto; width:200px;" />
    </div>
</body>
</html>

इसका divविस्तार 100% तक होना चाहिए लेकिन छवि अपने आप में केंद्रित नहीं होती है। क्यों?

जवाबों:



10

आपको इसे ब्लॉक स्तर के रूप में प्रस्तुत करना होगा;

img {
   display: block;
   width: auto;
   margin: auto;
}

यह केवल क्षैतिज रूप से संरेखित क्यों करता है और लंबवत नहीं है?
श्री बेल

4
वर्टिकल अलाइनमेंट उतने स्ट्रेट फॉरवर्ड नहीं है जितना आपने उम्मीद की होगी। यह सभी सीएसएस युक्ति के लिए नीचे है - इस सुंदर संक्षिप्त लेख को देखें - phrogz.net/css/vertical-align/index.html
TheDeadMedic

8

जोड़ना style="text-align:center;"

कोड के नीचे प्रयास करें

<html>
<head>
<title>Test</title>
</head>
<body>
    <div style="text-align:center;vertical-align:middle;">
        <img src="queuedError.jpg" style="margin:auto; width:200px;" />
    </div>
</body>
</html>

मुझे नहीं लगता कि आपका उत्तर गलत है लेकिन आपके पास प्रदर्शन प्रकार के किसी भी स्पष्टीकरण की कमी है।
जो फिलिप्स

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

2

मुझे पता है कि यह एक पुरानी पोस्ट है, लेकिन मैं उसी समस्या को हल करना चाहता हूं।

मेरी छवि एक फ्लोट को विरासत में मिली: एक मूल वर्ग से छोड़ी गई। फ्लोट सेट करके: कोई भी मैं मार्जिन बनाने में सक्षम नहीं था: 0 ऑटो और डिस्प्ले: ठीक से काम करना। आशा है कि यह भविष्य में किसी की मदद कर सकता है।


1

मैंने पाया है कि मुझे ऑब्जेक्ट के लिए एक विशिष्ट चौड़ाई को परिभाषित करना होगा या कुछ और इसे केंद्र नहीं बनाएगा। एक सापेक्ष चौड़ाई काम नहीं करती है।


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

मेरी बात थी, जबकि कई लोगों ने जवाब दिया है कि काम करते हैं, वे केवल तभी काम करते हैं जब कोड में ऑब्जेक्ट की चौड़ाई की एक विशिष्ट परिभाषा शामिल हो। Ex: <img [... आदि।, आदि।, ...] शैली = "प्रदर्शन: ब्लॉक; मार्जिन: ऑटो; चौड़ाई: 200px" /> काम करेगा, लेकिन एक रिश्तेदार आकार का उपयोग न करें, जैसे "चौड़ाई : 50% "। बेशक, यदि आप "चौड़ाई: 100%" का उपयोग करते हैं, तो केंद्रित करना कोई मुद्दा नहीं है, क्योंकि ऑब्जेक्ट के बाएं या दाएं पर कोई मार्जिन नहीं है।
कैटवूमन



0

मैंने पाया है ... मार्जिन: 0 ऑटो; मेरे लिये कार्य करता है। लेकिन मैंने यह भी देखा है कि वर्ग द्वारा एक और विशिष्टता के कारण इसे काम नहीं किया गया था ... फ्लोट: बाएं; तो उस घड़ी के लिए आपको जोड़ने की आवश्यकता हो सकती है ... फ्लोट: कोई नहीं; यह मेरे मामले में काम आया क्योंकि मैं एक मीडिया क्वेरी को कोड कर रहा था।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.