cssで見出しや背景に使えそうなテクニック

cssのみで実装する、見出しや背景に使えそうなテクニックを紹介します。

 

ストライプの見出し背景

.stripe{
border:2px solid #f8f8f8;
padding: 5px;
background: repeating-linear-gradient(90deg, #f8f8f8, #f8f8f8 10px, #fff 0, #fff 20px);
}
.stripe.n-border{
border:none;
}

backgroundをrepeating-linear-gradientで指定しています。

90degの所を-45degにすれば左斜線に、45degにすれば右斜線になります。

あとはお好きな色と、幅に

repeating-linear-gradient(ストライプの角度, 色1 始点, 色1 終点, 色2 始点、色2 終点[, 色3 始点, 色3 終点, …])

こういう指定方法になります。

 
 

よくある吹き出し

吹き出し

 
 

マウスが乗った時に表示

吹き出し

.block{
position:relative;
}
.block p{
display: inline-block;
}
.arrow_box,.arrow_box_over{
background-color: #fff5de;
border-radius: 4px;
-webkit-border-radius: 4px;
position: relative;
display:inline-block;
padding: 5px 15px;
}
.arrow_box:after,.arrow_box_over:after{
width: 0;
height: 0;
content: "";
position: absolute;
bottom: 0px;
left:2px;
}
.arrow_box:after,.arrow_box_over:after{
border-top: 10px solid #fff5de;
border-right: 8px solid transparent;
border-left: 8px solid transparent;
border-bottom: 0px solid transparent;
top: 50%;
margin-top: 18px;
}
.arrow_box_over{
position: absolute;
top: -70px;
left:0;
display:none;
}
.over:hover + .arrow_box_over{
display: inline-block;
}

擬似要素にborderで三角を作成し、position:absoluteで位置を指定します。
マウスが乗った時に表示させるのは、display:noneで隠しておいて、hoverでdisplay:inline-blockに変更しています。

 
 

画像の上にありそうな”NEW”とかのラベル

画像とか入れて

.triangle {
background: #fafafa;
width: 250px;
text-align: center;
height: 100px;
border: #eee 1px solid;
margin: 0 auto;
position: relative;
}
.triangle:before {
content: "";
top: 0;
left: 0;
border-bottom: 4em solid transparent;
border-left: 4em solid #c12748;
position: absolute;
z-index: 100;
}
.triangle:after {
content: "New!";
display: block;
top: 5px;
transform: rotate(-45deg);
color: #fff;
left: 0;
position: absolute;
z-index: 101;
}

今回はpタグに入れて見ましたが、こちらも擬似要素(before after)に指定しています。
beforeに赤い背景色を入れ三角にして、afterに”NEW!”という文字を入れrotate(-45deg)で斜めにしています。