Подтвердить что ты не робот

Можно ли использовать CSS для маскировки фоновых изображений?

Это то, что я имею в настоящее время:

Image of current code

Здесь мой код:

<style type="text/css">
    .main
    {
        background:url(bg.jpg);
        height:250px;
        }
    .ban
    {
        background-color:#333;
        height:150px;
    }
    .mask
    {
        width:75px;
        height:75px;
        float:left; 
        border:#fff solid 1px;

        margin:20px;
    }
</style>

<div class="main">
    <div class="ban">
         <div class="mask"></div> 
         <div class="mask"></div>
         <div class="mask"></div>
         <div class="mask"></div>
         <div class="mask"></div>    
    </div>
</div>

Вот то, к чему я стремился:

enter image description here

Я хочу создать маску с помощью CSS - что мне нужно для этого?

4b9b3361

Ответ 1

Если вы не нашли решение в комментариях выше, то у меня есть один для вас.

Вместо того, чтобы пытаться создать изображение svg или png, вы можете использовать границы (если вы используете сплошной цвет, с которым легко работать), чтобы воспроизвести это.

Здесь вы можете увидеть рабочий jsFiddle

Edit

Старый jsFiddle вымер, и для воссоздания требуется сопроводительный код. Ниже представлен элемент "mask", который заставляет все это работать.

.mask
{
    width:50px; //non-essential
    height:50px; //non-essential
    float:left; //non-essential
    background:transparent;
    border:1px solid #333;
    border-top:20px solid #333;
    border-left:10px solid #333;
    border-right:10px solid #333;
    border-bottom:50px solid #333;
}

Ответ 2

Решение, использующее разметку, аналогичную вашему:

http://jsfiddle.net/VtCvx/

<div class="main">

         <div class="mask"></div> 
         <div class="mask"></div>
         <div class="mask"></div>
         <div class="mask"></div>
         <div class="mask"></div>    
        <div class="ban"></div>
</div>​

.main
{
    background:url(http://lorempixel.com/800/800/);
    height:250px;
    }
.ban
{
    height:150px;
    position: absolute;
    right: 0;
    left: 550px;
    background: #333;
}


.mask
{
    width:75px;
    height:75px;
    float:left; 
    border: #333 solid 25px;
    border-right-width: 10px;
    border-bottom-width: 50px;
    box-shadow: inset 0 0 1px 1px #fff;    
}​