pagetop

BLOG

CSSでborderを使ってイメージをトリミングする

  • HOME

  • BLOG

  • CSSでborderを使ってイメージをトリミングする

Article

CSSでborderを使ってイメージをトリミングする

CSS

CSSのborderで、イメージを斜めに切り取ったりするトリミング方法をメモします。

NewsPicksをよく読むのですが、イメージを斜めにトリミングするテクニックいいな〜と以前から思っていたので、自分で作ってみようと思い腰をようやく上げてトライしました。

NewsPicks

 

イメージの下を斜めにトリミングする

イメージの下を斜めにトリミングする

背景イメージを左下から右斜め上にトリミングしています。

CSS

header{ 
position: relative;
height:700px;
}
.header-img{ 
position: relative;
overflow: hidden;
height:600px;
background-image:url(img/1.jpg);
background-repeat:noe-repeat;
background-position:center top;
background-size:cover;
z-index:0;
}
.header-img::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
border-bottom: 15vw solid #fff;
border-left: 100vw solid transparent;
z-index:10;
}

borderで三角形を作成し、イメージの下の方に配置するというシンプルなものです。

イメージの下を斜めにトリミングする。

以下の部分が該当の設定です。

position: absolute;
bottom: 0;
left: 0;
border-bottom: 15vw solid #fff;
border-left: 100vw solid transparent;

 

イメージを上下を斜めにトリミングする

イメージを上下を斜めにトリミングする

これはimgタグを使用し、上下を斜めにトリミングします。

CSS

.sub-main{ 
position: relative;
clear:both;
}
.sub-main-img{ 
position: relative;
overflow: hidden;
}
.sub-main-img::before {
content: '';
position: absolute;
top: 0;
left: 0;
border-top: 10vw solid #fff;
border-right: 100vw solid transparent;
}
.sub-main-img::after {
content: '';
position: absolute;
bottom: 0;
right:0;
border-bottom: 10vw solid #fff;
border-left: 100vw solid transparent;
}

同様に疑似要素を使い、borderで上下に三角形を作成しイメージの上下に配置します。

 

イメージの下に中心から左右にトリミングする

イメージの下に中心から左右にトリミングする

イメージを矢印のようにトリミングするとストーリー性が出ていいですね。

CSS

.sub-main{ 
position: relative;
clear:both;
}
.sub-main-img{ 
position: relative;
overflow: hidden;
}
.sub-main-img::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
border-bottom: 20vw solid #fff;
border-left: 100vw solid transparent;
}
.sub-main-img::after {
content: '';
position: absolute;
bottom: 0;
right: 0;
border-bottom: 20vw solid #fff;
border-right: 100vw solid transparent;
}

 

以上です。
デモを用意しました。

デモはこちら

Spread the love