Форум программистов, компьютерный форум, киберфорум
HTML, CSS
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 04.03.2025
Сообщений: 2

Элемент выходит за пределы родительского

04.03.2025, 17:46. Показов 1668. Ответов 4

Студворк — интернет-сервис помощи студентам
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>
  <head>
    <title>Настолки!</title>
    <link rel="stylesheet" href="master.css">
  </head>
  <body>
    <div class="page">
      <div class="header">
        <div>
            <ul>
              <li>Главное Меню</li>
              <li>Самая продаваемая игра</li>
              <li>Статистика</li>
            </ul>
        </div>
        <div></div>
        <div><span class="head">Мои любимые настолки</span></div>
      </div>
      <div class="main">
        <div class="main-info">
          <div><img src="boardgame.webp"></div>
          <div>
            <h2>Настолки, которые я обожаю и не только...</h2>
          <p>
              Я обожаю погружаться в миры, созданные разработчиками, будь то фэнтезийные королевства,
              космические приключения или исторические эпохи. В этой теме я поделюсь своими любимыми настольными играми,
              расскажу о том, что делает их особенными, и почему они занимают важное место в моем сердце. Присоединяйтесь
              к этому увлекательному путешествию в мир настольных игр, где каждый найдет что-то для себя!
          </p>
          </div>
        </div>
        <div class="cards">
          <div class="block">
            <img src="">
            <h6>Первая игра</h6>
            <p></p>
          </div>
          <div class="block">
            <img src="">
            <h6>Первая игра</h6>
            <p></p>
          </div>
          <div class="block">
            <img src="">
            <h6>Первая игра</h6>
            <p></p>
          </div>
          <div class="block">
            <img src="">
            <h6>Первая игра</h6>
            <p></p>
          </div>
          <div class="block">
            <img src="">
            <h6>Первая игра</h6>
            <p></p>
          </div>
          <div class="block">
            <img src="">
            <h6>Первая игра</h6>
            <p></p>
          </div>
        </div>
      </div>
    </div>
  </body>
</html>
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box; /* Устанавливает box-sizing для всех элементов */
}
 
.page {
  display: block;
  width: 80%;
  height: 100vh;
  margin:30px auto;
  border: thin grey solid;
}
 
.header {
  background: url(background.avif) no-repeat;
  background-size: cover;
  height: 30%;
  text-align: center;
  border-radius: 10px;
}
 
.header div {
  height: 33.33%;
  padding-right: 5px;
}
 
.header ul {
  text-align: right;
}
 
.header li {
  display: inline-block;
  margin: 10px 0;
  padding: 10px;
  background:  rgba(255, 255, 255, 0.8);
  border-radius: 10px;
  font-size: 1.5em;
}
 
.header .head {
  padding: 5px;
  background:  rgba(255, 255, 255, 0.8);
  border-radius: 10px;
  font-size: 1.5em;
}
 
.main {
  height:70%;
  margin-top: 20px;
}
 
.main-info {
  height: 50%;
}
 
.main-info div {
  height: 50%;
  width: 60%;
  overflow: hidden;
  margin:5px auto;
  text-align: center;
}
 
.main {
 
}
 
.main-info  p{
  text-align: justify;
  text-align-last: center;
}
 
.cards::after {
  width: 80%;
  height: 50%;
  margin: 0 auto;
 
}
 
 
.block {
  width: 33.33%;
  height: 50%;
  float: left;
  background: grey;
}
Помогите с классом cards. div этого класса выходит за рамки родительского элемента, хотя всё записано в относительных единицах. Как можно решить эту проблему без использования flexbox и grid(такое задание).
Вложения
Тип файла: rar 3_lab.rar (1.32 Мб, 0 просмотров)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.03.2025, 17:46
Ответы с готовыми решениями:

Div выходит за пределы родительского блока при масштабировании (+скрин)
Есть внешний div (outer-outer), первый внутренний (outer), второй внутренний (inner) и внутри него третий div (content). При...

Элемент выезжает за пределы родительского блока
подскажите, как добиться того, чтобы всегда был внутри. причём он имеет фиксированные размеры. ставлю ему например max-height:60% - не...

Может ли дочерний элемент выходить за пределы родительского?
я всегда думал что дочерний элемент не может выходить за пределы родительского но походу это не так подскажите пожалуйста, к...

4
Молодой техлид)
Эксперт JSЭксперт HTML/CSS
 Аватар для mr_dramm
1818 / 1056 / 329
Регистрация: 17.07.2021
Сообщений: 2,147
Записей в блоге: 14
05.03.2025, 00:09
Кажется, хотите сделать чтобы не было полосы прокрутки по вертикали, но не учли отступы margin в разных блоках при расчете высоты.
Цитата Сообщение от PachiJdeck Посмотреть сообщение
Помогите с классом cards. div этого класса выходит за рамки родительского элемента, хотя всё записано в относительных единицах. Как можно решить эту проблему без использования flexbox и grid(такое задание).
тут не нужен after, а если был нужен, то не хватает свойства content
CSS
1
2
3
4
5
.cards::after {
  width: 80%;
  height: 50%;
  margin: 0 auto;
}
Так как дочерние элементы cards используют float которые находятся вне потока документа для может потребоваться clearfix, мы заставим cards учитывать float-элементы.
CSS
1
2
3
4
5
.cards::after {
  content: "";
  display: block;
  clear: both;
}
Альтернативное решение без flex grid float
Кликните здесь для просмотра всего текста

PHP/HTML
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
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <style>
  * {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
  }
  .cards{
    /*  Хак который убирает отступы между соседними строчными и строчно-блочными элементами  */
    font-size: 0;
    width: 80%;
    margin: 0 auto;
  }
  .card{
    font-size: 1rem;
    display: inline-block;
    width: calc(100% / 3);
  }
  .content{
    border: solid;
  }
  </style>
</head>
<body>
  <div class="cards">
    <div class="card">
      <div class="content">1</div>
    </div>
    <div class="card">
      <div class="content">2</div>
    </div>
    <div class="card">
      <div class="content">3</div>
    </div>
    <div class="card">
      <div class="content">4</div>
    </div>
 
  </div>
</body>
</html>

тут эффект схлопывания внешних margin что приводит к отступу в 5px между .main и .header. И это будет применяться ко всем вложенным div это может привести к непредвиденным результатам нужно добавить класс
CSS
1
2
3
4
5
6
7
.main-info div {
    height: 50%;
    width: 60%;
    overflow: hidden;
    /* margin: 5px auto; */
    text-align: center;
}
Исправить margin collapse можно через добавлние padding/overflow для .main-info

Тут опять неучтенный margin и border также увеличивает размер блока на величину border-width
CSS
1
2
3
4
5
6
7
.page {
    display: block;
    width: 80%;
    height: 100vh;
    /* margin: 30px auto; */
    /* border: thin grey solid; */
}
Тут если всегда будет inline-block нет проблем, но если его убрать опять появятся внешние отступы, лучше задать padding 10px для ul и назначить ему класс
CSS
1
2
3
4
5
6
7
8
.header li {
  display: inline-block;
  /*margin: 10px 0;*/
  padding: 10px;
  background:  rgba(255, 255, 255, 0.8);
  border-radius: 10px;
  font-size: 1.5em;
}
Для img нужно задавать стили иначе картинка будет иметь свои реальные размеры игнорируя размеры блока в котором находится

Размер элементов у вас зависит размеров viewport а размер текста нет, хотя может так и задумывалось…

Очень рекомендую научиться пользоваться devtools иначе будете долго плутать во тьме
0
0 / 0 / 0
Регистрация: 04.03.2025
Сообщений: 2
05.03.2025, 07:10  [ТС]
А почему у меня вообще учитываются margin и padding при расчёте высоты и ширины, если изначально я указываю:
CSS
1
2
3
4
5
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
0
 Аватар для voraa
1259 / 1218 / 180
Регистрация: 21.01.2024
Сообщений: 5,617
05.03.2025, 07:28
border-box к margin не относятся.
Ширина и высота задаются для элемента (с границами или без), а margin вне элемента.
0
Молодой техлид)
Эксперт JSЭксперт HTML/CSS
 Аватар для mr_dramm
1818 / 1056 / 329
Регистрация: 17.07.2021
Сообщений: 2,147
Записей в блоге: 14
05.03.2025, 08:28
Цитата Сообщение от PachiJdeck Посмотреть сообщение
А почему у меня вообще учитываются margin и padding при расчёте высоты и ширины, если изначально я указываю
потому что селектор * записан в css файле первым (порядок следования селекторов имеет значение подробнее тут ) для того чтобы убрать отступы по умолчанию заданные браузерными стилями, также у селектора * низкая специчность (0,0,0,0) но ее хватает для перезаписывания браузерных стилей, а потом Вы переписываете margin и padding конкретно в селекторах у который специфичность выше чем у * и они указываются после поэтому они применяются.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.03.2025, 08:28
Помогаю со студенческими работами здесь

Выезжает div за пределы родительского
Выезжает див (см изображение) Если есть какие ещё какие предложения по улучшению рад буду получить Благодарю &lt;!DOCTYPE html&gt;...

Вывести блок за пределы родительского
.block1 {width:100%; height:300px; margin:5px; margin-top:100px; float:left; border:1px solid red; ...

Вывод картинки за пределы родительского блока
Здравствуйте! Нужно вывести изображение за пределы некоторой области, как на прикрепленном изображении. Как это можно реализовать? Прост...

Вывести дочерний div за пределы родительского
пытаюсь отрицательным margin-left вывести дочерный див за пределы родительского, но он обрезается на грани родительского и не выходит за...

Вывести блок за пределы родительского(margin-right)
Всем доброго времени суток.. Требуется вывести div-блок за пределы родительского, при условии, что правая граница дочернего блока будет...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru