CSS-centruminhoud binnen div

Ik moet html-inhoud centreren in een div class=”partners” (bovenste div met 2 afbeeldingen). Zoals je kunt zien in de onderstaande afbeelding (hij zweeft naar links in plaats van in het midden van de div):

Dit is mijn html-code:

<div id="partners">
    <div class="wrap clearfix">
        <h2>Partnertnerzy serwisu:</h2>
        <ul>
            <li><a href="http://www.dilbert.com/"><img width="56" height="16" alt="Parnter bar wika" src="/as/partners/wika.png"></a></li>    
            <li><a href="http://www.youtube.com><img width="65" height="15" alt="Parnter bar siemens" src="/as/partners/siemens.png"></a></li>    
        </ul>
        <a class="linkClose" href="/firmy?clbp=1">Zamknij </a>
    </div>
</div>

Afbeelding:

CSS:

#partners, #top {
    position: relative;
    z-index: 100;
}
#partners {
    margin: 12px 0 3px;
    text-align: center;
}
.clearfix:after, .row:after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    visibility: hidden;
}
#partners .wrap {
    width: 655px;
}
.wrap {
    margin: 0 auto;
    position: relative;
    width: 990px;
}
#partners h2 {
    color: #A6A5A5;
    float: left;
    font-weight: normal;
    margin: 2px 15px 0 0;
}
#partners ul {
    float: left;
}
ul {
    list-style-position: outside;
    list-style-type: none;
}

Antwoord 1, autoriteit 100%

Om een div te centreren, stelt u de breedte in op een bepaalde waarde en voegt u marge toe: auto.

#partners .wrap {
    width: 655px;
    margin: auto;
}

EDIT, u wilt de inhoud van de div centreren, niet de div zelf. U moet de weergave-eigenschappen van h2, ulen liwijzigen in inlineen de float: left.

#partners li, ul, h2 {
    display: inline;
    float: none;
}

Vervolgens worden ze opgemaakt als normale tekstelementen en uitgelijnd volgens de eigenschap text-align van hun container, wat u wilt.


Antwoord 2, autoriteit 30%

Er zijn veel manieren om elk element te centreren. Ik heb er een paar vermeld

  1. Stel de breedte in op een bepaalde waarde en voeg marge toe: 0 auto.
.partners {
    width: 80%;
    margin: 0 auto;
}

Antwoord 3, autoriteit 22%

Je hebt alleen

. nodig

.parent-div { text-align: center }

Antwoord 4, autoriteit 11%

Probeer flexbox te gebruiken. Als voorbeeld toont de volgende code de CSS voor de container-div waarbinnen de inhoud gecentreerd moet worden uitgelijnd:

Afhankelijk van de as van de flexbox, moet u items uitlijnen of uitlijnen, lees meer op MDN

.absolute-center {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -webkit-box-align: center;
    align-items: center;
    justify-content: center;
}

Antwoord 5, autoriteit 4%

Het probleem is dat je een vaste breedte hebt toegewezen aan je .wrap DIV. De DIV zelf is gecentreerd (je kunt dat zien als je er een rand aan toevoegt) maar de DIV is gewoon te breed. Met andere woorden, de inhoud vult niet de hele breedte van de DIV.

Om het probleem op te lossen moet je ervoor zorgen dat de .wrap DIV zo breed is als de inhoud.

Om dat te bereiken, moet u de zwevende elementen in de inhoudselementen verwijderen en de eigenschap displayvan de blokniveau-elementen instellen op inline:

#partners .wrap {
 display: inline;
} 
.wrap { margin: 0 auto; position: relative;}
#partners h2 {
color: #A6A5A5;
font-weight: normal;
margin: 2px 15px 0 0;
display: inline;
}
#partners ul {
display: inline;
}
#partners li {display: inline}
ul { list-style-position: outside; list-style-type: none; }

Antwoord 6, autoriteit 3%

Je doet alleen CSS-wijzigingen voor bovenliggende div

.parent-div { 
        text-align: center;
        display: block;
}

Antwoord 7, autoriteit 2%

doe als volgt:

child{
    position:absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

Other episodes