Если родитель имеет ширину набора, он не будет расширяться с шириной дочернего элемента, даже если ширина дочернего элемента превышает ширину родителя. См. this JS Fiddle example.
.parent {
width: 300px;
height: 50px;
}
.child {
width: 400px;
height: 50px;
position: relative;
}
UPDATE
Я интересно, если есть какой-либо вид хака, что позволяет мне сделать это без установки ширины на родителя
Существует n o способ выполнить это без того, чтобы родитель имел какое-то свойство ширины или ширины. Если вы выступаете против использования свойства width
родителя, вы можете использовать несколько альтернатив ширины.
Как пояснил cimmanon в комментарии ниже, вы можете установить .parent
, чтобы иметь max-width
. Это необязательно должно быть 100%
; любая максимальная ширина будет делать, если она меньше ширины дочернего элемента. See this JS Fiddle example или проверить этот код:
.parent {
max-width: 200px;
}
.child {
width: 400px;
}
В качестве альтернативы можно использовать position:absolute
и установить left
и right
свойства. See this JS Fiddle example или проверить этот код:
.parent {
position:absolute;
left:0;
right:0;
}
Но помните, что это только два из множества возможных альтернатив. Надеюсь это поможет!
Если вы не можете установить ширину на родителе, как она получит свою ширину, чтобы начать с? –
Вы спрашиваете, может ли ширина ребенка превышать ширину родителя? – JSW189
@ JSW189 - да, без установки ширины на родительском и без установки дочернего элемента в позицию: absolute – user1031947