Afbeelding in midden en midden uitlijnen binnen div

Ik heb volgende div

<div id="over" style="position:absolute; width:100%; height:100%>
 <img src="img.png">
</div>

Hoe kan ik de afbeelding uitlijnen zodat deze zich in het midden en in het midden van div bevindt?


Antwoord 1, autoriteit 100%

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="https://www.garcard.com/images/garcard_symbol.png">
</div>

Antwoord 2, autoriteit 42%

<div style="display:table-cell; vertical-align:middle; text-align:center">
<img src="img.png">
</div>

Antwoord 3, autoriteit 27%

Dit kan ook met de Flexbox-layout:

STATISCHE GROOTTE

.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>

4, Autoriteit 21%

lijkt mij dat u ook dat beeld wilde verticaal gecentreerd in de container. (Ik heb geen antwoord gezien dat dat verstrekt)

WERKEN FIDDEL:

  1. Pure CSS-oplossing
  2. Niet breken van de documentstroming (geen drijvers of absolute positionering)
  3. Cross Browser-compatibiliteit (zelfs IE6)
  4. volledig reageren.

html

<div id="over">
    <span class="Centerer"></span>
    <img class="Centered" src="https://th07.deviantart.net/fs71/200H/f/2013/236/d/b/bw_avlonas_a5_beach_isles_wallpaper_image_by_lemnosexplorer-d6jh3i7.jpg" />
</div>

CSS

*
{
    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;
}

Opmerking: Deze oplossing is goed om elk element binnen een element uit te lijnen.
Voor IE7, bij het aanbrengen van de .CenteredKlasse op blokelementen, moet u een andere truc gebruiken om de inline-blockte krijgen. (Dat omdat IE6 / IE7 niet goed speelt met inline-block op blokelementen)


5, Autoriteit 15%

img.centered {
   display: block;
   margin: auto auto;
}

6, Autoriteit 9%

U kunt dit eenvoudig doen met behulp van display:flexCSS-eigenschap:

#over {
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

7, Autoriteit 7%

#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;
}

8, Autoriteit 3%

Ik had nog steeds enkele problemen met andere oplossing die hier wordt gepresenteerd. Eindelijk werkte dit het beste voor mij:

<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%;
}

U kunt meer lezen over die aanpak op deze pagina .


9, Autoriteit 3%

Het antwoord van Daaawx werkt, maar ik denk dat het schoner zou zijn als we de inline CSS elimineren.

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="https://www.garcard.com/images/garcard_symbol.png">
</div>

10, Autoriteit 2%

In feite zal het instellen van de rechter- en linkermarge naar AUTO zorgt ervoor dat de afbeelding in overeenstemming is gebracht.

<div id="over" style="position:absolute; width:100%; height:100%>
<img src="img.png" style="display: block; margin: 0 auto;">
</div>

11, Autoriteit 2%

Dit zou een eenvoudiger benadering zijn

#over > img{
    display: block;
    margin:0 auto; 
}

12, Autoriteit 2%

eenvoudig. 2018. Flexbox. Om de browserondersteuning te controleren – kan ik gebruiken
Minimale oplossing:

div#over { 
   display: flex; 
   justify-content: center; 
   align-items: center; 
}

Om de breedste browser-ondersteuning mogelijk te maken:

div#over { 
   display: -webkit-flex;
   display: -ms-flex; 
   display: flex; 
   justify-content: center; 
   -ms-align-items: center; 
   align-items: center; 
}

Antwoord 13

Ik heb veel benaderingen geprobeerd, maar alleen deze werkt voor meerdere inline-elementen in een container-div. Hier is de code om alles in div in het midden uit te lijnen.

CSS

.divContainer
{
    vertical-align: middle;
    text-align: center; <!-- If you want horizontal center alignment -->
}
.divContainer > *
{
    vertical-align: middle;
}

HTML

<div class="divContainer">
    <span>Middle Text</span>
    <img src="test.png"/>
</div>

Voorbeeldcode is hier: https://jsfiddle.net/yogendrasinh/2vq0c68m/


Antwoord 14

Nou, we zijn in 2016… waarom geen flexbox gebruiken?
Het is ook responsief. Genieten van.

#over{
display:flex;
align-items:center;
justify-content:center;
}
<div id="over">
	<img src="https://www.garcard.com/images/garcard_symbol.png">
</div>

Antwoord 15

CSS-bestand

.over {
    display : block;
    margin : 0px auto;

Antwoord 16

Het gemarkeerde antwoord hiervoor zal de afbeelding niet verticaal uitlijnen. Een geschikte oplossing voor moderne browsers is flexbox. Een flexcontainer kan worden geconfigureerd om de items zowel horizontaal als verticaal uit te lijnen.

<div id="over" style="position:absolute; width:100%; height:100%; display: flex; align-items: center; justify-content: center;">
    <img src="img.png">
</div>

Antwoord 17

Stel gewoon de parent div css-eigenschap “text-align:center;” in

<div style="text-align:center; width:100%">
        <img src="img.png"> 
 </div>

Antwoord 18

Probeer deze minimale code:

<div class="outer">
    <img src="image.png"/>
</div>

En CSS:

.outer{
  text-align: center;
}
.outer img{
  display: inline-block;
}

Antwoord 19

veel antwoorden stellen voor om margin:0 autote gebruiken, maar dit werkt alleen als het element dat u gecentreerd probeert te maken niet links of rechts zweeft, dat wil zeggen floatcss kenmerk is niet ingesteld. Om dit te doen, past u het kenmerk displaytoe op table-cellen past u vervolgens de linker- en rechtermarge toe op automatisch, zodat uw stijl eruitziet als style="display:table-cell;margin:0 auto;"


Antwoord 20

   <div>
    <p style="text-align:center; margin-top:0px; margin-bottom:0px; padding:0px;">
    <img src="image.jpg" alt="image"/>
    </p>    
    </div>

Antwoord 21

HTML:

<div id="over">
    <img src="img.png">
</div>

CSS:

#over {
  text-align: center;
}
#over img {
  vertical-align: middle;
}

Antwoord 22

Voor horizontaal midden Plaats gewoon

#over img {
    display: block;
    margin: 0 auto;
    clear:both;
}

Een andere methode:

#over img {
    display: inline-block;
    text-align: center;
}

Voor verticaal centreren Zet gewoon:

  #over img {
           vertical-align: middle;
        }

Antwoord 23

Dit werkte voor mij:

#image-id {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    width: auto;
    margin: 0 auto;
}

Antwoord 24

dit deed de truc voor mij.

<div class="CenterImage">
         <asp:Image ID="BrandImage" runat="server" />
</div>

‘Opmerking: heb in dit geval geen css-klasse gekoppeld aan ‘BrandImage’

CSS:

.CenterImage {
    position:absolute; 
    width:100%; 
    height:100%
}
.CenterImage img {
    margin: 0 auto;
    display: block;
}

Antwoord 25

Dit werkte voor mij wanneer je de afbeelding in het midden moet uitlijnen en je bovenliggende div naar afbeelding het hele scherm beslaat. d.w.z. hoogte:100% en breedte:100%

#img{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
}

Antwoord 26

Gebruik positionering. Het volgende werkte voor mij…

Met zoom naar het midden van de afbeelding (afbeelding vult de 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;
}

Zonder zoom naar het midden van de afbeelding (afbeelding vult nietde 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;
    }

27

Ik voeg wat meer eigenschappen toe aan de CSS. Zoals SO:

div#over {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    -ms-align-items: center;
    display: -webkit-flex;
    display: -ms-flex; 
    display: flex;
}

28

Ik heb de oplossing ook geprobeerd om de IMG in het midden van de div te plaatsen, maar voor mijn zaak heb ik gewoon dit type component nodig op de voortgang van Ajax, dus ik probeerde eenvoudig de volgende oplossing, hoop dat dit helpt voor jou!

<div id="loader" style="position: absolute;top: 0;right: 0;left: 0;bottom: 0;z-index: 1;background: rgba(255,255,255,0.5) url('your_image_url') no-repeat center;background-size: 135px;display: none;"></div>

29

U kunt deze oplossing bekijken:

horizontaal en verticaal een afbeelding in een doos

<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>

Other episodes