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

Сдвигается один блок, а другой не меняет высоту

26.05.2020, 13:07. Показов 2008. Ответов 9

Author24 — интернет-сервис помощи студентам
Добрый день.
Три блока (sidebar1, content, sidebar2) находятся внутри s1cs2.
Они должны располагаться на одной высоте, а внешний блок (s1cs2) растягиваться до длины бОльшего из блоков.
CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
.s1cs2
{
    width:980px;
    height: auto;
    background-color:#FF0;
}
    
#sidebar1, #sidebar2
{
    width: 182px;
    height:500px;
    float: left;
    background-color:#0F0;
}
 
.content {
 
    width: 596px;
    float: left;
    margin:0 10px;
    background-color: #F00;
}
HTML5
1
2
3
4
5
6
7
<div class="s1cs2">   
<!--sidebar1 --><div id="sidebar1"></div><!-- end .sidebar1 -->
<!-- centerbar --><div class="content">
<h1>Текст Текст Текст Текст Текст</h1>
</div><!-- end .centerbar -->
<!--sidebar2 --><div id="sidebar2"></div><!-- end .sidebar2 -->
</div><!-- end.s1cs2 -->
К сожалению, sidebar2 сдвигается ниже на высоту s1cs2 (внешний жёлтый блок), а также s1cs2 не имеет высоту, равную максимальной высоте внутреннего блока.
Как это исправить?
Заранее благодарен за ответ.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.05.2020, 13:07
Ответы с готовыми решениями:

При наведении на один блок, появляется другой блок и прячется если на блок не наводить
Как тут

Первые 3 ссылки в один блок, другие 3 в другой блок
Всем привет. Имеется 6 ссылок в блоке, к примеру #block. У ссылок нет ни атрибутов, ни классов,...

Тонкости верстки. Сделать так чтобы один блок всегда повторял высоту другого, даже если она явно не задана
У меня есть 3 блока. Один родительский, а другие два в нем. Нужно сделать так, чтобы высота...

Центральный блок должен растягиваться на всю высоту экрана, а не на высоту контента
Всем привет. Сразу к делу. Сайт делаю резиновым. Структура сайта по сути из трёх блоков. Шапка,...

9
Эксперт PHP
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
26.05.2020, 13:22 2
alanat, alanat, добавьте в стили
CSS
1
2
3
4
5
.s1cs2:after {
  content: '';
  clear:both;
  display: block;
}
1
12 / 12 / 1
Регистрация: 16.07.2012
Сообщений: 750
26.05.2020, 15:36  [ТС] 3
Цитата Сообщение от Kerry_Jr Посмотреть сообщение
добавьте в стили
Спасибо за помощь. Работает.
Не понятно, почему необходимо использовать after?
Почему sidebar2 сдвигается вниз, хотя ширина внутренних блоков соответвует ширине внешнего блока? Ничего ж не мешает всем внутренним блокам уместиться во внешнем.
Почему высота внешнего блока не увеличивается до размеров максимального блока, хотя стоит атрибут auto?
0
Эксперт PHP
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
26.05.2020, 15:43 4
Цитата Сообщение от alanat Посмотреть сообщение
Ничего ж не мешает всем внутренним блокам уместиться во внешнем
float мешает
Цитата Сообщение от alanat Посмотреть сообщение
Не понятно, почему необходимо использовать after?
Можно не after, а пустой div после s1cs2 с clear: both в стилях. Почитайте внимательно про float и про clearfix
0
12 / 12 / 1
Регистрация: 16.07.2012
Сообщений: 750
26.05.2020, 15:48  [ТС] 5
Цитата Сообщение от Kerry_Jr Посмотреть сообщение
внимательно про float
http://htmlbook.ru/css/float
Просто обтекание. Как float мешает? Тут только расположение элементов, и не увеличивается расстояние между ними.
0
12 / 12 / 1
Регистрация: 16.07.2012
Сообщений: 750
27.05.2020, 19:59  [ТС] 6
Цитата Сообщение от Kerry_Jr Посмотреть сообщение
пустой div после s1cs2 с clear: both в стилях
не помогло
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<!doctype html>
<html lang="ru">
<head>
<meta charset="utf-8">
<title>Тест</title>
<style>
body {
    font: 100% Verdana, Arial, Helvetica, sans-serif;
    margin: 0;
    padding: 0;
    color: #000;
    background-color: #9F9F9F;
    font-size:13px;
}
 
.container{
    position:relative;
    border: solid 1px;
    width: 1000px;
    background-color: #FFF;
    margin: 0 auto;
    box-shadow: 0 0 50px #40310a;
}
 
.s1cs2{
    float:left;
    padding-top:10px;
    margin: 0 10px;
    width:980px;
    background-color:#FFF;
}
    
#sidebar1, #sidebar2{
    width: 180px;
    height:500px;
    background-color: #0F0;
    padding-bottom: 10px;
    float: left;
    border: solid 1px #8CB0D2;
}
 
.content {
    padding: 0px;
    width: 596px;
    float: left;
    position: relative;
    margin:0 10px;
    background-color: #CCC;
}
 
#footer {
    background-color: #06F;
    clear: both;
}
</style>
</head>
 
<body>
<div class="s1cs2">   
<div id="sidebar1"></div>
<div class="content">
<h1>Тест</h1>
</div><!-- end .content -->
<div id="sidebar2"></div>
</div><!-- end.s1cs2 -->  
<div id="footer"></div>
</body>
</html>
Кроме первого варианта, больше никак?
0
Эксперт PHP
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
27.05.2020, 20:21 7
Цитата Сообщение от alanat Посмотреть сообщение
не помогло
Что именно не так?
Миниатюры
Сдвигается один блок, а другой не меняет высоту  
0
12 / 12 / 1
Регистрация: 16.07.2012
Сообщений: 750
27.05.2020, 20:33  [ТС] 8
Цитата Сообщение от Kerry_Jr Посмотреть сообщение
Что именно не так?
В редакторе у меня тоже всё хорошо, а в браузерах (https://urokmatematiki.ru/test.html) съезжает.
Миниатюры
Сдвигается один блок, а другой не меняет высоту  
0
Эксперт PHP
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
27.05.2020, 20:40 9
Лучший ответ Сообщение было отмечено alanat как решение

Решение

alanat, а, ну да, там еще 2 символа тех самых непечатных есть перед дивами-сайдбарами
1
12 / 12 / 1
Регистрация: 16.07.2012
Сообщений: 750
27.05.2020, 20:47  [ТС] 10
Цитата Сообщение от Kerry_Jr Посмотреть сообщение
ну да, там еще 2 символа тех самых непечатных есть перед дивами-сайдбарами
Сразу в глаза не бросаются. Большое спасибо.
0
27.05.2020, 20:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.05.2020, 20:47
Помогаю со студенческими работами здесь

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

Как один блок вложить в другой
&lt;!DOCTYPE html&gt; &lt;html lang=&quot;ru&quot;&gt; &lt;head&gt; &lt;meta charset=&quot;utf-8&quot;&gt; ...

Один блок ложится на другой на сайте
Здравствуйте, так плохо наверстал, что сделалось так, что блок меню ложится на блок с текстом, а...

Почему один блок налезает на другой?
скажите почему-то текст находящийся в блоке right залезает на картинку в блоке left и занимает...

При масштабировании один блок заходит на другой
При масштабировании страницы один блок заходит в пределы другого. А именно блок div заходит на блок...

Один блок налезает на другой (адаптивная верстка)
Добрый вечер. Учусь адаптивной верстки, по сути легко (просто для определенного размера экрана...


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

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