CSSを使って囲み枠を作ってみた!ちょっとおしゃれなデザインにチャレンジ!
- 2021年8月22日
『4.アイコン付き』を追加しました。 - 2019年7月27日
『1-5 サブタイトル付き』を追加しました。
前回の記事で基本的なCSSを使って囲み枠を作る方法を紹介しました。
今回はちょっとだけおしゃれな囲み枠を作ってみたのでご紹介します。
できるだけどこをいじったらいいかを解説はするようにします。
シンプル(タイトル付き)
<div class="box1-1">
<span class="box-title1-1">タイトル付き</span>ここに内容</div>
/*タイトル付きボックス*/
.box1-1 {
margin:20px auto; /*ボックス外側の余白*/
padding:1em; /*ボックス内側の余白*/
position:relative;
border:2px solid gray; /*枠線の太さ 線種 色*/
}
/*タイトル部分*/
.box-title1-1 {
position:absolute;
top:-17px; /*上からのタイトルの位置*/
left:10px; /*左からのタイトルの位置*/
padding:0 7px; /*内側の余白*/
background:#fff; /*背景色*/
font-size:18px; /*文字サイズ*/
font-weight:bold; /*太字*/
}
- タイトルの位置がズレたりした場合は、12行目のtop、13行目leftの値を変えてください。
- タイトルの背景色を帰る場合は15行目の色を変更してください。合わせて文字色(color)no指定もしてください。
タイトルの位置を変える
上のCSSの12行目と13行目のtopやleftを変えるとタイトルの位置を変えることができます。
上のCSS 13行目の「left」を「right」に変えるとタイトルが右上になります。
タイトルの背景色を変える
15行目のbackgroundの色を変更すれば背景色を変更することができます。
普段は白背景を使っていても…ときと場合によっては「色を変えたい」と思うこともあります。
ううん。その必要はないよ。
CSSはHTMLに近い方が適用されるからHTMLに変えたい箇所をstyle=""で指定すれば変えられるよ!
<span class="box-title1″ style=""background:royalblue; color:white; “>タイトル付き</span>ここに内容</div>
HTMLnの黄色い部分のようにCSSを入れてタイトルと枠線の色を変えています。
このようにすればときどき色を変えたいときに色を変えることができます。
私はタイトル付きの囲み枠のタイトル部分のCSSは背景色と文字色の指定をしていません。
タイトルの背景色と文字色を別でCSSを設定しています。
例えば上のような場合、
.ao-label {
background:royalbelue;
color:white;
font-weight:bold;
}
こんな感じで青色以外の色も作っています。
そしてこれをタイトル部分のclass="box-title ao-label" と追加してタイトルの色を変えています。
※複数のクラスを指定する場合は半角スペースで区切って指定してください。
このように別に作ったものはボックスのタイトルだけではなく こんな風に文章など他のところでも使えます。
(ちなみにたびたび出てくるのHTML CSSでもこれらを使っていますw)
<div class="box1-2">
<span class="box-title1-2">タイトル付き</span>ここに内容</div>
/*タイトル付きボックス(角丸)*/
.box1-2 {
margin:20px auto; /+*ボックス外側の余白*/
padding:1em; /*ボックス内側の余白*/
position:relative;
border:2px solid gray; /*枠線の太さ 線種*/
border-radius:0.5em; /*角丸*/
}
/*タイトル部分*/
.box-title1-2 {
position:absolute;
top:-17px; /*上からのタイトルの位置*/
left:10px; /*左からのタイトルの位置*/
padding:0 7px; /*内側の余白*/
background:#fff; /*背景色*/
font-size:18px; /*文字サイズ*/
font-weight:bold; /*太字*/
}
<div class="box1-3">
<span class="box-title1-3">タイトル</span>ここに内容</div>
/*ボックスの上にタイトル*/
.box1-3 {
margin:3em auto; /*ボックス外側の余白*/
padding:1em; /*ボックス内側の余白*/
position:relative;
border:2px solid #ff8c00; /*枠線の太さ 線種 色*/
}
/*タイトル部分*/
.box-title1-3 {
position:absolute;
top:-32px; /*上からのタイトルの位置*/
left:-2px; /*左からのタイトルの位置*/
padding:0 7px; /*内側の余白*/
background:#ff8c00 ; /*背景色*/
color:#fff; /*文字色*/
font-size:18px; /*文字サイズ*/
font-weight:bold; /*太字*/
}
<div class="box1-4">
<span class="box-title1-4">タイトル</span>ここに内容</div>
/*ボックスの中(左上)にタイトル*/
.box1-4 {
margin:20px auto;
padding:2.7em 1em 1em;
max-width:500px;
position:relative;
border:2px solid #ff8c00;
}
/*タイトル部分*/
.box-title1-4 {
position:absolute;
top:0;
left:0;
padding:0 7px;
background:#ff8c00;
color:#fff;
font-size:18px;
font-weight:bold;
}
<div class="box1-4_1">
<span class="box-title1-4_1">タイトル</span>ここに内容</div>
/*ボックスの中(左上)にタイトル*/
.box1-4_1 {
margin:20px auto;
padding:2.7em 1em 1em;
max-width:500px;
position:relative;
border:2px solid #ff8c00;
}
/*タイトル部分*/
.box-title1-4_1 {
position:absolute;
top:0;
left:0;
padding:0 7px;
width:100%;
background:#ff8c00;
color:#fff;
font-size:18px;
font-weight:bold;
text-align:center;
}
サブタイトル付きのボックスです。左上枠線上にサブタイトルを付けて、ボックス内にタイトルをつけました。
<div class="box1-5">
<span class="box-title1-5">タイトル</span>
ここに文章</div>
.box1-5 {
margin:20px auto;
padding:17px 1em 1em;
position:relative;
border:2px solid #ff8c00;
}
/*サブタイトル(固定)*/
.box1-5 :before{
padding:0 8px;
position:absolute;
top:-22px;
left:10px;
font-family: 'Gochi Hand', cursive;
content:"Point";
color:#ff8c00;
font-size:24px;
font-weight:bolder;
background:white;
}
/*タイトル*/
.box-title1-5 {
margin:7px 0 10px;
padding:2px 7px;
color:#ff8c00;
font-size:18px;
font-weight:900;
border-bottom:4px double #ff8c00;
}
※サブタイトル(左上枠線上)は『Point』にしています。変更する場合は15行目の『Point』を変更してください。
また字体はWebフォント(欧文フォント)を使用しています。使わない場合は14行目のfont-familyを削除または他のフォントに変更してください。
※上の『Point』だけで下のタイトル無しにする場合HTMLの2行目、CSSの22行目~30行目を削除してください。
黒板風
「お知らせ」の部分がタイトルになります。
<div class="box-kokuban2-1">
<span class="kokuban2-1">タイトル</span>ここに内容</div>
/*黒板風タイトル付き*/
.box-kokuban2-1 {
margin:20px auto;
padding:4em 1em 1em;
position:relative;
background:#0B614B;
color:#fff;
border:8px ridge chocolate;
}
/*タイトル部分*/
.kokuban2-1 {
position:absolute;
top:1em;
padding:0 7px;
width:90%;
font-size:18px;
font-weight:bold;
color:#fff;
text-align:center;
border-bottom:3px double #fff;
}
<div class="box-kokuban2-2">
<span class="kokuban2-2">タイトル</span>ここに内容</div>
/*黒板風タイトル付き*/
.box-kokuban2-2 {
margin:20px auto;
padding:4em 1em 1em;
position:relative;
background:#0B614B;
color:#fff;
border:8px ridge chocolate;
}
/*タイトル部分*/
.kokuban2-2 {
position:absolute;
top:1em;
left:1em;
padding:0 7px;
font-size:18px;
font-weight:bold;
color:#fff;
border:3px double #fff;
}
※タイトル部分の線(二重線)がいらない場合は21行目の「border:3px double #fff;」を削除してください。
メモ風
メモ風というかノートのように罫線が入った囲み枠です(*^^*)
ちゃんと文章(行)に合わせて罫線が表示されます
<div class="memo3-1">
<span class="memo-title3-1">MEMO</span>
<div>ここに内容</div></div>
/*メモ風*/
.memo3-1 {
margin:20px auto;
padding:3.2em 1em 1em;
position:relative;
border:2px solid #555;
border-radius:0.5em;
}
/*タイトル部分*/
.memo-title3-1 {
position:absolute;
top:0.5em;
left:1em;
padding:0 7px;
font-size:20px;
font-weight:800;
color:#a61919;
}
/*テキスト部分*/
.memo3-1 div {
margin:0;
padding:0 3px;
width:100%;
background-image:url(罫線画像のURL);
line-height:28px;
}
※罫線部分は背景画像(26行目)で罫線に見えるようにしています。
罫線となる画像の作り方は以下の通りです。
- 画像の大きさ:縦 28px×横 5px(高さは行間と同じにしないといけないので自分のブログにあった高さにしてください。)
- 下から1px~2pxあたりにポチポチ点を3px分横に線を描きます。(点線に見えるように2px分は残します)
- 画像を保存します。(背景色を設定している場合は画像全体に背景色と同じ色で塗りつぶすかPNG(透過))で保存してください。
- できた画像をアップロードしてURLを26行目background-imageに記述してください。
※27行目のline-heightは行間です。ここの値は必ず罫線画像の高さと同じにしてください。
<div class="memo3-2">
<span class="memo-title3-2">MEMO</span>
<div>ここに内容</div></div>
/*メモ風囲み枠*/
.memo3-2 {
margin:20px auto;
padding:3.2em 1em 1em;
position:relative;
border-style:solid;
border-width:1px 1px 7px 1px;
border-color:#ff8c00;
}
/*タイトル部分*/
.memo-title3-2 {
position:absolute;
top:0;
left:0;
padding:0 7px;
width:100%;
background:#ff8c00;
font-size:20px;
font-weight:800;
color:#fff;
}
/*テキスト部分*/
.memo3-2 div {
margin:0;
padding:0 3px;
width:100%;
background-image:url(keisen.jpg);
line-height:28px;
}
アイコン付き
左側にアイコンが付いた囲み枠です。
お知らせや注意事項などに使えそうな囲み枠です。
<div class="box-info">
<p>ここに内容</p></div>
/*アイコン付き囲み枠*/
.box-info{
margin:20px auto;
position: relative;
background: #fff;
padding: 1em 0.5em;
border-width: 2px 2px 2px 50px; /*枠線の太さ(上 右 下 左)
border-style:solid; /*枠線のスタイル*/
border-color:#ff0000; /*枠線の色*/
}
.box-info:before {
font-family: "Font Awesome 5 Free";
content: "f071"; /*アイコンのコード*/
font-weight: 900;
position: absolute;
padding:0;
color: white; /*アイコンの色*/
left: -1.4em;; /*アイコンの位置(左)*/
top: 50%;
font-size:30px; /*アイコンの大きさ*/
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
}
.box-info p{
margin:0;
}
最後に
今回はタイトル付きの囲み枠を作ってみました。
タイトルがついただけでもちょっとオシャレになりませんか?
上記のサンプルは私のブログに合わせて作っています。
みなさんのサイトでは位置がズレたりしてしまうかもしれません。
もしコピーして使う場合はご自分のサイトに合わせて調整をしてください。
ディスカッション
コメント一覧
こんにちは。
黒板風なのはおしゃれですね。
今後ともよろしくお願いします。
> トムマンクスさん
こんばんは。
コメントありがとうございます。
黒板風は文字もはっきり見えますし、記事の中で使うと映えますよね!
私も機会があれば使ってみようと思っていますw
勉強になる内容ばかりでした。
参考にさせていただきます!
> yukoさん
こんばんは。
コメントありがとうございます。
まだまだ未熟者なのでいつも「これでいいのか?」と思いながら備忘録も兼ねて書いています。
ほんの少しでもお役に立てると嬉しいです(*^^*)