Я использую EQCSS, элемент Quer ies, который позволяет мне извлекать значения из JavaScript для использования в моем CSS. Вот демо с% широкой колонке 33, которая имеет площадь, которая будет изменять размер ответно внутри него:
<section>
<div></div>
</section>
<style>
section {width: 33%;}
@element 'div' {
$this {
width: auto;
height: eval("clientWidth")px;
background: red;
}
}
</style>
<script src=http://elementqueries.com/EQCSS.js></script>
В этом фрагменте width: auto
означает, что она расширяется, чтобы заполнить его контейнер. eval('clientWidth')
находится внутри запроса элемента, поэтому он ссылается на this.clientWidth
, где this
- это элемент, соответствующий запросу. Это означает, что высота нашего квадрата всегда будет равна его ширине!(квадрат).
Проверьте это: http://elementqueries.com
Я также использовать эту же технику, чтобы позволить мне изменить размер Youtube и Vimeo плавающих фреймов в соответствии с их соотношением сторон без необходимости обертки:
@element 'iframe' {
$this {
margin: 0 auto;
width: 100%;
height: eval("scrollWidth/(width/height)")px;
}
}
Отзывчивого видео масштабирования демо: http://elementqueries.com/demos/video-scaling.html
Надеюсь, это поможет!
Вы имеете в виду без переполнения ребенка или без использования свойства 'overflow'? – TylerH
Ваш вопрос не совсем ясен, не могли бы вы уточнить? – Aziz
Я хочу, чтобы внутренний div был динамически изменен в соответствии с размерами родителя. это означает, что когда его граница касается внутреннего div, внутренний div начинает реагировать на новые измерения. –