Блок html по центру: Как выровнять слой по центру веб-страницы?

Выравнивание строчно-блочных элементов | Трепачёв Дмитрий

Строчно-блочные элементы выравниваются так же, как и строчные — с помощью text-align в нужном значении, заданном для родителя.

Центрирование элементов

Для примера давайте поставим строчно-блочные элементы по центру:

<div> <span>text</span> <span>text</span> <span>text</span> </div>.parent { text-align: center; padding: 10px 0; border: 1px solid red; } .child { display: inline-block; padding: 10px 20px; border: 1px solid green; }

:

Выравнивание по правому краю

Выровняем элемент по правому краю:

<div> <span>text</span> </div>. parent { text-align: right; padding: 10px 0; border: 1px solid red; } .child { display: inline-block; padding: 10px 20px; border: 1px solid green; }

:

Практические задачи

Даны дивы внутри некоторого родителя:

<div> <div>text 1</div> <div>text 2</div> <div>text 3</div> </div>.parent { padding: 10px 0; border: 1px solid red; } .child { padding: 10px; border: 1px solid green; }

Преобразуйте дивы-потомки в строчно-блочные элементы, задайте им горизонтальный margin в 5px, а затем отцентрируйте их по горизонтали относительно своего родителя.

Дан див внутри некоторого родителя:

<div> <div>text</div> </div>

. parent { padding: 10px 0; border: 1px solid red; } .child { padding: 10px; border: 1px solid green; }

Преобразуйте див-потомок в строчно-блочный элемент, затем выровняйте его по правому краю родителя.

Модифицируйте предыдущую задачу так, чтобы див не прижимался плотно к правому краю. Для этого родительскому элементу добавьте правый padding.

Модифицируйте предыдущую задачу так, чтобы див не прижимался плотно к правому краю. Для этого элементу-потомку поставьте правый margin.

Дана ссылка внутри некоторого родителя:

<div> <a href="">text</a> </div>.parent { padding: 10px 0; border: 1px solid red; } .child { width: 100px; padding: 10px; border: 1px solid green; }

Преобразуйте ссылку в строчно-блочный элемент, затем выровняйте его по правому краю родителя.

Модифицируйте предыдущую задачу так, чтобы текст внутри ссылки выл выровнен по центру этой ссылки.

html — Как центрировать — display:block/inline-block

спросил

Изменено 6 месяцев назад

Просмотрено 136 тысяч раз

При центрировании элементов в html и css я нахожу два подхода: либо применение к элементу:

 display:block;
поле:0 авто;
 

или используя:

 display:inline-block;
выравнивание текста: по центру; (на родительском элементе)
 

Мне всегда интересно, что лучше и почему. Спасибо!!

  • HTML
  • Блок
  • Центр
  • CSS

0

Блочные элементы всегда должны центрироваться с помощью

 . block {
    поле слева: авто;
    поле справа: авто;
    ширина: 600 пикселей;
}
 

, как указано w3c: http://www.w3.org/Style/Examples/007/center.en.html#block

 выравнивание текста: по центру;
 

удачное название: используйте его для центрирования текста.

Обновление

Вы также можете использовать дисплей : flex сейчас:

 .parent {
    дисплей: гибкий;
    выравнивание содержимого: по центру;
}
.блокировать {
    ширина: 200 пикселей;
}
 

2

Это классический и важный вопрос.

Элементы могут быть либо встроенными (это означает, что все они располагаются рядом друг с другом — как тег span), либо они могут быть блочными (что означает наложение стека друг на друга — как тег div).

Margin: auto, хотя на первый взгляд это выглядит немного странно, это лучший и единственный способ центрировать блочный уровень (статическое положение) элемента.

Для всего, что является display: inline (например, тегом span) — только способ центрирования, если вы укажете text-align: center на родительском элементе. Это будет центрировать все display: inline внутри него, что position: static;

Отображение: встроенный блок представляет собой гибрид двух относительно новых (но поддерживается еще в ie7, если вы используете хак, упомянутый в другом ответе). С помощью встроенного блока вы получаете преимущества встроенного в том, что вы можете разместить кучу элементов рядом друг с другом и сделать их центрированными (подумайте о навигации, где все элементы навигации центрированы), но ТАКЖЕ каждый item использует преимущества некоторых вещей, которые вы получаете с display: block — наиболее важной из них является HEIGHT.

Представьте себе сценарий, в котором каждый элемент навигации имеет фоновое изображение высотой 80 пикселей — вы не можете сделать встроенный элемент высотой 80 — поэтому вам нужно сделать так, чтобы каждый элемент отображал: блок — только тогда вы можете дать это высота. Таким образом, чтобы они все отображались рядом друг с другом, вы должны их плавать. Проблема в том, что если вы их плаваете, вы не можете расположить их все по центру страницы, если вы не зададите фиксированную ширину для навигации и полей: auto THAT. Это означает, что навигация имеет фиксированную ширину — может быть, это нормально, но бывают случаи, когда навигация должна иметь динамические элементы, разную ширину для разных языков и т. д.

Введите дисплей: встроенный блок.

1

В этой ситуации лучше не придумаешь оба подхода сработают и оба исправятся. Только одно display:inline-block не работает в IE7 (если вы поддерживаете этот браузер) вам понадобится хак, чтобы заставить его работать

 display: inline-block;
* дисплей: встроенный;
масштаб: 1;
 

0

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя электронную почту и пароль

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

html — Как вы можете центрировать элементы блока?

спросил

Изменено 7 лет, 4 месяца назад

Просмотрено 604 раза

У меня есть веб-сайт с элементами

Скоро!

Код CSS:

 h2
{
    оформление текста: подчеркивание;
}
/* Общий заголовок */
тело
{
    цвет фона: #d5d5d5;
}
кнопка .header
{
    цвет фона:#8C481B;
    выравнивание текста: по центру;
}
диапазон кнопок .
comsoon { цвет:#dddddd; } кнопка { дисплей: встроенный блок; }
  • HTML
  • CSS
  • центрирование

10

Добавить text-align: center to nav

 ч2 {
  оформление текста: подчеркивание;
}
/* Общий заголовок */

тело {
  цвет фона: #d5d5d5;
}
кнопка .header {
  цвет фона: #8C481B;
  выравнивание текста: по центру;
}
диапазон кнопок .comsoon {
  цвет: #дддддд;
}
кнопка {
  отображение: встроенный блок;
}
навигация {
  выравнивание текста: по центру;
} 
 

<голова>
  


<тело>
  
  <дел>
    <навигация>
      
        
      
      

Скоро!

3

Вам нужно поместить кнопку внутри div, а затем указать div margin:0px auto, что выровняет div по центру, чтобы кнопка была его дочерним элементом, они также будут выровнены по центру DEMO

 #divBtn {
  ширина: 300 пикселей;
  поле: 0px авто;
  фон: белый дым;
} 
 <дел>
  
  
  
  
 

Используйте этот CSS: Поскольку ваши элементы заключены в класс заголовка, используйте

 .header nav{
  поле справа: авто;
  поле слева: авто;
  максимальная ширина: 600 пикселей;
}
 

Вы можете настроить max-width в соответствии с вашими потребностями.

Демонстрация:

 h2 {
  оформление текста: подчеркивание;
}
/* Общий заголовок */

тело {
  цвет фона: #d5d5d5;
}
кнопка . header {
  цвет фона: #8C481B;
  выравнивание текста: по центру;
}
диапазон кнопок .comsoon {
  цвет: #дддддд;
}
кнопка {
  отображение: встроенный блок;
}
.header навигация {
  поле справа: авто;
  поле слева: авто;
  максимальная ширина: 600 пикселей;
} 
 

<голова>
  


<тело>
  
  <дел>
    <навигация>
      
        
      
      
      
      
    
  

Скоро!

Вы можете использовать свойство css «text-align: center;» в заголовке класса или навигации как:

 .