2016-04-07 8 views
1

ちょうどOffset a background image from the right using CSSのように私はshapeをコンテナの右端を基準にしていくつかの絶対値に配置したいと思っています。右端から固定距離で容器をクリップする方法は?

clip-path: polygon(0 0, right 1em 0, 100% 50%, right 1em 100%, 0 100%, 0 0); 

これは、1emの長さの右側の要素から三角形を切り取る必要があります。

三角形のサイズは要素の長さに依存するため、%を使用できません。これは望ましくありません。

残念ながら、この方法では動作しません。別の解決策がありますか?

+1

私は、Firefoxで動作しないこのクリップパス法を警告しなければなりません。クロスブラウザのコードをビルドすることができます。[**ここのリンク**](http://cssplant.com/clip-path-generator) –

+1

クリップパスの解決策がない場合は、 100%またはミラー1を作成し、右端にscale -X(-1)などの変換元を設定します。 – FelipeAls

+0

@FelipeAlsこれは面白そうですが、実際にはどうしますか?形状にはテキストが含まれているので、ミラーリングするとうまくいかないでしょうか? – Andy

答えて

1

calc関数を使用して、1em100%から差し引いて、必要な効果を得ることができます。このようにすると、ポイントはコンテナの右端から常に1emになり、要素の長さには依存しません。

clip-pathでこれを行う方法は他にありません。 background-imageとは異なり、これらは参考として側を取っていません。

div{ 
 
    height: 40vh; 
 
    width: 100%; 
 
    -webkit-clip-path: polygon(0 0, calc(100% - 1em) 0, 100% 50%, calc(100% - 1em) 100%, 0 100%, 0 0); 
 
    background: red; 
 
    }
<div></div>

+1

もちろん、私は三角形(: – Andy

関連する問題