Quantcast
Channel: CSSタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8960

borderを使用した三角形(吹き出し)の作り方

$
0
0

概要

borderによる三角形の作成方法を応用して、次のような吹き出しを作成することができる、ということが分かったので、記録します。
スクリーンショット 2019-11-03 1.53.40.png

borderで三角形を作成する方法

borderが幅をもつ要素であることを利用して、三角形を作成することができます。
全体のコードは以下の通り。
スクリーンショット 2019-11-03 1.53.40.png

手順1:空要素を設定

幅・高さ0の空のボックス要素を設定。
この要素の周りにborderで枠線をセットしていきます。

手順2:borderで四角形を作ってみる

border自体に幅があるため、
次のように、borderの中の要素を高さ・幅ともに0に設定した場合、border
自体で正方形を作成することができます。

(コード)
.test{
display: block;
width:0px;
height:0;
border-top: solid 50px red;
border-right: solid 50px blue;
 }
(作成される四角形)
名称未設定2.png
 topを赤、rightを青にしてみると、このようにborderの境界線が斜めになります。境界線がこのように斜めになることを応用し、三角形を作成していきます。

 手順3:三角形の斜辺に当たる部分のborderの色を透明にする

手順2にborder-leftを加え長方形を作成します。
このときに、borderの幅には作成した三角形の高さを設定します。
名称未設定.png

次に、余分な部分(三角形の斜辺を作成しているborder-leftとborder-right)の色を透明にします。
名称未設定.png

blueの設定にしていた部分を、transparentにすることで透明にすることができます。
このようにして、三角形を作成することができました。

吹き出しの作成

三角形を他のボックス要素に重ねることで吹き出しのような形を作成することができます。

手順1:適当なボックス要素を準備

吹き出しの元となるボックス要素を準備します。
スクリーンショット 2019-11-03 23.36.14.png

手順2:準備したボックス要素にposition:relativeを設定

手順1で作成した長方形に、三角形を重ねるため、position:relativeをセットします。

手順3:同じ色の三角形を作成

吹き出しの元となるボックス要素と同じ色の三角形を作成します。
(先ほど記載した通り、borderを使用して作成)

スクリーンショット 2019-11-03 23.42.33.png

手順4:三角形にposition:absoluteを設定

吹き出しの大きさ、位置をposition:absoluteで調整します。

スクリーンショット 2019-11-04 0.05.29.png

吹き出しの完成です。


Viewing all articles
Browse latest Browse all 8960

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>