台形デザインの見出しを装飾する方法

HTML&CSS

台形デザインの見出しを装飾する方法

こんにちは。

今日は「台形デザインの見出しを装飾する方法」について書こうと思います!

イメージとしては、キャッチ画像の通りです。

ちょっとお洒落ですよね^^

初見はこれどうやってするんや・・・と全然想像もつかなかったのですが考え方は意外とシンプルでした!

ではさっそくコーディングについて見ていきましょー!

 

コーディング

HTML編

     <div class="titBlock">
        <div class="bg"></div>
        <h2 class="sectTit">タイトル</h2>
      </div>

bgクラスが装飾部分です。

 

CSS編

.titBlock {
  position: relative;
  width: 300px;
  padding: 10px 15px;
}

.titBlock .bg {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;//重要!
  width: 100%;//領域は親要素いっぱい
  height: 100%;//領域は親要素いっぱい
}

.titBlock .bg:after {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  content: '';
  left: 0%;
  top: 0%;
  transform: skewX(-14deg);//変形させる
  transform-origin: 100% 0;//どうやらこの指定がないとうまくいかない
  background: #b4fae1;
}

.titBlock .sectTit {
  position: relative;
  font-size: 30px;
  z-index: 1;//重なりを一番上にするため
}

ちょっと量が多いのですが、こんな感じです。

基本的な原理は擬似要素で平行四辺形を作り(skew)、その親要素に【overflow:hidden;】を指定することによりはみ出した部分を消すというものです。

ちなみに【overflow:hidden;】を消すとこんな感じになります。

さらに、どうやら擬似要素の変形について、【transform-origin: 100% 0;】を指定しないとこのデザインにならないようです。

私自身あまり、transform-originについては変形起点ということしか理解していなかったので検証ツールでどうなるか調べました!

ここでいう100%とは親要素の横軸で一番右端、次に0とは縦軸の一番上です。

つまり起点は一番上右に指定したということですね。

 

・【transform-origin: 100% 0;】を指定しないパターン

初期値は真ん中なので親要素のbgに【overflow:hidden;】をかけると右端が切れてしまいました。

・【transform-origin: 100% 0;】を指定したパターン

ちょうど左端が切れていますね^^

こんな感じで台形デザインはできているんだと理解できました!

ちょっと駆け足で文章がグダグダになってしまいましたが、今日はここまで〜〜

コメント

タイトルとURLをコピーしました