2016-08-28 9 views
-1

Я хочу, чтобы текст центра был в моем заголовке, заголовок занимает 100% высоты представления и 100% ширины и состоит только из сплошного цвета. Когда я центризую текст (Hello), заголовок «толкается» вниз, оставляя пустое пространство, и я не знаю, как это исправить.Центрирующий текст испортил мой заголовок

#mainHeader { 
 
    background-color: #282828; 
 
    width: 100%; 
 
    height: 100vh; 
 
} 
 
#hello { 
 
    color: #f2f2f2; 
 
    font-size: 200px; 
 
    font-family: monospace; 
 
    margin-bottom: 0; 
 
    text-align: center; 
 
} 
 
#body { 
 
    margin: 0; 
 
}
<header id="mainHeader"> 
 

 
    <p id="hello"> 
 
    &ltHello&gt 
 
    </p> 
 

 
</header>

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

+0

Можете ли вы создать JSfiddle? –

ответ

1

Я сделал jsfiddle и я увидел белую коробку над головой. Я добавил margin-top: 0 в css по адресу #hello и, похоже, для меня это работает. Проверьте это!

#mainHeader { 
     background-color: #282828; 
     width: 100%; 
     height: 100vh; 
    } 

#hello { 
    color: #f2f2f2; 
    font-size: 200px; 
    font-family: monospace; 
    margin-bottom: 0; 
    text-align: center; 
    margin-top: 0; 
} 

#body { 
    margin: 0; 
} 

EDIT:

Для того, чтобы исправить то, что он хотел сделать, я использовал flex -свойство для Allign элементов в середине header, как это:

#mainHeader { 
    background-color: #282828; 
    width: 100%; 
    height: 100vh; 
    display: flex; 
    justify-content: center; (vertical center) 
    align-items: center; (horizontal center) 
} 
+0

Я не думаю, что я был достаточно ясен, но текст должен быть центрирован по вертикали. Но спасибо за ответ – user6395724

+0

Это ваша цель? https://jsfiddle.net/664gahL9/2/ –

+0

ДА СПАСИБО БЛАГОДАРНОСТИ – user6395724

0

Пустое пространство имеет не имеет ничего общего с центрированием текста. Это комбинация значения по умолчанию margin-top, которое применяется к абзацам и collapsing margins.

Добавить margin-top: 0 в правила для #hello.

+0

Если я добавляю margin-top: 0 текст не центрирован по вертикали, который я хочу. – user6395724

+0

@ user6395724 - Если вы оставите его в нем, то он по-прежнему не центрируется по вертикали (если у пользователя по совпадению нет размера окна просмотра, что означает значение по умолчанию край вертикально центрирует содержимое). – Quentin

+0

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

0

Возможно, вы можете играть с обивкой! Конечно, я удалил верхнюю маржу, которую добавляет <p> по умолчанию ...

#mainHeader { 
    background-color: #282828; 
    width: 100%; 
    height: 100vh; 
} 
#hello { 
    padding-top: 100px; 
    color: #f2f2f2; 
    font-size: 200px; 
    font-family: monospace; 
    margin: 0 auto; 
    text-align: center; 
} 
#body { 
    margin: 0; 
} 
+0

Спасибо, что работает! Это центрирует его на всех размерах экрана? – user6395724

+0

Отлично! Если вы хотите это сделать, вы должны назначить% (относительное) значение для свойства padding-top вместо значения px (fixed) ... Таким образом, он будет «вертикально выровнен» на том же расстоянии (по отношению к верхнему экрана или его родителя -) на всех размерах экрана ... Не забудьте закрыть вопрос! @user –

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