Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the all-in-one-seo-pack domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/html/adatype.co.jp/public/_wp/wp-includes/functions.php on line 6114

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the wp-graphql domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/html/adatype.co.jp/public/_wp/wp-includes/functions.php on line 6114
HtmlとCssでななめ掛けリボンをつくってみよう - testada

株式会社アド・エータイプ

株式会社アド・エータイプ

Staff Blog

スタッフブログ

HtmlとCssでななめ掛けリボンをつくってみよう

2021.5.31 HTML/CSS

今回は前回の記事に続き、ななめ掛けリボンの作成をご紹介したいと思います。

htmlとcssを利用するので、少し上級者向けになると思います。
ですが、画像ではなくコードを使って作成するため、後々修正が必要になった際に楽に管理できるようになると思います!
では、さっそく作成していきましょう!

コードを書く

作成するおおまかなポイントとして
①要素を回転させる
②cssで疑似要素を使用する。
こちらの2点が重要ポイントになります。

主にECサイトの新着情報やランキングなどに使う機会が多いと思うので、横並びで要素を置きます。

<ul class="label_list clearfix">
<li>
<div class="label_box">
<div class="label_inner">
<span class="ribbon">新着</span>
</div>
<p>ここにテキストが入りますここにテキストが入りますここにテキストが入りますここにテキストが入りますここにテキストが入りますここにテキストが入りますここにテキストが入りますここにテキストが入りますここにテキストが入りますここにテキストが入りますここにテキストが入ります</p>
</div>
</li>
<li>
<div class="label_box">
<div class="label_inner">
<span class="ribbon">新着</span>
</div>
<p>ここにテキストが入りますここにテキストが入りますここにテキストが入りますここにテキストが入りますここにテキストが入りますここにテキストが入りますここにテキストが入りますここにテキストが入りますここにテキストが入りますここにテキストが入りますここにテキストが入ります</p>
</div>
<li>
<div class="label_box">
<div class="label_inner">
<span class="ribbon">新着</span>
</div>
<p>ここにテキストが入りますここにテキストが入りますここにテキストが入りますここにテキストが入りますここにテキストが入りますここにテキストが入りますここにテキストが入りますここにテキストが入りますここにテキストが入りますここにテキストが入りますここにテキストが入ります</p>
</div>
</li>
</ul>

次に、cssを書いてみましょう。

.label_list {
width:1000px;
margin:0 auto;
}
.label_list li{
width:32%;
float:left; 
margin-right:2%;
}
.label_list li:last-child{
margin-right:0;
}
.label_box {
position: relative;
padding: 50px;
background: #ffccbe;
}
.label_inner {
position: absolute;
top: -6px;
left: -6px;
width: 90px;
height: 91px;
overflow: hidden;
}
.ribbon {
display: inline-block;
position: absolute;
padding: 4px 0;
right: -21px;
top: 10px;
width: 160px;
text-align: center;
font-size: 14px;
background: #FF1E21;
color: #fff;
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
}
.ribbon:before, .ribbon:after {
position: absolute;
content: "";
border-top: 4px solid #A20002;
border-left: 4px solid transparent;
border-right: 4px solid transparent;
bottom: -4px;
}
.ribbon:before {
left: 20px;
}
.ribbon:after {
right: 24px;
}

これで完成です!

解説

はじめに、リボンを付けるコンテンツを作成します。
positionを付けておくのを忘れないようにしてください。

.label_box {
position: relative;
padding: 50px;
background: #ffccbe;
}

ここでリボンの形を形成。大きさと高さを指定していきましょう。

ポイント①に当たる回転の部分ですが、リボンの回転には、transformというクラスを用いて回転させています。

.ribbon {
display: inline-block;
position: absolute;
padding: 4px 0;
right: -21px;
top: 10px;
width: 160px;
text-align: center;
font-size: 14px;
background: #FF1E21;
color: #fff;
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
}

そのままだと長方形が傾いているだけに見えるので、リボンを囲むクラスにoverflow: hidden;をかけて余計な部分を非表示にさせましょう。

.label_inner {
position: absolute;
top: -6px;
left: -6px;
width: 90px;
height: 91px;
overflow: hidden;
}

後ろの長方形にぴったり重なるようにして表示されました。

ポイント②に当たるリボンの折り返しの部分は疑似要素で小さい三角形を作成して配置していきます。positionでうまく調節すれば、いい感じの折り返しが作成できます!

.ribbon:before, .ribbon:after {
position: absolute;
content: "";
border-top: 4px solid #A20002;
border-left: 4px solid transparent;
border-right: 4px solid transparent;
bottom: -4px;
}
.ribbon:before {
left: 20px;
}
.ribbon:after {
right: 24px;
}

ちなみにレスポンシブ対応もしているので無駄なコードを書かずに済みます♪

まとめ

実際に作成してみると難しいものです…。少しよくわからない…という方は、折り返しなしのリボンを作成するのもありだと思います。これだけでも十分アクセントを付けることができますね。

また何か作成したいものを見つけ次第チャレンジしてみたいと思います。それでは!

この記事を書いた人

SNSのシェアはこちらから

Contact usお問い合わせ

  • パンフレットのアイコン会社案内ダウンロード

    広告代行・制作のご検討されたい方へ
    パンフレットをご用意しております。

    会社案内ダウンロード
  • メールのアイコンお問い合わせ・ご相談

    ホームページ制作・運用・更新についての
    ご相談やお問い合わせはこちら

    お問い合わせ・ご相談
  • 電話のアイコンお電話でのお問い合わせ

    お電話でのご相談も随時受け付けております。
    お気軽にご連絡ください。

    フリーダイアルのアイコン022-716-3883 平日 9:30~18:30
ページ上部へ