引用、囲み、箇条書の見栄えを整える
リスト化したり、箇条書だったり、ボックスに囲ったり、こういうのはまだ全く未調整。ここを調整します。
参考にする記事
サルワカ | サルでも分かる図解説明マガジン
コピペで使えるリストデザイン34選:CSSで箇条書きをおしゃれに
dummy
すまてくブログ
コピペするだけ!CSSを活用して箇条書き(リスト)や囲み枠(ボックス)をカスタマイズする方法(はてなブログ)
- すまてくブログ
こんにちは、ヨシタカです! みなさん、ブログ楽しんでますか?
今回は、箇条書き(リスト)や囲み枠(ボックス)についてCSSを活用したカスタマイズにトライしてみましたのでご紹介したいと思います。
【Webアイコン】、【箇条書き(リスト)】、【囲み枠(ボックス)】のトリプル活用で、こんな感じになります。
文章ばかりのブログ記事をどうにかしたい人
箇条書き(リスト)や囲み枠(ボックス)をカスタマイズしてみたい人
CSSを少しさわってみたい人
はじめの作業が少し大変ですが、一度CSSに設定してしまえばあとはラクラクです♪さっそくやってみましょう!
dummy
デフォルトサンプル
まずは、オリジナルの状態。
これらは弄らないです。クラス名を付与して使い分けられるようにします。
<blockquote>引用1</blockquote>
引用1
<ul>
<li>箇条書1</li>
<li>箇条書2</li>
<li>箇条書3</li>
</ul>
- 箇条書1
- 箇条書2
- 箇条書3
<ol>
<li>箇条書1</li>
<li>箇条書2</li>
<li>箇条書3</li>
</ol>
- 箇条書1
- 箇条書2
- 箇条書3
ボックス
タイトル付きのボックス 2種類 と タイトルなしのボックス
<div class="boxblock">
<p>中身の文章</p>
</div>
<div class="boxblock">
<span class="btitleA">ボックスのタイトルA</span>
<p>中身の文章</p>
</div>
<div class="boxblock">
<span class="btitleB">ボックスのタイトルB</span>
<p>中身の文章</p>
</div>
中身の文章
ボックスのタイトルA
中身の文章
ボックスのタイトルB
中身の文章
箇条書 と 番号書き
<ul class="checklistA">
<li>箇条書きにしたい内容1</li>
<li>箇条書きにしたい内容2</li>
<li>箇条書きにしたい内容3</li>
</ul>
<div class="boxblock"><span class="btitleA">checklistA</span>
<ul class="checklistA">
<li>箇条書きにしたい内容1</li>
<li>箇条書きにしたい内容2</li>
<li>箇条書きにしたい内容3</li>
</ul>
</div>
<div class="boxblock"><span class="btitleA">checklistB</span>
<ul class="checklistB">
<li>箇条書きにしたい内容1</li>
<li>箇条書きにしたい内容2</li>
<li>箇条書きにしたい内容3</li>
</ul>
</div>
<ol class="numlist">
<li>箇条書きにしたい内容1</li>
<li>箇条書きにしたい内容2</li>
<li>箇条書きにしたい内容3</li>
</ul>
<div class="boxblock"><span class="btitleB">numlist</span>
<ol class="numlist">
<li>箇条書きにしたい内容1</li>
<li>箇条書きにしたい内容2</li>
<li>箇条書きにしたい内容3</li>
</ul>
</div>
- 箇条書きにしたい内容1
- 箇条書きにしたい内容2
- 箇条書きにしたい内容3
checklistA
- 箇条書きにしたい内容1
- 箇条書きにしたい内容2
- 箇条書きにしたい内容3
checklistB
- 箇条書きにしたい内容1
- 箇条書きにしたい内容2
- 箇条書きにしたい内容3
- 箇条書きにしたい内容1
- 箇条書きにしたい内容2
- 箇条書きにしたい内容3
numlist
- 箇条書きにしたい内容1
- 箇条書きにしたい内容2
- 箇条書きにしたい内容3
CSS
/****************************************
引用、囲み、箇条書
*****************************************/
.boxblock {
position: relative;
margin: 2em 0;
padding: 0.5em 1em;
border: solid 3px #f78733;
}
.boxblock .btitleA {
position: absolute;
display: inline-block;
top: -27px;
left: -3px;
padding: 0 9px;
height: 25px;
line-height: 25px;
vertical-align: middle;
font-size: 16px;
background: #f78733;
color: #ffffff;
font-weight: bold;
border-radius: 5px 5px 0 0;
}
.boxblock .btitleB {
position: absolute;
display: inline-block;
top: -13px;
left: 10px;
padding: 0 9px;
line-height: 1;
font-size: 17px;
background: var(--background-color);
color: #f78733;
font-weight: bold;
}
.boxblock p {
margin: 0;
padding: 0;
}
.widget .post-body .checklistA,
.widget .post-body .checklistB{
line-height: 1.5;
padding: 0.5em 0;
list-style: none;
}
.widget .post-body .checklistA li,
.widget .post-body .checklistB li{
margin-bottom: 10px;
margin-left: 20px;
padding-left: 12px;
font-size: 14px;
}
.checklistA li:before{
content: '';
display: inline-block;
width: 14px;
height: 14px;
background-color:maroon;
-webkit-mask-image: url('data:image/svg+xml;utf-8,<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="chevron-circle-right" class="svg-inline--fa fa-chevron-circle-right fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="green" d="M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm113.9 231L234.4 103.5c-9.4-9.4-24.6-9.4-33.9 0l-17 17c-9.4 9.4-9.4 24.6 0 33.9L285.1 256 183.5 357.6c-9.4 9.4-9.4 24.6 0 33.9l17 17c9.4 9.4 24.6 9.4 33.9 0L369.9 273c9.4-9.4 9.4-24.6 0-34z"></path></svg>');
background-size: contain;
background-repeat: no-repeat;
margin-left: 0em;
margin-right: 0.5em;
}
.checklistB li:before {
content: '';
display: inline-block;
width: 14px;
height: 14px;
background-color:maroon;
-webkit-mask-image: url('data:image/svg+xml;utf-8,<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="check" class="svg-inline--fa fa-check fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z"></path></svg>');
background-size: contain;
background-repeat: no-repeat;
margin-left: 0em;
margin-right: 0.5em;
}
.widget .post-body .numlist{
line-height: 1.5;
padding: 0.5em 0;
list-style: none;
counter-reset:number;
list-style-type: none!important;
padding:0.5em;
}
.widget .post-body .numlist li {
position: relative;
padding-left: 30px;
line-height: 1.5em;
padding: 0.5em 0.5em 0.5em 30px;
}
.numlist li:before {
position: absolute;
counter-increment: number;
content: counter(number);
display: inline-block;
background: maroon;
color: white;
font-family: 'Avenir','Arial Black','Arial',sans-serif;
font-weight: bold;
font-size: 14px;
border-radius: 50%;
left: 0;
width: 18px;
height: 18px;
line-height: 17px;
text-align: center;
top: 50%;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
}
ポイント
疑似要素に使うFontAwesomeから持ってきたアイコンはCSSにSVGで埋め込む。この時にいくつか問題がある。
サイズ変更ができない問題の対応
FontAwesomeと同じように、Contentにいれると、サイズ変更できず、しかもバカでかくて、使えない。
li要素のBackgroundに、設定すると、サイズはそこそこで使える。でも結局、サイズ調整できないのは同じで、微調整できない。そこで、Background-image
に入れるといいんだって記事が、以前書いたこれです。
たのじぃの書き捨てノート
SVGアイコンをCSSの疑似要素に使う
SVGアイコンをCSS疑似要素に使う方法を紹介しています。
dummy
この場合の大きさはWidth/Heightで調整できます。
ここで新たな問題。色調整がめんどくさい。
色調整がめんどくさい問題の対応
色は、SVG 内の fill="" に色を入れればよい。
(おまけ:ここにコードで入れるなら、#でなくて、%23)
だけど、colorで別出しされていないと調整しにくい。そこで、外だしして調整を楽にするため、-webkit-mask-imageにSVG画像を入れ、background-color
で色調整できるようにしておいた
結論
疑似要素 の -webkit-mask-image へ SVG アイコンを埋め込むようにした
コメント
2 件のコメント :
html超初心者の私には、とても分かり易く
為に成ります しかし今からhtmlの記号を丸暗記しても記憶の衰えた私には覚えた傍から忘れそうです
しかし、そこはアイデアで乗り切ろうと応用力を発揮したいですね
コメントありがとうございます。
ブログタイトルどおり、自分の備忘録用Blogになってるんですが、参考にしてもらえると嬉しいです。
コメントを投稿