CSS可以用来掩盖背景图像吗?

时间:2012-07-08 14:34:44

标签: jquery 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创建一个掩码 - 我需要什么呢?

2 个答案:

答案 0 :(得分:22)

如果您在上面的评论中找不到解决方案,那么我会为您准备一个。

您可以使用边框(如果您使用的是易于使用的纯色)来复制它,而不是尝试创建svg或png图像以进行定位。

You can see a working jsFiddle here

修改

旧的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;
}

答案 1 :(得分: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;    
}​