Tsukasa
Tsukasa

Reputation: 6552

CSS issue aligning vertical and horizontal

Can't seem to figure out how to get these buttons to align both vertically and horizontally

Code in jsfiddle

CSS

@font-face {
  font-family: "HemiHead";
  src: url("../../fonts/hemi_head_bd_it.otf");
  src: local("hemi_head_bd_it"),
    url("../../fonts/hemi_head_bd_it.otf") format("opentype"),
  }

/* entire container, keeps perspective */
.flip-container {
    perspective: 1000px;
}
    /* flip the pane when hovered */
    .flip-container:hover .flipper, .flip-container.hover .flipper {
        transform: rotateY(180deg);
    }

.flip-container, .front, .back {
    width: 200px;
    height: 200px;
}

/* flip speed goes here */
.flipper {
    transition: 0.6s;
    transform-style: preserve-3d;

    position: relative;
}

/* hide back of pane during swap */
.front, .back {
    backface-visibility: hidden;

    position: absolute;
    top: 0;
    left: 0;
}

/* front pane, placed above back */
.front {
    z-index: 2;
    /* for firefox 31 */
    transform: rotateY(0deg);
}

/* back, initially hidden pane */
.back {
    transform: rotateY(180deg);
}

.inlineWrapper {
    float: left;
    padding: 5px;
}

html

<div id="background">
    <div class="inlineWrapper">
        <div class="flip-container">
            <div class="flipper">
                <div class="front">
                    <img src="~/Content/Images/SquareTest.png" width="200" height="200" />
                </div>
                <div class="back">
                    <img src="~/Content/Images/SquareTest.png" width="200" height="200" />
                </div>
            </div>
        </div>
     </div>
    <div class="inlineWrapper">
        <div class="flip-container">
            <div class="flipper">
                <div class="front">
                    <img src="~/Content/Images/SquareTest.png" width="200" height="200" />
                </div>
                <div class="back">
                    <img src="~/Content/Images/SquareTest.png" width="200" height="200" />
                </div>
            </div>
        </div>
        </div>
    <div class="inlineWrapper">
        <div class="flip-container">
            <div class="flipper">
                <div class="front">
                    <img src="~/Content/Images/SquareTest.png" width="200" height="200" />
                </div>
                <div class="back">
                    <img src="~/Content/Images/SquareTest.png" width="200" height="200" />
                </div>
            </div>
        </div>
    </div>
 </div>

Upvotes: 0

Views: 67

Answers (1)

Weafs.py
Weafs.py

Reputation: 22992

You need to:

  1. Wrap div.inlineWrapper into a div.container.
  2. Add width: 630px, height: 210px, transform: translate(-50%, -50%), left: 50% and top: 50% to .container.
  3. Add a width: 588px and position: relative to #backgruond

And this will center all your buttons vertically and horizontally.

Demo on dabblet

HTML:

<div id="background">
    <div class="container">
        <div class="inlineWrapper">
            <div class="flip-container">
                <div class="flipper">
                    <div class="front">
                        <img src="http://dummyimage.com/100x100/000/fff" width="200" height="200" />
                    </div>
                    <div class="back">
                        <img src="http://dummyimage.com/100x100/000/fff" width="200" height="200" />
                    </div>
                </div>
            </div>
        </div>
        <div class="inlineWrapper">
            <div class="flip-container">
                <div class="flipper">
                    <div class="front">
                        <img src="http://dummyimage.com/100x100/000/fff" width="200" height="200" />
                    </div>
                    <div class="back">
                        <img src="http://dummyimage.com/100x100/000/fff" width="200" height="200" />
                    </div>
                </div>
            </div>
        </div>
        <div class="inlineWrapper">
            <div class="flip-container">
                <div class="flipper">
                    <div class="front">
                        <img src="http://dummyimage.com/100x100/000/fff" width="200" height="200" />
                    </div>
                    <div class="back">
                        <img src="http://dummyimage.com/100x100/000/fff" width="200" height="200" />
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

CSS:

@font-face {
    font-family:"HemiHead";
    src: url("../../fonts/hemi_head_bd_it.otf");
    src: local("hemi_head_bd_it"), url("../../fonts/hemi_head_bd_it.otf") format("opentype"),
}
/* entire container, keeps perspective */
 .flip-container {
    perspective: 1000px;
}
/* flip the pane when hovered */
 .flip-container:hover .flipper, .flip-container.hover .flipper {
    transform: rotateY(180deg);
}
.flip-container, .front, .back {
    width: 200px;
    height: 200px;
}
/* flip speed goes here */
 .flipper {
    transition: 0.6s;
    transform-style: preserve-3d;
    position: relative;
}
/* hide back of pane during swap */
 .front, .back {
    backface-visibility: hidden;
    position: absolute;
    top: 0;
    left: 0;
}
/* front pane, placed above back */
 .front {
    z-index: 2;
    /* for firefox 31 */
    transform: rotateY(0deg);
}
/* back, initially hidden pane */
 .back {
    transform: rotateY(180deg);
}
.inlineWrapper {
    float: left;
    padding: 5px;
}
.container {
    position: relative;
    width:  630px;
    height: 210px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
#background {
    height: 588px;
    position: relative;
}

Upvotes: 1

Related Questions