ラベル CSS/HTML の投稿を表示しています。 すべての投稿を表示
ラベル CSS/HTML の投稿を表示しています。 すべての投稿を表示

CSSだけで要素をふわっと表示させるようなアニメーションを実装する方法



アニメーションはScriptだと簡単に実装できるのですが、CSSの方が動作が軽く、一般的にはCSSで実装した方が良いらしいので方法を解説。
方法は簡単で@keyframesを記述するだけです。

1.@keyframes

まずは、@keyframesでアニメーション効果を設定しましょう。

CSS
@keyframes test {
    from {
        opacity:0;
    }
    to {
        opacity:1;
    }
}

要素を透過させるopacityの0から始まり、要素を透過なく表示させる1に向かって進むといった内容なので、要素がふわっと表示されます。
testの部分は任意の文字を記述してください。

2.アニメーション効果を与えたい要素に@keyframesを付与


アニメーション効果を与えたい要素に@keyframesの任意のネーム(上記の場合はtest)を付与してあげれば完成です。

完成版CSS
@keyframes test {
    from {
        opacity:0;
    }
    to {
        opacity:1;
    }
}

.anime-test{
animation-name: test;
    animation-duration: 1s;
}

animation-durationは遅延時間設の定なので、要素が完全に表示されるまでの秒数です。

最後に、記事トップの「こんな風なアニメーション」のサンプルは以下のようになっています。
@keyframes test-banana {
    from {
        opacity:0;
    }
    to {
        opacity:1;
    }
}

.sample-banana{
animation-name: test-banana;
    animation-duration: 5s;
background-color:#42dee1;
height:200px;
width:100%;
}

【Blogger】コメント欄をカスタマイズ!コメントを新しい順番で表示させ、「コメントを投稿」の表示位置を移動してみた


別ブログでコメントの表示方法などに不満を感じてアレンジしたため記載。
「コメントの場所」は「埋め込み」で、他の形式の場合機能するかは不明です。
また、jqueryを使用するので、導入がまだの方は以下のコードを<head> ~ </head>の中に記述してください。

jquery
<script src='https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js'/>


やったことを簡単にまとめると、コメントはlist形式で出力されているため、flexの下から順に表示させるcolumn-reverseを用いてコメントを新しい順番で表示させる。
また、「コメントを投稿」の表示位置をコメント部分の一番上に移動させました。

Bloggerのコメントを新しい順番で表示させる

Bloggerの場合、コメント部分のソースコードは以下のようになっています。
<ol id="top-ra">
<li class="comment" id="xxxxx"></li>
<li class="comment" id="xxxxx"></li>
<li class="comment" id="xxxxx"></li>
</ol>


CSSの方でこのtop-raにflexのcolumn-reverseを付与すれば、下から順に表示されるのでコメントが新しい順番で表示されるようになります。

こんな感じ
#top-ra { display: -webkit-flex;
display: flex;
-webkit-flex-direction: column-reverse !important;
flex-direction: column-reverse !important;}


デフォルトの古い順番で表示させる場合はこちら
#top-ra { display: -webkit-flex;
display: flex;
-webkit-flex-direction: column !important;
flex-direction: column !important;}


Bloggerの「コメントを投稿」の表示位置を移動する

「コメントを投稿」部分はid="top-ce"が付与されているので、これをjqueryを用いて移動させます。
自分はコメントの始まるid="top-ra"の前に移動させたので、こういったコードを追加しました。
<script>
$(function() {
$(&quot;#top-ce&quot;).insertBefore(&quot;#top-ra&quot;);
});
</script>
insertBeforeでid="top-ra"の前に移動させています。

以上です。
あまり使用頻度は高くないかもしれませんが、参考になる方がいれば嬉しいです。

【Blogger】ブログ検索・ラベル検索の結果に合わせてメッセージの表示を分岐させる方法

Bloggerでは検索をすると、自動でメッセージが表示されますが、それをアレンジして該当記事数が0だった場合と、1以上あった場合で、メッセージ分岐させてみたいと思います。

以下のコードを<data:navMessage/>に上書きすれば実現できます。

HTML
<b:if cond='data:numPosts == 0'>
    <b:if cond='data:blog.searchLabel'>
        <b expr:data-search="data:blog.searchLabel"/> の検索結果は0件です。 <!-- ラベル検索の表示結果が0件だった場合 -->
    <b:elseif cond='data:blog.searchQuery'/>
        <b expr:data-search="data:blog.searchQuery"/> の検索結果は0件です。 <!-- ブログ検索の表示結果が0件だった場合 -->
   
    </b:if>
<b:else/>
    <b:if cond='data:blog.searchLabel'>
        <b expr:data-search="data:blog.searchLabel"/> の検索結果です。 <!-- ラベル検索に該当記事があった場合 -->
    <b:elseif cond='data:blog.searchQuery'/>
        <b expr:data-search="data:blog.searchQuery"/> の検索結果です。 <!-- ブログ検索に該当記事があった場合 -->
    </b:if>
</b:if>
また、以下のフォーラムによると、<data:blog.searchLabel/>と<data:blog.searchQuery/>は安全ではないコードのため、以下のコードをCSSに書き加えた方が安全のようです。
b[data-search]::after {
    content: attr(data-search);
}

参考URL:https://stackoverflow.com/questions/21072954/blogspot-datanavmessage


簡単に説明をすると、<b:if cond='data:numPosts == 0'>が記事数が0だった場合のタグで、<b:else/>でそうでなかった場合の表示(<b:if cond='data:numPosts != 0'>)を分岐しています。

以上です。
「の検索結果は0件です。」などのメッセージはカスタマイズして使用してみてください。

【JavaScript】簡単にクリックで要素の表示・非表示を切り替える方法hide、show、toggle

初心者でもコピペだけで導入できるJavaScript第二弾です。

第一弾はこちら
【JavaScript】初心者でも簡単!CSSよりも便利に使えるJavaScriptコード 2選!
https://bloggercustoman.blogspot.com/2019/08/cssjavascript-2.html

jQueryを導入していない方はheader要素内に以下のコードを記述しておいて下さい。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>


hide、show、toggleを使い分けてクリックで要素の表示・非表示を切り替えよう

ベースとなるのは以下のコードです。
<script>
  
$('#ID名').click(function() {
       
/*ここに動作を記述*/

    })
    
</script>
ここから#ID名がクリックされた場合の動作を記述していくことになります。
  • hide = 要素を非表示にする
  • show = 要素を表示する
  • toggle = 要素の表示・非表示を交互に繰り返す

hide、show

hide

それでは、サンプルです。

HTML
<span id="bana_t1">バナナ</span>
<span id="bana_t2">リンゴ</span>
JavaScript
<script>
  
$('#bana_t1').click(function() {
$('#bana_t2').hide();
 })
    
</script>
ID属性bana_t1の「バナナ」をクリックすると、ID属性bana_t2の「リンゴ」が非表示になるコードです。

サンプル
バナナ リンゴ


「バナナ」をクリックすると「リンゴ」が消えましたよね?
CSSのdisplay:none;と同様の効果があります。
このままでは消えたままで出てきません。
showで出してみましょう。

show

showで要素を表示させるには、その要素を隠しておく必要があるので、予め表示したい要素をdisplay:none;で隠しておきましょう。

HTML
<span id="bana_t3">バナナ</span>
<span id="bana_t4" style="display:none;">リンゴ</span>
JavaScript
<script>
  
$('#bana_t3').click(function() {
$('#bana_t4').show();
 })
    
</script>
hideshowに変わっただけです。
ID属性bana_t3の「バナナ」をクリックすると、display:none;を指定したID属性bana_t4の「リンゴ」が表示されるコード。

サンプル
バナナ


どうでしょう。
今度は「バナナ」をクリックすると「リンゴ」が出てきましたよね。
しかし、今度は出てきたままで消えません。
そこで、1クリックごとに交互に表示・非表示を繰り返すtoggleを使用してみましょう。

toggle

toggleは、1クリック目が非表示であるのなら、2回目は以降は表示・非表示を繰り返します。
予めdisplay:none;で隠しておいたものであるなら、1クリック目が表示となるので、2回目は以降は非表示・表示を繰り返すことになります。

HTML
<span id="bana_t5">バナナ</span>
<span id="bana_t6">リンゴ</span>
<span id="bana_t7" style="display:none;">メロン</span>
JavaScript
<script>
  
$('#bana_t5').click(function() {
$('#bana_t6').toggle();
$('#bana_t7').toggle();
 })
    
</script>

サンプル
バナナ リンゴ


IDしか記述していない「リンゴ」は最初から表示され、1クリック目で非表示となった一方で、display:none;を記述してある「メロン」は逆に1クリック目で表示されていますよね。
toggleは何度クリックしても交互に動作を繰り返すのが特徴です。


おまけ

全てに共通することですが、.hide();の()の中に要素を表示・非表示するまでのミリ秒数(1000 = 1秒)を指定することが可能で、ちょっとしたアニメーション効果を演出できます。

HTML
<div id="bana_t11" style="padding:20px;background-color:#ff8080;">バナナ</div>
<div id="bana_t12" style="padding:20px;background-color:#226b80;">リンゴ</div>
JavaScript
<script>
  
$('#bana_t11').click(function() {
$('#bana_t12').toggle(1000);
 })
    
</script>

サンプル
バナナ
リンゴ


toggleとしか記述していないため、デフォルトの横方向のアニメーションが適用されていますが、toggleには他にもメソッドが存在します。
  • slideToggle = 縦方向のアニメーション
  • fadeToggle = フェードイン・アウトのようなアニメーション
toggleの箇所を上記のどちらかに書き換えるだけ。Tを大文字にすることが必須!

サンプル(slideToggle
バナナ
リンゴ

サンプル(fadeToggle
バナナ
リンゴ


toggleClassというメソッドもあり、新たにclass属性を追加、削除が可能です。


また、今回はIDを指定しましたが、IDではなく、class名を指定したいときは、#を.に書き換えてください。

<script>
  
$('.bana_t5').click(function() {
$('.bana_t6').toggle();
$('.bana_t7').toggle();
 })
    
</script>


第二弾は以上です。
簡単に応用できるJavaScriptなので、様々な形で使用してみてください。

【CSS】CSSだけで要素を横並びにし、横スクロールを実装してスマホに対応させる方法!

デスクトップよりもスマホからのアクセスが増す一方の現代。
スマホでの観覧を考えると、多くの情報を表示したくてもユーザビリティへの悪影響を考えて情報を減らすこともありますよね。
そんなときに便利なのがスクロール機能で、表示領域を制限させたうえで必要な情報をスクロールで表示されることができます。
縦スクロールは簡単ですし、スマホの場合は誤操作を招く場合があるので、今回は横スクロールを実装する方法をご紹介します。



キーコードはFlexbox

FlexboxはCSS3から使用できるようになったコードで、簡単に言うとdisplay: flex; と記述するだけで要素が横並びになります。

HTML
<div class="flex_1">
<div class="f_1">テスト1</div>
<div class="f_1">テスト1</div>
<div class="f_1">テスト1</div>
<div class="f_1">テスト1</div>
</div>
CSS
<style>
.flex_1 {display:flex;}
.f_1 {padding:30px;color:#fff;background-color:#1fab89;margin:5px;}
</style>
サンプル
テスト1
テスト1
テスト1
テスト1


HTMLの方を変更して子要素をもう少し増やしてみましょう。
<div class="flex_1">
<div class="f_1">テスト1</div>
<div class="f_1">テスト1</div>
<div class="f_1">テスト1</div>
<div class="f_1">テスト1</div>
<div class="f_1">テスト1</div>
<div class="f_1">テスト1</div>
<div class="f_1">テスト1</div>
<div class="f_1">テスト1</div>
<div class="f_1">テスト1</div>
<div class="f_1">テスト1</div>
<div class="f_1">テスト1</div>
<div class="f_1">テスト1</div>
<div class="f_1">テスト1</div>
<div class="f_1">テスト1</div>
<div class="f_1">テスト1</div>
<div class="f_1">テスト1</div>
</div>
サンプル
テスト1
テスト1
テスト1
テスト1
テスト1
テスト1
テスト1
テスト1
テスト1
テスト1
テスト1
テスト1


デザインが汚くなってしまいましたが、折り返さないで横並びが永遠と続いていますよね。
Flexboxは折り返さないことが初期値となっていて、これが同じ横並びの作用を持つfloatやdisplay: inline-block;と違う所。

flex-wrap:を記述すれば、折り返すこともできますが、横スクロールは折り返さないことで実現するため、簡単な紹介だけしておきます。

flex-wrap:
  • nowrap = 折り返さない(何も記述しなければnowrapが初期値)
  • wrap = 折り返す
  • wrap-reverse = 逆方向へ折り返す



Overflow-xで横スクロールを実装してみよう

Flexboxで中身は完成しました。
では、表示領域を制限して横スクロールを実装してみましょう。

これも簡単です。
表示領域からはみ出した場合の処理を指定するoverflowを記述するだけです。
  • visible = ボックスからはみ出て表示(初期値)
  • hidden = はみ出た部分は隠す
  • scroll = スクロールで表示
  • auto = 一般的にはスクロールが適用

もうわかりましたね。
overflow:scroll;で横スクロールの実装は完成です。
overflowには水平方向の表示方法を指定するoverflow-xと、垂直方向のoverflow-yがありますが、横スクロールなのでoverflow-xを使用しましょう。

CSS
<style>
.flex_1 {display:flex;overflow-x: scroll;width:80%;}
.f_1 {padding:30px;color:#fff;background-color:#1fab89;margin:5px;}
</style>
サンプル(HTMLは上記と同様)
テスト1
テスト1
テスト1
テスト1
テスト1
テスト1
テスト1
テスト1
テスト1
テスト1
テスト1
テスト1


今度は子要素の方法をアレンジしてみましょう。
コンテンツ内に表示する一つの子要素のサイズをflexで指定してみましょう。

CSS
<style>
.flex_1 {display:flex;overflow-x: scroll;width:80%;}
.f_1 {padding:30px;color:#fff;background-color:#1fab89;margin:5px;flex:0 0 30%;-webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;}
</style>
・flex:0 0 30%;は左から順番にflex-grow、flex-shrink、flex-basisの3つの値を指定していることになります。
今回はwithのように横幅を指定するflex-basisの値を指定しています。


サンプル(HTMLは上記と同様)
テスト1
テスト1
テスト1
テスト1
テスト1
テスト1
テスト1
テスト1
テスト1
テスト1
テスト1
テスト1
テスト1



-webkit-overflow-scrolling: touch;overflow-scrolling: touch;スマホでのスクロールを滑らかにするプロパティですので、合わせて記述しておきましょう。

以上です。
横スクロールはFlexboxの登場によって簡単に実装できるようになりました。

Flexboxには他にも様々なプロパティがあるので、機会があったら、またご紹介したいと思います。
では、長文にお付き合い下さって、ありがとうございました。

【CSS】CSSで文字を蛍光ペンのようなマーカーを付けて綺麗に装飾する方法!

CSSも年々進化し、画像等を使用しなくてもCSSだけで幅広く文字を装飾できるようになりました。
読みやすい文章にすることは、サイトにとって必須ですよね。
CSSで文字を装飾して、多くの読者を獲得しましょう!

蛍光ペンのようなマーカー

まずはサンプルをご確認下さい。
サンプル1サンプル1サンプル1
<span style="background: linear-gradient(transparent 20%, #64e291 20%);">サンプル1サンプル1サンプル1</span>

サンプル2サンプル2サンプル2
<span style="background: linear-gradient(transparent 40%, #e6e56c 40%);">サンプル2サンプル2サンプル2</span>

サンプル3サンプル3サンプル3
<span style="background: linear-gradient(transparent 70%, #b6ffea 70%);">サンプル3サンプル3サンプル3</span>

サンプル4サンプル4サンプル4
<span style="background: linear-gradient(transparent 100%, #ffb3b3 100%);">サンプル4サンプル4サンプル4</span>


transparentが背景を透過することで実現しているため、%の大きさが透過度となっています。
つまり、100%にすると透過度が100%となるため、サンプル4のようにマーカーが表示されなくなります。数字が大きいほど線が細くなるのが特徴です。
カラーコードの方の%は高さとなるため、transparentの方の%と同値にすることが基本となっています。

また、mark要素でも代用可能です。
<mark>MARKMARKMARK</mark>
MARKMARKMARK

【JavaScript】初心者でも簡単!CSSよりも便利に使えるJavaScriptコード 2選!

サイトのデザインはHTML、CSSをメインにする方が多いと思います。
JavaScriptは見慣れないコードが並ぶため、難しいように思えますが、CSSよりも便利に使えて、痒いところに手が届く”サイトに動き”を与えるものです。
もちろん、複雑な動作をさせるためには複雑なコードを書く必要がありますが、今回は初心者でもコピペだけで実装できる簡単なJavaScriptコードをご紹介します。

基本編 その1


本文に行く前に、CSSとJavaScriptの違いを確認しておきましょう。

CSS

  • class、id属性を与えれば、一箇所書き換えるだけで、文字、背景、高さなど、様々なデザインを装飾できる。
  • JavaScriptよりも処理速度が早い。

JavaScript

  • スクロールしたときなど条件付きでサイトに動作を与えられる。
  • class、id属性を与えたHTML、リンクを丸ごと書き換えるなど、CSSよりも幅広く、動的に書き換えられる。
  • JavaScriptを切っている環境では動作しない。


基本編 その2

jQuery

jQueryはJavaScriptのライブラリで、初心者でも簡単にコードを書いて、動的に動かせます。
実装の条件は、本体をダンロードする方法もありますが、CDNを経由する方法はより簡単で、HTMLのheader要素内に以下のコードを書くだけ。
今後、使用するので導入しておきましょう。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
※最新版はjQuery公式サイトでご確認ください。

JavaScriptの書き方

JavaScriptの記述場所はheader要素内、body要素内など特に指定されていませんが(個人的には</body>タグの直前を推薦します)、<script> ~ </script>で囲うことは必須です。
<script> 

ここに記述

</script>


また、本記事ではid属性を取得するgetElementById("id名")を使用しますが、class属性を取得したい場合はgetElementById("id名")の部分をgetElementsByClassName("クラス名")querySelector(".クラス名")に書き換えて実装してください。
※querySelectorの場合はクラス名の前に.を忘れずに!

(サンプル)
var banana = document.getElementById("id名");
var banana = document.getElementsByClassName("クラス名");
var banana = document.querySelector(".クラス名");


varでbananaという変数名を宣言していますが、今回はあくまでもコピペで実装できる初心者向けの記事なので、専門的な知識は他ブログにお任せして、「データに固有の名前を与えている」程度と思っておいて下さい。
簡単に言うと、要素・属性を取得して、そこに動きを与えるといったことが基本的な流れです。

おまたせしました。
以下は本文です!


1.簡単に要素の中身を入れ替えてみよう!

一度、書いたHTMLを書き換えたくなるときってありますよね。
JavaScriptのinnerHTMLで書き換えてみましょう。
<p id="banana_1">バナナのブログ</p>
上記のid属性banana_1の中身「バナナのブログ」をJavaScriptで書き換えるとこうなります。
<script>
var banana = document.getElementById("banana_1");
banana.innerHTML = "<span style='color:#ff502f;font-size:20px;'>リニューアル</span>";
</script>
サンプル
バナナのブログ

↓↓↓↓

バナナのブログ



innerHTMLは要素の中身を壊して新たな要素を加えます。
CSSと違うところは、HTMLがそのまま反映されることで、CSSよりも楽に要素の中身を入れ替えられますし、様々な応用が可能ですね。

他にも、innerText、textContentでもほぼ同様の動作が可能ですが、使用できないブラウザなどがあるのでinnerHTMLがオススメです。

2.CSSの疑似要素before、afterをJavaScriptで再現してみよう!


※jQueryを使います。
導入がまだの方は、上記の基本編 その2を参照。

before、after、prepend、append

基本的なコードは以下の通り。
<script>
$('#指定したい要素のid名').($('#追加したい要素を持つid名'));
</script>
HTMLを代入する場合の表記
<script>
$('#指定したい要素のid名').('ここに追加したいHTML');
</script>

このの部分にbefore、after、prepend、appendを記述すると、それぞれのメソッドで動作します。
  • before = 指定の要素の前に新要素を追加
  • after = 指定の要素の後に新要素を追加
  • prepend = 指定の要素の子要素の前に新要素を追加
  • append = 指定の要素の子要素の後に新要素を追加


サンプル

before

HTML
<div id="ban_1">バナナです</div>


<div id="ban_22">わたしは、</div>
JavaScript
<script>
$('#ban_1').before($('#ban_22'));
</script>

結果

バナナです
わたしは、


after

HTML
<div id="ban_a1">バナナですか?</div>


<div id="ban_a22">あなたは、</div>
JavaScript
<script>
$('#ban_a22').after($('#ban_a1'));
</script>

結果

バナナですか?
あなたは、


テキストを代入する形なら、CSSの疑似要素before、afterと同様に使えますね。
JavaScriptなら簡単に属性に別の属性を追加できるので、デザインの幅が広がるのではないでしょうか。
※prepend、appendのサンプルは省略します。

replaceWith、replaceAll、appendTo、prependTo、insertAfter、insertBefore

replaceWith、replaceAllには細かい違いはありますが、基本的にはinnerHTMLと同様に要素を置き換えるメソッドです。

  • appendTo = 指定の要素の子要素の最後に別の要素を移動
  • prependTo = 指定の要素の子要素の先頭に別の要素を移動
  • insertAfter = 指定の要素の最後に別の要素を移動
  • insertBefore = 指定の要素の最初に別の要素を移動


jQueryなので、コードの書き方は上記のbefore、after、prepend、appendと同様です。
色々試してみると、CSSでは思いつかなかったアイディアが浮かんでサイトを一歩上のレベルに引き上げることができると思います。
JavaScriptには他にもまだ便利なコードはありますが、ここまでで長い記事になってしまったので、またの機会にご紹介します。
長文にお付き合い下さって、ありがとうございました。

【CSS】CSSのみで擬似クラス内の文頭、文末を自由に装飾できる擬似要素「before」、「after」

ブログなどを作成していると、「文頭にアイコンをつけたい!」、「文頭や文末に文字を付け加えたい!」と思うことはありますよね。

記事が少なければ修正は楽ですが、記事が増えてしまうと、1記事づつ修正していくのはかなりの重労働。

しかし、その変更したい箇所を擬似クラスでかこっていれば、CSSを1つ書くだけで簡単に付け加えることができるんです。

文頭は「before」、文末には「after」を使用します。

詳しい解説は以下にて!

擬似クラス内の文頭、文末に文章を追加してみよう

<div class="testab">テスト記事</div>
上記のHTMLにCSSで文頭、文末に文章を追加してみます。

■文頭は「before」
.testab:before{content: "テスト文頭" ;}
■文末には「after」
.testab:after{content: "テスト文末" ;}
サンプル
テスト記事



どうですか?文章が追加されてますよね?
marginなどの細かい装飾も可能です。

■サンプル1
.testab:before {content: "テスト文頭" ;
color:#3FC1C9;
font-size:20px;
margin-right: 10px ;
}
テスト記事


■サンプル2
.testab:after {content: "テスト文末" ;
font-size:30px;
 border: 1px solid #ccc ;
      margin-left: 10px ;
      padding: 10px ;
      background: #FFBC65 ;
}
テスト記事


注意点: 文章として認識されないため、SEOには不向きです。

画像を追加してみよう

■サンプル1
.testab:after {
      content : url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlpv08_ixSOJJkt1KAxEpxivXzgSUfo0fDlXfucLh9zKDlU38zBHjUa31Cin3EgJbSug_ELWAEPy7mHQLHH9osIN8wUoZnbFuCjCtNxhTV8R-kqEyHWOjbgYoZbkmLsucnGR4YjxtOwww/s1600/1481213541_smile.png) ;  /* 画像URL */
     margin-left:10px; /* テキストとの間隔 */
}
テスト記事



上記のようにただ画像を挿入するだけなら簡単にできます。
しかし、擬似要素を使用して画像を挿入する場合は、主にアイコンが目的の方が多いと思います。
アイコンの場合はまず、画像を最適のサイズのものを選び、位置を微調整する必要があります。

■サンプル2
.testab:before {
      content : url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqCRiNnUG4n-jMZHADnN5MzzMOc4_N3_3Dy63-2BE28Fz0NRrDrPCQWg00EsC8mKS6w2g-yK5chV3cQ4SXeDwl5l5E0q-qwZYTIdfKadHaJBLa56yAJybf5CZXviH8inUCxYNBwM6YpTQ/s1600/1481214657_list.png) ; /* 画像URL */
position:relative;
top:3px;  /* 上下位置の微調整 */
margin-right : 5px ; /* テキストとの間隔 */

}
テスト記事


■その他のサンプル
アイコンサンプル
アイコンサンプル
アイコンサンプル

注意点: 画像のサイズは変更できないので、デザインを崩さないために最適サイズの画像を選ぶのがポイント!

【CSS】画像いらず!Webフォントを使って「i」タグだけでアイコンを表示する方法

※2016/12/08 記事を修正しました。

アイコンに画像を使用する場合は、画像を探して、アップロードして、さらにタグを記述する必要がありますが、たった少しのタグだけで表示可能という便利な方法もあるんです。
タグは「i」なので、テキスト表示されるため、色やサイズなどのデザインの変更も簡単にできます。

今回はFont Awesomeを使用する方法をご紹介します。

1.Font Awesomeのファイルを読み込む

Webフォントは、Font Awesomeにあるフォントを使用するので、Font Awesomeのサーバーを読み込むように指示してあげましょう。

以下のlink要素を<head>~</head>内に記述して下さい。
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" />

Font Awesome
http://fontawesome.io/

2.「i」タグを記述してWebフォントを表示する

使用できるWebフォントは以下のFont Awesomeにあるアイコンです。
http://fontawesome.io/icons/

使用したいアイコンが見つかったらアイコンをクリックしてみましょう。そこで表示された「i」タグを記述するだけでWebフォントは表示されます。

■例
<i class="fa fa-home" aria-hidden="true"></i> ホーム
<i class="fa fa-play" aria-hidden="true"></i> 再生アイコン
このタグを記述すると、こう表示される



ホーム
再生アイコン

応用編

CSSでアイコンのサイズ・色をカスタマイズしてみましょう。通常のCSSと同様にclassを指定するか、styleを記述するだけなので簡単です。
<p style="font-size:55px;color:#71C9CE;"><i class="fa fa-home" aria-hidden="true"></i> ホーム</p>
<p style="font-size:25px;color:#9E579D;transform: rotate(8deg);"><i class="fa fa-play" aria-hidden="true"></i> 再生アイコン</p>
このタグを記述すると、こう表示される



ホーム


再生アイコン



■transform = 要素の角度を変える
  • rotate() = 回転
  • rotateX() = Xを軸として時計回りに回転
  • rotateY() = yを軸として時計回りに回転
  • rotateZ() = zを軸として時計回りに回転
  • rotate3d() = (x軸,y軸,z軸,数値)
()内に数値を記述。

※Font Awesomeのzipをダウンロードし、自身のサーバーにアップロードすれば、WebフォントをFont Awesomeの外部サーバーから読み込む必要はなくなりますが、今回は説明を省略します。

【Blogger】特定の位置にページの先頭(トップ)へ戻るボタンを常駐表示する方法

当ブログでも右下に設置しているのですが、スクロールダウンしていくと、いつでもページの先頭へ戻ることが可能だと便利です。


以下のタグを、レイアウト→ガジェットを追加→「HTML/JavaScript」内か、
</body>
より前に追加するだけで可能です。


<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" >
/***********************************************
* Scroll To Top Control script- (c) Dynamic Drive DHTML code library (www.dynamicdrive.com)
* Please keep this notice intact
* Visit Project Page at http://www.dynamicdrive.com for full source code
***********************************************/
var scrolltotop={ 
    //startline: Integer. Number of pixels from top of doc scrollbar is scrolled before showing control 
    //scrollto: Keyword (Integer, or "Scroll_to_Element_ID"). How far to scroll document up when control is clicked on (0=top). 
    setting: {startline:200, scrollto: 0, scrollduration:500, fadeduration:[500, 100]},
    controlHTML: '<img src="画像URL" />', //HTML for control, which is auto wrapped in DIV w/ ID="topcontrol" 
   controlattrs: {offsetx:10, offsety:2}, //offset of control relative to right/ bottom of window corner 
    anchorkeyword: '#top', //Enter href value of HTML anchors on the page that should also act as "Scroll Up" links
    state: {isvisible:false, shouldvisible:false},
    scrollup:function(){ 
        if (!this.cssfixedsupport) //if control is positioned using JavaScript 
            this.$control.css({opacity:0}) //hide control immediately after clicking it 
        var dest=isNaN(this.setting.scrollto)? this.setting.scrollto : parseInt(this.setting.scrollto) 
        if (typeof dest=="string" && jQuery('#'+dest).length==1) //check element set by string exists 
            dest=jQuery('#'+dest).offset().top 
        else 
            dest=0 
        this.$body.animate({scrollTop: dest}, this.setting.scrollduration); 
    },
    keepfixed:function(){ 
        var $window=jQuery(window) 
        var controlx=$window.scrollLeft() + $window.width() - this.$control.width() - this.controlattrs.offsetx 
        var controly=$window.scrollTop() + $window.height() - this.$control.height() - this.controlattrs.offsety 
        this.$control.css({left:controlx+'px', top:controly+'px'}) 
    },
    togglecontrol:function(){ 
        var scrolltop=jQuery(window).scrollTop() 
        if (!this.cssfixedsupport) 
            this.keepfixed() 
        this.state.shouldvisible=(scrolltop>=this.setting.startline)? true : false 
        if (this.state.shouldvisible && !this.state.isvisible){ 
            this.$control.stop().animate({opacity:1}, this.setting.fadeduration[0]) 
            this.state.isvisible=true 
        } 
        else if (this.state.shouldvisible==false && this.state.isvisible){ 
            this.$control.stop().animate({opacity:0}, this.setting.fadeduration[1]) 
            this.state.isvisible=false 
        } 
    }, 
    
    init:function(){ 
        jQuery(document).ready(function($){ 
            var mainobj=scrolltotop 
            var iebrws=document.all 
            mainobj.cssfixedsupport=!iebrws || iebrws && document.compatMode=="CSS1Compat" && window.XMLHttpRequest //not IE or IE7+ browsers in standards mode 
            mainobj.$body=(window.opera)? (document.compatMode=="CSS1Compat"? $('html') : $('body')) : $('html,body') 
            mainobj.$control=$('<div id="topcontrol">'+mainobj.controlHTML+'</div>') 
                .css({position:mainobj.cssfixedsupport? 'fixed' : 'absolute', bottom:mainobj.controlattrs.offsety, right:mainobj.controlattrs.offsetx, opacity:0, cursor:'pointer'}) 
               .attr({title:'このページの先頭へ戻る'}) 
                .click(function(){mainobj.scrollup(); return false}) 
                .appendTo('body') 
            if (document.all && !window.XMLHttpRequest && mainobj.$control.text()!='') //loose check for IE6 and below, plus whether control contains any text 
                mainobj.$control.css({width:mainobj.$control.width()}) //IE6- seems to require an explicit width on a DIV containing text 
            mainobj.togglecontrol() 
            $('a[href="' + mainobj.anchorkeyword +'"]').click(function(){ 
                mainobj.scrollup() 
                return false 
            }) 
            $(window).bind('scroll resize', function(e){ 
                mainobj.togglecontrol() 
            }) 
        }) 
    } 
}
scrolltotop.init()
</script>

以下カスタマイズ用に値の説明
startline : スクロールしてからボタンが出現するまでの時間
scrollto : 戻る位置
scrollduration : 戻るときにスクロールするスピード
fadeduration : [フェードインする時間, フェードアウトする時間]
controlHTML : ボタンの画像URL
ページの先頭へ戻るボタンのアイコンダウンロードサイト
http://www.scrolltotop.com/

controlattrs : ボタンの位置{offsetx:右からの距離, offsety:下からの距離}
.attr({title:'このページの先頭へ戻る'}) : ボタンにカーソルが乗った場合に表示される文字




もっと簡単でいいという方は、同ページ内へのリンクタグ
<a href="#"></a>
を利用して下さい。



HTML
<div id="testss2">当ブログでも右下に設置しているのですが、スクロールダウンしていくと、いつでもページの先頭へ戻ることが可能だと便利です。</div>



本文



<a href="#testss2">テストトップへ戻る</a>
こうなる



テストトップへ戻る




参考サイト
http://www.jqueryrain.com/?QZvq0gPa