Eduardo Corona
Eduardo Corona

Reputation: 1332

How can I center horizontally a Grid-block inside of a div?

I'm trying center a Block grid inside of a div, but when I apply my CSS class the Block grid is not affected.

I have this visually (The outline is made with a Firefox extension): Block grid alligment

and I wanna make look like this: Block grid alligment

As you can see, I need align te Block grid content and the div content also, but I don't know how I can do it.

This is my current code:

<div class="sitios-amigos">


<div class="wrap row small-up-1 medium-up-4">

    <div class="column column-block tarjeta-material">
        <a src="http://www.conacyt.gob.mx/" target="_blank"><img alt="Página web Conacyt" src="img/conacyt.png"/></a>
    </div>
    <div class="column column-block tarjeta-material">
        <a href="http://www.concytep.pue.gob.mx/" target="_blank">
        <img alt="Página web de Concytep" src="img/concytep.png"></a>
    </div>
    <div class="column column-block tarjeta-material">
    <a href="http://www.viep.buap.mx/" target="_blank">
        <img alt="Página web VIEP BUAP" src="img/VIEP.png"></a>
    </div>           
</div>

</div>

CSS:

.sitios-amigos{

background: red;
max-width:11000px;
width: 100%;
margin: 0 auto; 
}
.wrap{
width:90%;
max-width:11000px;
margin: 0 auto;
}
.tarjeta-material {
box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
transition: all 0.3s cubic-bezier(.25,.8,.25,1);
margin: 15px 10px;
text-align:center;
}

.tarjeta-material:hover {
box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22);
}




.tarjeta-material {
box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
transition: all 0.3s cubic-bezier(.25,.8,.25,1);
margin: 15px 10px;
text-align:center;
}

.tarjeta-material:hover {
box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22);
}

Upvotes: 0

Views: 109

Answers (2)

BigMonkey89WithaLeg
BigMonkey89WithaLeg

Reputation: 315

If the div you want to align center is a child of another div. Here is what you can do.

.parent-div {
    text-align: center;

.child-div {
    display: inline-block;
}

You can also try without referencing the parent div.

.child-div {
    margin-left: auto;
    margin-right: auto;
}

center it in the absolute middle try:

.parent-div {
        position: relative;

    .child-div {
        position: absolute;
        top: 50%;
        /* this will put the left edge at 50%. not the image */
        left: 50%;
        /* do a negative margin-left of half the width of your block so you have to find that.*/
        margin-left: -halfthewidth;
        margin-top: -halfthelength;
    }

Upvotes: 1

Zial
Zial

Reputation: 70

have you tried using bootstrap grid system ? they have so much sample and much easier to use ..

Upvotes: 0

Related Questions