WedX - журнал о программировании и компьютерных науках

Дочерний div с рамкой, который точно перекрывает родительский div с рамкой?

Предположим для этого решения, что мы не знаем размеров родительского элемента div.

Картинка лучше всего иллюстрирует проблему:

Русские матрешки

Родительский div имеет черную рамку, а дочерний div имеет фиолетовую рамку такой же ширины. Дочерний элемент расширяется, чтобы заполнить родительский элемент (по желанию), но расширение не включает границы (нежелательно). Вместо этого дочерний элемент должен располагаться точно поверх родителя, как два сложенных друг на друга куска стекла точно такого же размера, чтобы родитель был полностью закрыт дочерним элементом.

Фрагмент, который создает изображение выше

html { box-sizing: border-box; }
*, *:before, *:after { box-sizing: inherit; }


.parent {
  background: pink;
  border: 3px solid black;
  position: relative;
  width: 100px;
  height: 100px;
}

.child {
  background: green;
  border: 3px solid purple;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}
<div class="parent">
  <div class="child">
  </div>
</div>

Фрагмент дает правильные результаты, но недопустим, поскольку используются размеры родительских элементов div.

html { box-sizing: border-box; }
*, *:before, *:after { box-sizing: inherit; }


.parent {
  background: pink;
  border: 3px solid black;
  position: relative;
  width: 100px;
  height: 100px;
}

.child {
  background: green;
  border: 3px solid purple;
  position: absolute;
  width: 100px; /* not allowed!  should be 100% */
  height: 100px;/* not allowed!  should be 100% */
  left: -3px;
  top: -3px;
}
<div class="parent">
  <div class="child">
  </div>
</div>

Вопрос

Как можно создать эффект второго фрагмента, не зная ширины и высоты родителя divs? Можно использовать ширину границы родителя divs, но свойства ширины и высоты дочернего элемента должны быть равны 100%.

22.07.2016

Ответы:


1

Сделайте ширину и высоту дочернего элемента «наследственными». Это унаследует ширину и высоту родителя.

html { box-sizing: border-box; }
*, *:before, *:after { box-sizing: inherit; }


.parent {
  background: pink;
  border: 3px solid black;
  position: relative;
  width: 100px;
  height: 100px;
}

.child {
  background: green;
  border: 3px solid purple;
  position: absolute;
  width: inherit;
  height: inherit;
  left: -3px;
  top: -3px;
}
<div class="parent">
  <div class="child">
  </div>
</div>

22.07.2016
Новые материалы

Как проанализировать работу вашего классификатора?
Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

Работа с цепями Маркова, часть 4 (Машинное обучение)
Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

Учебные заметки: создание моего первого пакета Node.js
Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..

ИИ в аэрокосмической отрасли
Каждый полет – это шаг вперед к великой мечте. Чтобы это происходило в их собственном темпе, необходима команда астронавтов для погони за космосом и команда технического обслуживания..


Для любых предложений по сайту: [email protected]