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

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

02.11.2016, 15:40. Показов 2233. Ответов 7

Author24 — интернет-сервис помощи студентам
Добрый день! Прочитала очень много на форуме, но так и не нашла решения для себя.
Помогите пожалуйста разобраться..просто уже крик отчаяния((
Есть задача:
1. Есть три блока, нужно сделать так, чтобы они были шириной 100 пикселей, выстроились слева направо и были выравнены вертикально по центру
с шириной и построением разобралась, а вот с выравниванием никак
CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
.content {
  width: 600px;
  padding: 0 30px 30px 30px;
  border: 3px solid;
}
 
.element {
  border: 2px solid red;
  height: 150px;
  margin-top: 30px;
}
 
.element:nth-child(2) {
  height: 200px;
}
 
.element:nth-child(3) {
  height: 250px;
}
HTML5
1
2
3
4
5
<div class="content">
  <div class="element"></div>
  <div class="element"></div>
  <div class="element"></div>
</div>
Для элементов и для изменения ширины применила:
CSS
1
2
3
4
  .element {
    display: inline-block;
    width: 100px;
  }
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.11.2016, 15:40
Ответы с готовыми решениями:

Вертикальное выравнивание по центру в окне браузера
Добрый день! Делаю адаптивный сайт. Он имеет статическую картинку у div'a, сам фон (background в...

Вертикальное выравнивание input по центру div с inline-block
Здравствуйте. Подскажите, как можно вертикально выровнять input по центру div с inline-block?

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

Вертикальное выравнивание
Помогите плиз выровнять стрелку, чтобы была по уровню текста. http://194.177.21.143:3001/plans/1

7
$ su
1605 / 520 / 97
Регистрация: 18.11.2010
Сообщений: 2,807
Записей в блоге: 2
02.11.2016, 15:51 2
ну так сделать им line-height равную их высоте и они выровняются
0
105 / 104 / 59
Регистрация: 21.10.2013
Сообщений: 346
02.11.2016, 17:22 3
Лучший ответ Сообщение было отмечено mrtoxas как решение

Решение

Цитата Сообщение от shmdarya Посмотреть сообщение
и были выравнены вертикально по центру
??? В таком случае блоки будут друг под другом.
Не понятно как нужно выровнять, но вот 2 варианта:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<div class="content">
  <div class="element"></div>
  <div class="element"></div>
  <div class="element"></div>
</div>
 
<br>
 
<div class="content2">
    <div class="center">
        <div class="element2"></div>
    <div class="element2"></div>
    <div class="element2"></div>
    </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
52
53
54
55
56
57
.content {
  width: 600px;
  padding: 0 30px 30px 30px;
  border: 3px solid;
}
 
.element {
  border: 2px solid red;
  height: 150px;
  margin-top: 30px;
    display: inline-block;
    width: 100px;
    
    vertical-align: middle;   /* - то, что было дописано для первого варианта*/
}
 
.element:nth-child(2) {
  height: 200px;
}
 
.element:nth-child(3) {
  height: 250px;
}
 
 
 
 
.content2 {
  width: 600px;
  padding: 0 30px 30px 30px;
  border: 3px solid;
}
 
.element2 {
  border: 2px solid red;
  height: 150px;
  margin-top: 30px;
    display: inline-block;
    width: 100px;
    
     /*vertical-align: middle;  /* - если нужно как в первом варианте*/ */
}
 
.element2:nth-child(2) {
  height: 200px;
}
 
.element2:nth-child(3) {
  height: 250px;
}
 
.center{
    position: relative;
    display: inline-block;
    left: 50%;
    transform: translateX(-50%);
}
Результат
0
0 / 0 / 0
Регистрация: 31.10.2016
Сообщений: 74
03.11.2016, 08:55  [ТС] 4
Kenworth, спасибо большое за помощь.
Выглядеть все должно так, как приведено в вашем 2 результате. Только HTML менять нельзя.
CSS
1
2
3
4
5
6
7
.element {
                display: inline-block;
                width: 100px;
                position: relative;
                left: 50%;
                transform: translateX(-50);                     
            }
при таком раскладе у меня элементы прижимаются к правому краю блока
0
Эксперт HTML/CSS
2964 / 2599 / 1068
Регистрация: 15.12.2012
Сообщений: 9,876
Записей в блоге: 11
03.11.2016, 11:25 5
shmdarya, это интересно... А почему Вы считаете, что у Вас в коде они стоят не вертикально по центру?

HTML5
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
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        .content {
            width: 600px;
            padding: 30px;
            border: 3px solid;
        }
         
        .element {
            border: 2px solid red;
            height: 150px;
            display: inline-block;
            width: 100px;
        }
         
        .element:nth-child(2) {
            height: 200px;
        }
         
        .element:nth-child(3) {
            height: 250px;
        }
    </style>
</head>
<body>
    <div class="content">
        <div class="element"></div>
        <div class="element"></div>
        <div class="element"></div>
    </div>
</body>
</html>
0
0 / 0 / 0
Регистрация: 31.10.2016
Сообщений: 74
03.11.2016, 12:21  [ТС] 6
наверно потому, что они и не выглядят как выровненные вертикально по центру)) элементы находятся справа(
0
Эксперт JSЭксперт HTML/CSS
3825 / 2675 / 1521
Регистрация: 12.07.2015
Сообщений: 6,672
Записей в блоге: 4
03.11.2016, 12:23 7
shmdarya, это называется - горизонтально по центру. Добавьте
CSS
1
2
3
.content {
  text-align:center;
}
А они у вас точно справа? Право это там →
1
0 / 0 / 0
Регистрация: 31.10.2016
Сообщений: 74
03.11.2016, 12:31  [ТС] 8
Спасибо, получилось.
Я думала иначе по поводу вертикального и горизонтального выравнивания.
0
03.11.2016, 12:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.11.2016, 12:31
Помогаю со студенческими работами здесь

Вертикальное выравнивание
Нужно выровнять в 1 линию вертикально все блоки. Раскрасил для того что бы проще было понять...

Вертикальное выравнивание текста
Подскажите, как правильно нужно вертикально выровнять текст, изображённый на рисунке? Наверно я...

Простое вертикальное выравнивание
Нужно выровнить по центру(вертикально): &lt;style type=&quot;text/css&quot;&gt; .block { width:84px; height:...

Вертикальное выравнивание FLex
http://dev-working.ru/gazobeton_20_09_2019/ Есть таблицы с ценами..там не получается сделать...


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

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