2016-01-27 6 views
0

Прежде всего, он отличается от других вопросов, потому что я не могу использовать position: absolute;, как обычно использовал из-за моего плагина jQuery (я не использую этот плагин в примере, но я должен сделать position: relative; для внутреннего стола).Текст центра по вертикали и по горизонтали без абсолютного позиционирования

JSFIDDLE: https://jsfiddle.net/h8ywumbk/

HTML:

<div id="table"> 
    <div id="inside-table" > 
    <span>Hello</span> 
    </div> 
</div> 

CSS:

#table { 
    width: 100%; 
    height: 100px; 
    border: solid 1px black; 
    background-color: transparent; 
} 
#inside-table { 
    position: relative; 
    width: 98%; 
    height: 80px; 
    background-color: transparent; 
    border: solid 1px black; 
    margin: 0 auto; 
    margin-top: 10px; 
} 
#inside-table span { 
    position: relative; 
    top: 50%; 
    transform: translateY(-50%); 
} 

Я пытаюсь центрировать текст (ни одной строки) по вертикали и горизонтально на столах. Какие-либо предложения?

+0

http://stackoverflow.com/a/33049198/3597276 –

ответ

2

flexbox Просто используйте

#table { 
 
    width: 100%; 
 
    height: 100px; 
 
    border: solid 1px black; 
 
    background-color: transparent; 
 
} 
 
#inside-table { 
 
    position: relative; 
 
    width: 98%; 
 
    height: 80px; 
 
    background-color: transparent; 
 
    border: solid 1px black; 
 
    margin: 0 auto; 
 
    margin-top: 10px; 
 
    display: flex; 
 
    justify-content: center; 
 
    align-items: center; 
 
} 
 
#inside-table span { 
 
    
 
}
<div id="table"> 
 
    <div id="inside-table"> 
 
    <span>Hello</span> 
 
    </div> 
 
</div>

+0

Привет, спасибо. Im использует WEBMATRIX, и он показывает мне сообщение об ошибках для отображения: flex и следующие две строки ... –

+0

Хм .. Я не знаю, что это такое, но должно быть стыдно, что он не знал о flexbox :) –

+0

он по-прежнему показывает сообщения, но каким-то образом он центрирует текст на моем веб-сайте, хотя он. Спасибо, сэр –

0

Попробуйте это:

.table { 
    display: table; 
    width: 100%; 
} 
.td { 
    display: table-cell; 
    vertical-align: middle; 
} 

<div class="table"> 
    <div class="td"> 
    text 
    </div> 
    <div class="td"> 
    <img alt="" src="http://url style="width: 120px; height: 148px;" /> 
    </div> 
</div> 
0

Я получил его по центру, как это:

#inside-table span { 
    position: relative; 
    top: 50%; 
    left: 50%; 
} 

Вы всегда можете столкнуться с процентами, если хотите, чтобы они были сдвинуты в том или ином направлении

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