図形の切り抜き。
名前 | clip-path
|
---|---|
値 | <clip-source> | [<basic-shape> || <geometry-box>] | none |
初期値 | none |
適用対象 | すべての要素。 SVG においては、[defs 要素以外のコンテナ要素/グラフィックス要素/use 要素]。 |
継承 | されない |
百分率 | 受容しない |
算出値 | 指定値 ― ただし、<url> 値は絶対化される |
正準的順序 | 文法に従う |
アニメーション型 | 算出値による【 <basic-shape> については、基本図形の補間も見よ。】 |
基本図形を指定するか、または clipPath 要素を参照して、切り抜きパスを作成する。
切り抜きパスを [CSS-SHAPES] に定義される基本図形関数として与える。基本図形をサイズして位置するために用立てる基準ボックスは、<geometry-box> が指定されて[いれば そのキーワードによる基準ボックス/いなければ border-box【に対する使用値の】キーワードによる基準ボックス]になる。
inset(<length-percentage>{1,4} [round <'border-radius'>]?)
内方へオフセットされた矩形を定義する。
いずれかの次元において、両側の inset の合計が基準ボックスの使用サイズを超える場合(左、右とも 75% など)、[CSS3BG] による § 曲線が重なり合う場合 と同じ規則を利用して、両側の比を保ちながら合計が 100% になるまで抑制する。これによる結果、図形の辺は,基準ボックスの中(inset が両側とも 75% の事例では、50% の所)に位置することになる。
<DIV style="border:10px dotted green; width:100px; height:50px; padding:10px; background-image:url(Com/Picture.jpg); clip-path:inset(5px); ">テスト</DIV>
<DIV style="border:10px dotted green; width:100px; height:50px; padding:10px; background-image:url(Com/Picture.jpg); clip-path:inset(15px); ">テスト</DIV>
<DIV style="border:10px dotted green; width:100px; height:50px; padding:10px; background-image:url(Com/Picture.jpg); clip-path:inset(5px round 20px); ">テスト</DIV>
circle(<shape-radius>? [at <position>]?)
真円を定義する。
<DIV style="border:10px dotted green; width:100px; height:50px; padding:10px; background-image:url(Com/Picture.jpg); clip-path:circle(50px); ">テスト</DIV>
<DIV style="border:10px dotted green; width:100px; height:50px; padding:10px; background-image:url(Com/Picture.jpg); clip-path:circle(50px at left); ">テスト</DIV>
ellipse([ <shape-radius>{2} ]? [at <position>]?)
楕円を定義する。
<DIV style="border:10px dotted green; width:100px; height:50px; padding:10px; background-image:url(Com/Picture.jpg); clip-path:ellipse(40px 30px); ">テスト</DIV>
<DIV style="border:10px dotted green; width:100px; height:50px; padding:10px; background-image:url(Com/Picture.jpg); clip-path:ellipse(40px 30px at left); ">テスト</DIV>
polygon(<'fill-rule'>?, [<length-percentage> <length-percentage>]#)
多角形を定義する。
ユーザー エージェントは、このリストの最後の頂点から最初の頂点へ接続して多角形を閉じるものとする。
<DIV style="border:10px dotted green; width:100px; height:50px; padding:10px; background-image:url(Com/Picture.jpg); clip-path:polygon(0px 0px,30px 0px,30px 60px); ">テスト</DIV>
<DIV style="border:10px dotted green; width:100px; height:50px; padding:10px; background-image:url(Com/Picture.jpg); clip-path:polygon(evenodd, 0px 30px, 90px 30px, 20px 70px, 50px 0px, 80px 70px); ">テスト</DIV>
path([<'fill-rule'>,]? <string>)
パスによる図形を定義する。
ユーザー エージェントは、閉じたループを要求するプロパティ(shape-outside や clip-path など)において、文字列内にパスを閉じる 命令("z"/"Z")が無い場合には、暗黙的なそれでパスを閉じるものとする。
<DIV style="border:10px dotted green; width:100px; height:50px; padding:10px; background-image:url(Com/Picture.jpg); clip-path:path('M 0 200 L 0, 75 A 5, 5 0,0, 1 150, 75 L 200 200 z'); ">テスト</DIV>¶path()詳細不明
指定されたキーワードによる基準ボックスは:
<geometry-box> 値に対する使用値は:
content-box
<DIV style="border:10px dotted green; width:100px; height:50px; padding:10px; background-image:url(Com/Picture.jpg); clip-path:content-box; ">テスト</DIV>¶
padding-box
<DIV style="border:10px dotted green; width:100px; height:50px; padding:10px; background-image:url(Com/Picture.jpg); clip-path:padding-box; ">テスト</DIV>¶
border-box
<DIV style="border:10px dotted green; width:100px; height:50px; padding:10px; background-image:url(Com/Picture.jpg); clip-path:border-box; ">テスト</DIV>¶
margin-box
【この値は mask-clip、mask-origin には許容されない(課題 #5)。】
<DIV style="border:10px dotted green; width:100px; height:50px; padding:10px; background-image:url(Com/Picture.jpg); clip-path:margin-box; ">テスト</DIV>¶
fill-box
<DIV style="border:10px dotted green; width:100px; height:50px; padding:10px; background-image:url(Com/Picture.jpg); clip-path:fill-box; ">テスト</DIV>¶
stroke-box
<DIV style="border:10px dotted green; width:100px; height:50px; padding:10px; background-image:url(Com/Picture.jpg); clip-path:stroke-box; ">テスト</DIV>¶
view-box
【viewBox が指定されていない場合にどうなるかは、述べられていない。】
<DIV style="border:10px dotted green; width:100px; height:50px; padding:10px; background-image:url(Com/Picture.jpg); clip-path:view-box; ">テスト</DIV>¶
真円/楕円 用の半径を定義する。省略時の既定の値は、closest-side。
<DIV style="border:10px dotted green; width:100px; height:50px; padding:10px; background-image:url(Com/Picture.jpg); clip-path:circle(50px); ">テスト</DIV>
<DIV style="border:10px dotted green; width:100px; height:50px; padding:10px; background-image:url(Com/Picture.jpg); clip-path:circle(50%); ">テスト</DIV>
closest-side
<DIV style="border:10px dotted green; width:100px; height:50px; padding:10px; background-image:url(Com/Picture.jpg); clip-path:circle(closest-side); ">テスト</DIV>
<DIV style="border:10px dotted green; width:100px; height:50px; padding:10px; background-image:url(Com/Picture.jpg); clip-path:ellipse(closest-side closest-side); ">テスト</DIV>
farthest-side
<DIV style="border:10px dotted green; width:100px; height:50px; padding:10px; background-image:url(Com/Picture.jpg); clip-path:circle(farthest-side); ">テスト</DIV>
<DIV style="border:10px dotted green; width:100px; height:50px; padding:10px; background-image:url(Com/Picture.jpg); clip-path:ellipse(farthest-side farthest-side); ">テスト</DIV>¶特に意味は無い?
none
<DIV style="border:10px dotted green; width:100px; height:50px; padding:10px; background-image:url(Com/Picture.jpg); clip-path:none; ">テスト</DIV>
算出値が none 以外になる場合 ― opacity プロパティの値が 1 未満のときと同じ仕方で ― 積層文脈を作成させる。
URI 参照が妥当でない場合(例: 存在しないオブジェクトを指している/オブジェクトは clipPath 要素でない)、適用され切り抜きは無い。
clip-path: polygon(15px 99px, 30px 87px, 65px 99px, 85px 55px, 122px 57px, 184px 73px, 198px 105px, 199px 150px, 145px 159px, 155px 139px, 126px 120px, 112px 138px, 80px 128px, 39px 126px, 24px 104px);
clip-path: url("#clip1");
<clipPath id="clip1"> <polygon points="15,99 30,87 65,99 85,55 122,57 184,73 198,105 199,150 145,159 155,139 126,120 112,138 80,128 39,126 24,104"/> </clipPath>
表示内容: |
表示内容: |