Форум программистов, компьютерный форум, киберфорум
HTML, CSS
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
5 / 11 / 4
Регистрация: 02.04.2016
Сообщений: 351
1

Выравнивание блока по центру

30.09.2016, 21:45. Показов 1014. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток
Есть макет. В нем 3 ссылки"Статьи", "Опросы" и "События". Можно ли с помощью какого-либо свойства (без подсчета расстояния в пикселях и через установку их в маргине) как-нибудь сделать так, чтобы сслыка "События" расположилась ровно по центру дива, в который завернуты все три ссылки, или между соседними дивами "Статьи" и "Опросы"?
Миниатюры
Выравнивание блока по центру  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.09.2016, 21:45
Ответы с готовыми решениями:

Выравнивание блока по центру
Всем привет. Создал социальные иконки с прокруткой для сайта. (http://eldar-music.com/social/)...

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

Выравнивание блока по центру
Продолжаем рубрику: вопросы от тупорезов) Не могу выравнить блок, который должен висеть над картой...

Выравнивание блока элементов по центру
Добрый день. Подскажите пожалуйста как мне выровнять блок с категориями на сайте _dvapilota.com ...

9
105 / 104 / 59
Регистрация: 21.10.2013
Сообщений: 346
30.09.2016, 22:03 2
flex свойства http://html5book.ru/css3-flexbox/#justify-content

Добавлено через 14 минут
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<container>
  <nav>
    <ul>
      <li>
        <a href=""> Link 1</a>
      </li>
      <li>
        <a href=""> Link 2</a>
      </li>
      <li>
        <a href=""> Link 3</a>
      </li>
    </ul>
  </nav>
</container>
CSS
1
2
3
4
nav ul{
  display: flex;
  justify-content: space-around;
}
0
Богатый духовно
455 / 262 / 145
Регистрация: 10.03.2015
Сообщений: 1,057
30.09.2016, 22:18 3
Newibe, Вы так имеете в виду?
песочница
CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
.wrap div{
  display:inline-block;
  width:30%;
}
.wrap{
  text-align:center
}
.link1{
  text-align: left;
}
.link3{
  text-align: right;
}
HTML5
1
2
3
4
5
<div class="wrap">
  <div class="link1">Статьи</div>
  <div class="link2">События</div>
  <div class="link3">Опросы</div>
</div>
0
5 / 11 / 4
Регистрация: 02.04.2016
Сообщений: 351
01.10.2016, 18:43  [ТС] 4
Почему-то у меня не ровно. Вот код:
HTML5
1
2
3
4
5
<div class="menu"> 
            <div id="left" align="center">СТАТЬИ</div>
            <div id="center" align="center">СОБЫТИЯ</div>    
            <div id="right" align="center">ОПРОСЫ</div>
        </div>
Стили:
CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
.menu {
    background-color: black;
    height: 20px;
}
 
.menu div {
    height: 20px;
    display: inline-block;
}
 
#left {
    background-color: black;
    color: antiquewhite;
    float: left;
    width: 200px;
    margin-left: 200px;
    text-align: center;
}
 
#center {
    background-color: black;
    color: antiquewhite;
    width: 200px;
/*    position: absolute;*/
    text-align: center;
}
 
#right {
    background-color: black;
    color: antiquewhite;
    float: right;
    width: 200px;
    margin-right: 200px;
    text-align: center;
}
Что не так?
Миниатюры
Выравнивание блока по центру  
0
Эксперт JSЭксперт HTML/CSS
3825 / 2675 / 1521
Регистрация: 12.07.2015
Сообщений: 6,672
Записей в блоге: 4
01.10.2016, 19:11 5
CSS
1
2
3
4
5
6
7
8
9
10
11
12
.menu {
  background-color: black;
  height: 20px;
  text-align: center;
}
 
.item {
  color: #fff;
  display: inline-block;
  width: 200px;
  text-align: center;
}
HTML5
1
2
3
4
5
<div class="menu">
  <div class="item">СТАТЬИ</div>
  <div class="item">СОБЫТИЯ</div>
  <div class="item">ОПРОСЫ</div>
</div>
2
5 / 11 / 4
Регистрация: 02.04.2016
Сообщений: 351
03.10.2016, 17:17  [ТС] 6
Все равно нет. Все тоже самое.
HTML5
1
2
3
4
5
6
<div id="header"></div>
        <div class="menu"> 
            <div class="item" id="left">СТАТЬИ</div>
            <div class="item" id="center">СОБЫТИЯ</div>    
            <div class="item" id="right">ОПРОСЫ</div>
        </div>
CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
.menu {
    background-color: black;
    height: 20px;
}
 
 
.menu div {
    height: 20px;
    display: inline-block;
}
 
 
.item {
    display: inline-block;
    width: 200px;
    text-align: center;
}
 
#left {
    background-color: black;
    color: antiquewhite;
    float: left;
    margin-left: 200px;
}
 
#center {
    background-color: black;
    color: antiquewhite;
    position: absolute;
}
 
#right {
    background-color: black;
    color: antiquewhite;
    float: right;
    margin-right: 200px;
}
Миниатюры
Выравнивание блока по центру  
0
Эксперт JSЭксперт HTML/CSS
3825 / 2675 / 1521
Регистрация: 12.07.2015
Сообщений: 6,672
Записей в блоге: 4
03.10.2016, 17:31 7
Вот зачем вам тут отвечают, если вы все лепите свой код? Вот пример, приведенный мной выше, в песочнице. Он не подходит?
Зачем вам margin-left:200px? Зачем вам ID?
1
105 / 104 / 59
Регистрация: 21.10.2013
Сообщений: 346
03.10.2016, 17:59 8
А все по тому, что у центрального элемента стоит абсолютное позиционирование. Еще раз повторюсь - используй flex.
В примере привожу твой код по сравнению с моим:

Дабы не перебивать стили и классы - дописал индекс "2"
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<p>Код с отзыва</p>
<div id="header"></div>
<div class="menu"> 
  <div class="item" id="left">СТАТЬИ</div>
  <div class="item" id="center">СОБЫТИЯ</div>    
  <div class="item" id="right">ОПРОСЫ</div>
</div>
 
 
<br>
<br>
 
 
<p>Новый код</p>
<div id="header"></div>
<div class="menu2"> 
  <div class="item2" id="left2">статьи</div>
  <div class="item2" id="center2">события</div>    
  <div class="item2" id="right2">опросы</div>
</div>
CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
.menu {
    background-color: black;
    height: 20px;
}
 
.menu div {
    height: 20px;
    display: inline-block;
}
.item {
    display: inline-block;
    width: 200px;
    text-align: center;
}
#left {
    background-color: black;
    color: antiquewhite;
    float: left;
    margin-left: 200px;
}
#center {
    background-color: black;
    color: antiquewhite;
    position: absolute;
        left: 50%;                    /* то, что нужно было дописать*/
        transform: translateX(-50%);  /* то, что нужно было дописать*/
}
#right {
    background-color: black;
    color: antiquewhite;
    float: right;
    margin-right: 200px;
}
 
 
 
 
/*  Начало новых стилей */
.menu2{
  background-color: black;
  display: flex;
  justify-content: space-around;
}
 
.menu2 .item2{
   color: antiquewhite;
   line-height: 20px;
   text-transform: uppercase;
   width: 200px;
   text-align: center;
}
результат
1
mrtoxas
03.10.2016, 18:02
  #9

Не по теме:

Kenworth, использовать flex, чтобы выровнять три элемента по центру?

0
5 / 11 / 4
Регистрация: 02.04.2016
Сообщений: 351
04.10.2016, 08:54  [ТС] 10
Спасибо, заработало. я свой код леплю, потому что мне нужно не готовое решение, а его интеграция в рамках моего кода.

Добавлено через 8 минут
Ваши оба варианта тоже сработали. Вот только мне не понятно что это делает:
CSS
1
2
left: 50%;                   
transform: translateX(-50%);
я так понимаю, что вторая строчка смещает элемент по оси Х на 50%, но не понятно:
1) относительно чего? т.е. откуда идет отсчет
2) что делает первая строчка? устанавливает точку отсчета?
0
04.10.2016, 08:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.10.2016, 08:54
Помогаю со студенческими работами здесь

Выравнивание блока по центру относительно высотв
Доброго времени суток, помогите разобраться со следующей проблемой. Необходимо выровнять текстовый...

Автоматическое выравнивание блока по центру css
Есть обвертка (wrap) width (ширина) у нас 800 нужно сделать чтобы в любом разрешении монетора wrap...

Выравнивание вертикального списка ul по центру блока div
Добрый день, уважаемые форумчане! Подскажите пожалуйста неопытному подавану Нужно выровнять...

Выравнивание картинки внутри div блока по центру
Ребята привет! Я верстаю сайт с помощью div, у меня весь сайт на div Как выровнять картинку по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru