Прозрачный фон <div> CSS
Для тех, кто не может ждать Fiddle
У меня есть эта проблема в CSS. Структура кода html
и css
выглядит так:
HTML:
<div class="one">
<div class="two">
<div class="three">
</div>
</div>
</div>
CSS
.one{
width: 500px;
height: 500px;
background: url('http://www.moonlightcompanies.com/wp-content/uploads/2013/01/6973_MOONF-PomegranatesOnTree-8536-1.jpg');
background-size: cover;
background-repeat: no-repeat;
padding: 20px;
}
.two{
width: 300px;
height: 300px;
background: blue;
padding: 20px;
}
.three{
width: 200px;
height: 200px;
background: transparent;
padding: 20px;
border: 5px solid yellow;
}
Моя проблема заключается в том, как сделать фон <div class="three"></div>
прозрачным и смешаться с фоном <div class="one"></div>
. Я хочу, чтобы мой желаемый результат был как прикрепленный образ. Возможно ли это?
![enter image description here]()
Ответы
Ответ 1
Вы можете попробовать следующее: Демо
.three{
width: 200px;
height: 200px;
background: transparent;
padding: 20px;
border: 5px solid yellow;
outline:solid 100px rgba(0,0,255,.5);
}
обновите значение границы в соответствии с вашим требованием.
Обновлено Демо
.three {
background: transparent;
border: solid blue;
margin: 10px 0px;
border-width:20px 40px 40px 20px;
}
.inner {
outline: 5px solid yellow;
width: 200px;
height: 60px;
margin:0;
padding: 20px;
}
Ответ 2
Я добавил :before
и :after
также для синего фона справа и внизу, так что во втором div
можно добавить больше контента.
Вот скрипка - http://jsfiddle.net/afelixj/ouy9thkk/15/
Ответ 3
В соответствии с вашей обновленной скриптой: https://jsfiddle.net/ouy9thkk/14/
Я использовал тень окна для достижения ожидаемого результата.
HTML
<div class="one">
<div class="two">
<div class="three"></div>
<div class="three"></div>
<div class="three"></div>
</div>
</div>
CSS
.one{
width: 800px;
height:800px;
background: url('http://www.moonlightcompanies.com/wp-content/uploads/2013/01/6973_MOONF-PomegranatesOnTree-8536-1.jpg');
background-size: cover;
background-repeat: no-repeat;
padding: 20px;
}
.two{
width: 300px;
height: 300px;
padding: 20px;
}
.three{
width: 200px;
height: 80px;
background: transparent;
padding: 20px;
margin-bottom:30px;
border: 5px solid yellow;
box-shadow: 10px 0px 0 30px blue
}
Ответ 4
Попробуйте Fiddle
.one{
width: 500px;
height: 500px;
background: url('http://www.moonlightcompanies.com/wp-content/uploads/2013/01/6973_MOONF-PomegranatesOnTree-8536-1.jpg');
background-size: cover;
background-repeat: no-repeat;
padding: 20px;
}
.blue{
position: relative;
width: 200px;
height: 200px;
border: 1px solid blue;
border-width: 20px 115px 65px 20px;
}
.yellow{
width: 95%;
height: 95%;
border: 5px solid yellow;
position: absolute;
top: 0;
right: 0;
left: 0;
bottom: 0;
margin: auto;
}
Ответ 5
Ближе всего я мог бы получить этот конкретный случай:
.two{
width: 250px;
height: 250px;
background: trasparent;
padding: 0px;
border-top: 20px solid blue;
border-right: 60px solid blue;
border-bottom: 60px solid blue;
border-left: 20px solid blue;
}
JSFiddle
Ответ 6
попробуйте этот пример: (
jsfiddle.net/MxspA/6/
)
используйте прямоугольное изображение, которое должно быть прозрачным из центра, как показано ниже.
jsfiddle.net/MxspA/6/