Помогите пожалуйста с таким вырезом (справа снизу)
Как можно реализовать такой вырез на css, без наложения поверх блока с бэкграундом, именно вырезом, как показано конторум на скрине, спасибо?
Ответы (1 шт):
Автор решения: De.Minov
→ Ссылка
Как вариант.
body {background-color: #ccc;}
.card {
--bg: #e1f7ff;
--bg-parent: #ccc;
--br: 30px;
display: block;
width: 300px;
height: 300px;
border-radius: var(--br);
background: var(--bg);
position: relative;
}
.card-qr {
width: 100px;
height: 100px;
border-top-left-radius: var(--br);
background-color: var(--bg-parent);
padding: 10px;
box-sizing: border-box;
position: absolute;
right: 0;
bottom: 0;
}
.card-qr img {
display: block;
width: auto;
height: auto;
max-width: 100%;
max-height: 100%;
object-fit: contain;
}
.card-qr--border {
display: block;
width: calc(var(--br) * 2);
height: calc(var(--br) * 2);
background-color: var(--bg-parent);
position: absolute;
pointer-events: none;
}
.card-qr--border:nth-child(1) {
right: 100%;
bottom: 0;
}
.card-qr--border:nth-child(2) {
right: 0;
bottom: 100%;
}
.card-qr--border::after {
content: '';
display: block;
width: 100%;
height: 100%;
border-bottom-right-radius: 30px;
background-color: var(--bg);
position: absolute;
}
<div class="card">
<div class="card-qr">
<div class="card-qr--border"></div>
<div class="card-qr--border"></div>
<img src="//i.imgur.com/sOJG5MN.png" width="330" height="330">
</div>
</div>
Хотя более правильным будет такой.
body {background-color: #ccc;}
h2, h3 {margin: 0;}
.card {
--bg: #e1f7ff;
--br: 30px;
display: block;
width: 400px;
}
.card__top {
display: block;
width: 100%;
min-height: 200px;
border-radius: var(--br);
border-bottom-left-radius: 0;
background-color: var(--bg);
padding: 20px 20px;
padding-bottom: 0;
box-sizing: border-box;
}
.card__bottom {
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: streach;
width: 100%;
}
.card__bottom--left {
width: 100%;
height: auto;
border-bottom-left-radius: var(--br);
border-bottom-right-radius: var(--br);
background-color: var(--bg);
padding: 20px;
padding-top: 0;
box-sizing: border-box;
position: relative;
}
.card__bottom--left::after {
content: '';
display: block;
width: var(--br);
height: var(--br);
border-top-left-radius: var(--br);
box-shadow: calc(var(--br) * -.25) calc(var(--br) * -.25) 0 calc(var(--br) * .25) var(--bg);
position: absolute;
left: 100%;
top: 0;
pointer-events: none;
}
.card__bottom--right {
flex-shrink: 0;
display: block;
width: 100px;
height: auto;
padding: 10px;
box-sizing: border-box;
}
.card__bottom--right img {
width: auto;
height: auto;
max-width: 100%;
max-height: 100%;
object-fit: contain;
}
<div class="card">
<div class="card__top">
<h2>Сотрудничество</h2>
</div>
<div class="card__bottom">
<div class="card__bottom--left">
<h3>Важно знать</h3>
</div>
<div class="card__bottom--right">
<img src="//i.imgur.com/sOJG5MN.png" width="330" height="330">
</div>
</div>
</div>
