#javascript #html #css #css-position
#javascript #HTML #css #css-position
Вопрос:
У меня есть несколько фрагментов изображений, которые в конце должны показывать полное изображение. Надеюсь, в моем коде ниже вы можете получить представление о том, чего я хочу достичь. У меня есть дедушка и дедушка div, который всегда будет скрыт левым и правым изображением. На данный момент я обернул изображения родительским контейнером div («parent»), чтобы установить размер для плиток. Теперь моя проблема в том, что «переполнение: скрытое» работает только в том случае, если я установил для родительского элемента значение «позиция: относительная». Но для того, чтобы расположить изображения абсолютно для дедушки и бабушки, относительное расположение родительского элемента мешает моим планам. Есть ли у вас какие-либо идеи, как я могу этого добиться? Если это невозможно в CSS, я мог бы также использовать JS для этого.
.grandparent {
display: flex;
flex-direction: row;
background-color: blue;
width: 960px;
height: 720px;
}
.parent {
width: 100px;
height: 125px;
overflow: hidden;
position: relative;
}
.child {
position: absolute;
top: 0;
left: 0;
}
<div class="grandparent">
<div class="parent">
<img class="child left" src="https://cdn.pixabay.com/photo/2013/07/25/13/01/stones-167089_960_720.jpg">
</div>
<div class="parent">
<img class="child right" src="https://cdn.pixabay.com/photo/2013/07/25/13/01/stones-167089_960_720.jpg">
</div>
</div>
Ответ №1:
Не используйте overflow:hidden
, а рассмотрите clip-path
вместо этого. Он будет делать то же самое, что и overflow, и вам не нужно учитывать position:relative
.grandparent {
display: flex;
flex-direction: row;
background-color: blue;
width: 960px;
height: 720px;
position: relative;
overflow: hidden;
}
.parent {
width: 100px;
height: 125px;
clip-path:inset(0); /* this will hide the overflow */
}
.child {
position: absolute;
top: 0;
left: 0;
}
<div class="grandparent">
<div class="parent">
<img class="child left" src="https://cdn.pixabay.com/photo/2013/07/25/13/01/stones-167089_960_720.jpg">
</div>
<div class="parent">
<img class="child right" src="https://cdn.pixabay.com/photo/2013/07/25/13/01/stones-167089_960_720.jpg">
</div>
</div>