2015-04-09 3 views
0

StackOverflow. Я хотел бы сделать HTML и CSS макет так:DIV с центром div и справа div внутри

css layout image Я сделал опечатку, контейнера таким же высоты в качестве логотипа.

Я пробовал много вариантов из Интернета и stackoverflow, но ни один из них не соответствует моим потребностям.

Что я остановился на:

HTML

<header> 
    <div class="fs-login"> 
     <a href="#" class="btn btn-info">Вход</a> 
     <a href="#" class="btn btn-primary">Регистрация</a> 
    </div> 
    <div class="fs-logo"> 
     <img src="siteimg/eremademo.png"/> 
    </div> 
</header> 

CSS

header { 
    margin:10px 10px 10px 10px; 
    position:relative; 
} 
.fs-logo { 
    text-align:center; 
} 
.fs-login { 
    position:absolute; 
    right:10px; 
    height:100%; 
    vertical-align:middle; 
} 

, что я вижу:

what i see

Так кнопки не выровнены по вертикали.

А также я не рад, что в HTML код «кнопки» помещается перед «логотипом» кода. Это не логично, я могу избежать этого?

Я борюсь за это около 5 часов. Был бы рад за любую помощь :-)

ответ

2

Вы можете использовать top: 50%, в сочетании с transform: translateY(-50%) на вашем .fs-login контейнере:

header { 
 
    margin:10px 10px 10px 10px; 
 
    position:relative; 
 
} 
 
.fs-logo { 
 
    text-align:center; 
 
} 
 
.fs-login { 
 
    position:absolute; 
 
    right:10px; 
 
    top: 50%; 
 
    -webkit-transform-origin: center center; 
 
    -webkit-transform: translateY(-50%); 
 
    transform: translateY(-50%); 
 
}
<header> 
 
    <div class="fs-login"> 
 
     <a href="#" class="btn btn-info">Вход</a> 
 
     <a href="#" class="btn btn-primary">Регистрация</a> 
 
    </div> 
 
    <div class="fs-logo"> 
 
     <img src="http://placehold.it/140x180"/> 
 
    </div> 
 
</header>

Сторона примечания: -webkit- здесь для Safari, вы не используете Autoprefixer.

+1

Добро пожаловать! Держите этот трюк в уме, он позволяет вам вертикально центрировать что угодно, где угодно. – zessx

0

Вот это solution с помощью поплавков:

header { 
    margin:10px 10px 10px 10px; 
    position:relative; 
    overflow: hidden; 
} 
.fs-logo { 
    margin-top: 50px; 
    text-align:center; 
} 
.fs-login { 
    float: right; 
} 
+0

Это не работает :(login div находится в верхней части логотипа, это не то, что вам нужно. – Egor

Смежные вопросы