14

これは私が現在持っているものです:

現在のコードのイメージ

これまでの私のコードは次のとおりです。

<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>

ここに私が目指しているものがあります:

ここに画像の説明を入力

CSS を使用してマスクを作成しようとしています - これには何が必要ですか?

4

2 に答える 2

22

上記のコメントで解決策が見つからない場合は、解決策を用意しています。

配置する svg または png 画像を作成しようとする代わりに、境界線を使用して (操作しやすい単色を使用している場合)、これを複製することができます。

ここで動作する jsFiddle を確認できます

編集

古い jsFiddle は使用できなくなりました。再作成するには、付随するコードが必要です。以下は、これをすべて機能させる「マスク」要素です。

.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;
}
于 2012-07-08T14:56:55.230 に答える
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;    
}​
于 2012-07-08T15:07:25.630 に答える