2

CSStransformプロパティを使用して、次のようなボタンを作成するにはどうすればよいですか。

ここに画像の説明を入力

skewrotaterotate3dおよびperspective運なしで遊んでみました。これらの新しい特性のいくつかを理解するには、数学者になる必要があるかのように感じます

4

2 に答える 2

4

3 つの軸すべてに沿って回転させたり、ゆがめたりする必要があります。次に例を示します。

div {
    perspective: 200px; 
    width: 150px;
    position: relative;
    color: white;
    line-height: 2.4;
    text-align: center;
    padding-left: 20px;
}

div::before {
    content: '';
    z-index: -1;
    position: absolute;
    background: #7fc552;
    top: 0; right: 0; bottom: 0; left: 0;
    transform: skew(-9deg) rotateX(-22deg) rotateY(-21deg) rotateZ(-9deg);
    /* Firefox seems to render this with pretty bad jagged edges.
       Add a transparent outline to fix that. */
    outline: 1px solid transparent;
}

ライブデモはこちら: http://codepen.io/JosephSilber/pen/Jvohk/

于 2014-04-06T15:49:59.277 に答える
0

この形状を実現するにはさまざまな方法があります。次のツールと方法を確認してください。

イメージマップ:

http://www.maschek.hu/imagemap/imgmap

説明: 通常の画像をアップロードし、クリック可能な領域をマッピングします


画像マスク:

http://thenittygritty.co/css-masking

説明: 使用する画像のカスタム ボーダー シェイプを作成します


SVG:

http://www.w3schools.com/svg/svg_polygon.asp

説明: 目的の形状を実現するために、html を使用して多角形ベクトルを作成します。

于 2014-04-06T15:45:16.957 に答える