clipプロパティの説明
CSSのclipプロパティは、要素を切り抜いて可視化する範囲を指定します。この機能は、positionで絶対位置を指定された要素に対してのみ有効です。
切り抜く範囲はボックスと同じ大きさになり、top、right、bottom、leftという4つの値によって、ボックスの各辺からの距離を指定します。切り抜かれた部分の外側については、overflowで表示方法を指定します。
現在、clipプロパティの役目はclip-pathに引き継がれています。これから新しいページを作成する場合は、より新しい機能であるclip-pathを採用してください。
clipに指定できる値
auto- 切り抜きを行いません。自動的にボックスの境界で切り抜く
rect(auto, auto, auto, auto)とは異なることに注意してください。これが初期値です。 <shape>rect()で表す短形の値です。topとbottomは、ボックスの範囲において上辺からのオフセットを表します。rightとleftは、ボックスの範囲において左辺からのオフセットを表します。
clearの使い方とサンプルコード
clearプロパティの構文は以下の通りです。
/* キーワード値 */
clip: auto;
/* <shape>値 */
clip: rect(10px 30px 30px 10px);
clip: rect(3em 6em 10em 1em);
/* グローバル値 */
clip: inherit;
clip: initial;
clip: revert;
clip: unset;
clipの実例
それでは実際にclipプロパティの書き方を見ていきましょう。以下の例で、300x200pxの画像をclipでトリミングした場合に、どのように表示されるかを確認します。この効果を期待する要素には、positionで絶対位置の値を指定しなければなりません。
<section class="samp_box">
<div>
<div>元画像です。</div>
<img src="/images/sample_img300x200.png" alt="参考画像">
</div>
<div id="clip">
<div>clip: rect(20px, 200px, 100px, 20px);</div>
<img src="/images/sample_img300x200.png" alt="参考画像">
</div>
</section>
.samp_box {
margin: 1rem 0 0;
padding: 0 1rem 1rem 1rem;
}
.samp_box > div {
position: relative;
margin-top: 1rem;
}
#clip > img {
position: absolute;
top: 1rem;
left: 0;
clip: rect(20px, 200px, 100px, 20px);
}
