मेरे पीछे div है
<div id="over" style="position:absolute; width:100%; height:100%>
<img src="img.png">
</div>
छवि को संरेखित कैसे करें ताकि मध्य और केंद्र के मध्य में स्थित हो?
मेरे पीछे div है
<div id="over" style="position:absolute; width:100%; height:100%>
<img src="img.png">
</div>
छवि को संरेखित कैसे करें ताकि मध्य और केंद्र के मध्य में स्थित हो?
जवाबों:
body {
margin: 0;
}
#over img {
margin-left: auto;
margin-right: auto;
display: block;
}
<div id="over" style="position:absolute; width:100%; height:100%">
<img src="http://www.garcard.com/images/garcard_symbol.png">
</div>
display: block;
मेरा नुकसान हुआ था। TnX
display: block
डिफ़ॉल्ट का उपयोग नहीं करते हैं तो w3schools.com/cssref/pr_class_display.asp केdisplay: inline
अनुसार है । हमें ब्लॉक का उपयोग करने की आवश्यकता क्यों है? मैंने मेरे लिए काम किया है, लेकिन यह निश्चित नहीं है कि ब्लॉक आईएमजी और इनलाइन को केंद्र में क्यों रखेगा।
<div style="display:table-cell; vertical-align:middle; text-align:center">
<img src="img.png">
</div>
यह फ्लेक्सबॉक्स लेआउट का उपयोग करके भी किया जा सकता है:
स्टेटिक आकार
.parent {
display: flex;
height: 300px; /* Or whatever */
background-color: #000;
}
.child {
width: 100px; /* Or whatever */
height: 100px; /* Or whatever */
margin: auto; /* Magic! */
}
<div class="parent">
<img class="child" src="https://i.vimeocdn.com/portrait/58832_300x300"/>
</div>
डायनामिक आकार
html, body {
width: 100%;
height: 100%;
display: flex;
background-color: #999;
}
* {
margin: 0;
padding: 0;
}
.parent {
margin: auto;
background-color: #000;
display: flex;
height: 80%;
width: 80%;
}
.child {
margin: auto; /* Magic! */
max-width: 100%;
max-height: 100%;
}
<div class="parent">
<img class="child" src="https://i.vimeocdn.com/portrait/58832_300x300"/>
</div>
मुझे इस लेख में उदाहरण मिला , जो लेआउट का उपयोग करने के तरीके के बारे में बताता है।
मुझे लगता है कि आप भी उस छवि को कंटेनर के भीतर लंबवत होना चाहते थे। (मैंने ऐसा कोई जवाब नहीं देखा जो प्रदान किया गया हो)
एचटीएमएल
<div id="over">
<span class="Centerer"></span>
<img class="Centered" src="http://th07.deviantart.net/fs71/200H/f/2013/236/d/b/bw_avlonas_a5_beach_isles_wallpaper_image_by_lemnosexplorer-d6jh3i7.jpg" />
</div>
सीएसएस
*
{
padding: 0;
margin: 0;
}
#over
{
position:absolute;
width:100%;
height:100%;
text-align: center; /*handles the horizontal centering*/
}
/*handles the vertical centering*/
.Centerer
{
display: inline-block;
height: 100%;
vertical-align: middle;
}
.Centered
{
display: inline-block;
vertical-align: middle;
}
नोट: यह समाधान किसी भी तत्व के भीतर किसी भी तत्व को संरेखित करने के लिए अच्छा है। IE7 के लिए, .Centered
ब्लॉक तत्वों पर कक्षा को लागू करते समय , आपको inline-block
काम करने के लिए एक और चाल का उपयोग करना होगा। (ऐसा इसलिए है क्योंकि IE6 / IE7 ब्लॉक तत्वों पर इनलाइन-ब्लॉक के साथ अच्छा नहीं खेलते हैं)
span
, आप छद्म तत्व का उपयोग कर सकते हैं :before
: jsfiddle.net/xaliber/cj6zhtp0
#over { position:absolute; width:100%; height:100%;
?
आप इसे डिस्प्ले का उपयोग करके आसानी से कर सकते हैं: फ्लेक्स सीएसएस प्रॉपर्टी
#over {
height: 100%;
width: 100%;
display: flex;
align-items: center;
justify-content: center;
}
#over {position:relative; text-align:center;
width:100%; height:100%; background:#CCC;}
#over img{
position: absolute;
margin: auto;
top: 0;
left: 0;
right: 0;
bottom: 0;
}
मैं अभी भी यहाँ प्रस्तुत अन्य समाधान के साथ कुछ मुद्दे थे। अंत में यह मेरे लिए सबसे अच्छा काम किया:
<div class="parent">
<img class="child" src="image.png"/>
</div>
css3:
.child {
display: block;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%); /* Safari and Chrome */
-moz-transform: translate(-50%, -50%); /* Firefox */
-ms-transform: translate(-50%, -50%); /* IE 9 */
-o-transform: translate(-50%, -50%); /* Opera */
// I suppose you may like those too:
// max-width: 80%;
// max-height: 80%;
}
आप इस पृष्ठ पर उस दृष्टिकोण के बारे में अधिक पढ़ सकते हैं ।
यह एक सरल दृष्टिकोण होगा
#over > img{
display: block;
margin:0 auto;
}
Daaawx का जवाब काम करता है, लेकिन मुझे लगता है कि अगर हम इनलाइन css को खत्म कर दें तो यह साफ हो जाएगा।
body {
margin: 0;
}
#over img {
margin-left: auto;
margin-right: auto;
display: block;
}
div.example {
position: absolute;
width: 100%;
height: 100%;
}
<div class="example" id="over">
<img src="http://www.garcard.com/images/garcard_symbol.png">
</div>
की स्थापना img को display: inline-ब्लॉक , जबकि बेहतर सेट होने div करने के लिए पाठ के अनुरूप: केंद्र भी काम करेगा
संपादित करें: उन लोगों के लिए जो प्रदर्शन के साथ खेल रहे हैं : इनलाइन-ब्लॉक >>> यह मत भूलना कि जैसे दो divs
<div>Div1 content</div>NOSPACEHERE<div>Div2 content</div>
वास्तव में उनके बीच कोई स्थान नहीं है (जैसा कि यहां देखा गया है)।
इनसे बचने के लिए बस बुनियादी (इनलाइन ब्लॉक इनहेल्ड) अंतराल उनके बीच है। इन अंतरालों को हर दो शब्दों के बीच देखा जा सकता है जो मैं अभी लिख रहा हूँ! :-) तो .. उम्मीद है कि यह आप में से कुछ में मदद करता है।
सरल। 2018. फ्लेक्सबॉक्स। ब्राउज़र समर्थन की जांच करने के लिए - क्या मैं
न्यूनतम समाधान का उपयोग कर सकता हूं :
div#over {
display: flex;
justify-content: center;
align-items: center;
}
विस्तृत ब्राउज़र समर्थन प्राप्त करने के लिए:
div#over {
display: -webkit-flex;
display: -ms-flex;
display: flex;
justify-content: center;
-ms-align-items: center;
align-items: center;
}
मैंने कई तरीकों की कोशिश की है, लेकिन यह केवल एक कंटेनर डिव के अंदर कई इनलाइन तत्वों के लिए काम करता है। यहाँ बीच में div में सब कुछ संरेखित करने के लिए कोड है।
.divContainer
{
vertical-align: middle;
text-align: center; <!-- If you want horizontal center alignment -->
}
.divContainer > *
{
vertical-align: middle;
}
<div class="divContainer">
<span>Middle Text</span>
<img src="test.png"/>
</div>
नमूना कोड यहाँ है: https://jsfiddle.net/yogendrasinh/2vq0c68m/
यह न्यूनतम कोड आज़माएं:
<div class="outer">
<img src="image.png"/>
</div>
और सीएसएस:
.outer{
text-align: center;
}
.outer img{
display: inline-block;
}
खैर, हम 2016 में हैं ... फ्लेक्सबॉक्स का उपयोग क्यों नहीं करते हैं? यह उत्तरदायी भी है। का आनंद लें।
#over{
display:flex;
align-items:center;
justify-content:center;
}
<div id="over">
<img src="http://www.garcard.com/images/garcard_symbol.png">
</div>
कई उत्तर का उपयोग करने का सुझाव देता है, margin:0 auto
लेकिन यह तभी काम करता है जब आप जिस तत्व को केंद्रित करने की कोशिश कर रहे हैं वह बाईं या दाईं ओर नहीं चल रहा है, जो कि float
सीएसएस विशेषता सेट है। ऐसा करने के लिए यह display
विशेषता लागू होती है table-cell
और फिर बाईं और दाईं ओर ऑटो पर मार्जिन लागू करें जिससे आपकी शैली दिखेगीstyle="display:table-cell;margin:0 auto;"
HTML:
<div id="over">
<img src="img.png">
</div>
सीएसएस:
#over {
text-align: center;
}
#over img {
vertical-align: middle;
}
केंद्र के लिए क्षैतिज रूप से बस रखा जाता है
#over img {
display: block;
margin: 0 auto;
clear:both;
}
एक अन्य विधि:
#over img {
display: inline-block;
text-align: center;
}
केंद्र के लिए लंबवत
#over img {
vertical-align: middle;
}
इसने मेरे लिए चाल चली।
<div class="CenterImage">
<asp:Image ID="BrandImage" runat="server" />
</div>
'ध्यान दें: इस मामले में' BrandImage 'के लिए एक सीएसएस क्लास नहीं ली गई है
सीएसएस:
.CenterImage {
position:absolute;
width:100%;
height:100%
}
.CenterImage img {
margin: 0 auto;
display: block;
}
यह मेरे लिए तब काम करता है जब आपको छवि को संरेखित करना होता है और आपके माता-पिता की छवि पूरी स्क्रीन को कवर करती है। अर्थात् ऊंचाई: 100% और चौड़ाई: 100%
#img{
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
}
स्थिति का उपयोग करें। निम्नलिखित ने मेरे लिए काम किया ...
छवि के केंद्र में ज़ूम के साथ (छवि div को भरती है):
div{
display:block;
overflow:hidden;
width: 70px;
height: 70px;
position: relative;
}
div img{
min-width: 70px;
min-height: 70px;
max-width: 250%;
max-height: 250%;
top: -50%;
left: -50%;
bottom: -50%;
right: -50%;
position: absolute;
}
छवि के केंद्र पर ज़ूम किए बिना (छवि div नहीं भरती):
div{
display:block;
overflow:hidden;
width: 100px;
height: 100px;
position: relative;
}
div img{
width: 70px;
height: 70px;
top: 50%;
left: 50%;
bottom: 50%;
right: 50%;
position: absolute;
}
इसके लिए चिह्नित उत्तर छवि को लंबवत संरेखित नहीं करेगा। आधुनिक ब्राउज़रों के लिए एक उपयुक्त समाधान फ्लेक्सबॉक्स है। एक फ्लेक्स कंटेनर को क्षैतिज और लंबवत दोनों तरह से अपनी वस्तुओं को संरेखित करने के लिए कॉन्फ़िगर किया जा सकता है।
<div id="over" style="position:absolute; width:100%; height:100%; display: flex; align-items: center; justify-content: center;">
<img src="img.png">
</div>
आप इस समाधान पर एक नज़र डाल सकते हैं:
एक बॉक्स में क्षैतिज और लंबवत छवि केंद्रित करना
<style type="text/css">
.wraptocenter {
display: table-cell;
text-align: center;
vertical-align: middle;
width: ...;
height: ...;
}
.wraptocenter * {
vertical-align: middle;
}
.wraptocenter {
display: block;
}
.wraptocenter span {
display: inline-block;
height: 100%;
width: 1px;
}
</style>
<!--[if lt IE 8]-->
<style>
.wraptocenter span {
display: inline-block;
height: 100%;
}
</style>
<!--[endif]-->
<div class="wraptocenter"><span></span><img src="..." alt="..."></div>
एक सरल तरीका दोनों div और छवि के लिए अलग-अलग शैलियों का निर्माण होगा और फिर उन्हें स्वतंत्र रूप से स्थिति देगा। यदि मैं अपनी छवि स्थिति को 50% पर सेट करना चाहता हूं, तो मेरे पास कोड होगा जो निम्न की तरह दिखता है ....
#over{
position:absolute;
width:100%;
height:100%;
}
#img{
position:absolute;
left:50%;
right:50%;
}
<div id="over">
<img src="img.png" id="img">
</div>
यह काम करना चाहिए।
टेस्ट के लिए महत्वपूर्ण: कोड स्निपेट चलाने के लिए बाएं बटन पर क्लिक करें आरयूएन कोड स्निपेट , फिर दायां लिंक पूर्ण पृष्ठ
#fader{
position:fixed;z-index: 10;
top:0;right:0;bottom:0;left:0;
opacity: 0.8;background: black;
width:100%;height:100%;
text-align: center;
}
.faders{display:inline-block;height:100%;vertical-align:middle;}
.faderi{display:inline-block;vertical-align:middle;}
<div id="fader">
<span class="faders"></span>
<img class="faderi" src="https://i.stack.imgur.com/qHF2K.png" />
</div>