タグ: css

  • メディア別表示

    メディア別表示

    PCのみ表示したい。スマホの時だけ表示したい。という場面で使えるCSSです。

    使用例

    PCのみ表示

    PCのみ表示します。for-pc

    スマホのみ表示

    スマホのみ表示します。for-mobile

    段落に設定>高度な設定>追加CSSクラスに各クラス名を追加します。

    CSS名を入れたら、リストビューで分かるように要素に名前を付けておくと後に分かりやすいです。

    CSS

    /* 750px以下で有効 */
    @media(max-width:750px){
        /* for-pc表示しない */
        .for-pc {
            display:none !important;
        }
    }
    /* 750px以上で有効 */
    @media(min-width:751px) {
        /* for-mobile表示しない */
        .for-mobile {
            display:none !important;
        }
    }
    

    テーマ用CSSに上記コードを追加します。

    利用上の注意事項

    display:none !important;の「!important;」は会った方が良いみたいです。CSSの優先度が上がるみたいで、無い場合は無効になる場合がありました。

    実際に試しながら調整してください。

  • タグの装飾

    タグの装飾

    デモ(HTML)

    HTMLソース

    <div class="taxonomy-post_tag wp-block-post-terms">
          <a href="#" rel="tag">gutenberg</a>
          <span class="wp-block-post-terms__separator"> </span>
          <a href="#" rel="tag">プラグイン</a>
          <span class="wp-block-post-terms__separator"> </span>
          <a href="#" rel="tag">ページビルダー</a>
    </div>

    ブロックテーマにもよるが、出力されるタグのHTMLソースは上記の様になります。

    CSS設定

    今回は、単語カードっぽいデザインにします。

    /theme/テーマ名/style.css

    /*----------------------------------------------------------------------------
      タグの装飾
      ---------------------------------------------------------------------------- */
    .taxonomy-post_tag a {
    	line-height: 26px;
    	position: relative;
    	display: inline-block;
    	height: 26px;
    	margin: 0 0px 10px 10px;
    	padding: 0 20px 0 23px;
    	-webkit-transition: color 0.2s;
    	        transition: color 0.2s;
    	text-decoration: none;
    	color: #ffffff;
    	border-radius: 0 3px 3px 0;
    	background: #5d69d0;
    }
    .taxonomy-post_tag a::before, .taxonomy-post_tag a::after {
    	background: #1b1b1b;/*背景色*/
    }
    .taxonomy-post_tag a::before {
    	position: absolute;
    	top: 10px;
    	left: 3px;
    	width: 6px;
    	height: 6px;
    	content: '';
    	border-radius: 10px;
    }
    .taxonomy-post_tag a::after {
    	position: absolute;
    	top: -1px;
    	left: -6px;
    	width: 0;
    	height: 0;
    	content: '';
    	border-style: solid;
    	border-width: 14px 8px 14px 0;
    	border-color: transparent #5d69d0 transparent transparent;
    	border-radius: 4px;
    }
    .taxonomy-post_tag a:hover {
    	background: #555555;
    }
    .taxonomy-post_tag a:hover:after {
    	border-color: transparent #555555 transparent transparent;
    }
    .taxonomy-post_tag .wp-block-post-terms__separator {
    	display: none;
    }

    参考サイト

    [パーツ]タグ シンプルなタグデザイン逆向きバージョン

    デザイン自体はこちらのデザインを参考にしました。ありがごうございます。

  • トップに戻る

    トップに戻る

    トップに戻るを実装する

    一定数スクロールすると矢印を表示して、トップに戻るようにします。矢印はFont Awesomeを使って表示します。

    HTML的にはbodyタグの下にリンク貼って、CSSとJSで完成とHTMLでやるとシンプルに出来るのですが、ブロックエディターに対応したやり方を考えると少し手間がかかります。ブロックエディター以外のテーマでも使えます。

    使用出来るテーマ

    • ブロック対応テーマ
    • 通常のテーマ

    基本形は、ここに書いているので動くと思いますが、各ファイルの場所に注意して、各ファイルをfunction.phpの方で読み込む設定を忘れずに!

    CSSの設定

    テーマディレクトリに作成します。

    /theme/テーマ名/styles.css

    /* back to top */
    html {
    	scroll-behavior: smooth;
    }
    
    #page_top {
    	a {
    		position: fixed;
    		bottom: 24px;
    		right: 24px;
    		width: 48px;
    		height: 48px;
    		text-decoration: none;
    		background-color: #00908b;
    		display: block;
    		text-align: center;
    		border-radius: 24px;
    		z-index: 10;
    	}
    	a::before {
    		content: '\f062';   /* Font Awesome Unicord*/
    		font-family: 'Font Awesome 6 Free';
    		font-size: 30px;
    		font-weight: 900;
    		color: #fff;
    		line-height: 48px;
    	}
    }

    JavaScriptの設定

    /theme/テーマ名/custom-scripts.js

    // ページトップをゆっくり表示する
    jQuery(function(){
          var pagetop = jQuery('#page_top');
          pagetop.hide();
          jQuery(window).scroll(function () {
                if (jQuery(this).scrollTop() > 100) {
                      pagetop.fadeIn();
                } else {
                      pagetop.fadeOut();
                }
          });
          pagetop.click(function () {
                jQuery('body, html').animate({ scrollTop: 0 }, 500);
                return false;
          });
    });

    function.phpの設定

    /theme/テーマ名/function.php

    // 外部ライブラリの読み込み
    function add_wp_external_lib() {
    	// Font Awesomeを読み込む
    	echo '<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.6.0/css/all.min.css" />';
    	// jQueryを読み込む
    	echo '<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>';
    }
    
    // 独自スクリプトの読み込み
    function custom_script(){ 
    	wp_enqueue_script( 'custom-scripts-js', get_template_directory_uri() . '/custom-scripts.js', array('jquery'), '1.0.0', true );
    }
    add_action('wp_enqueue_scripts', 'custom_script');
    
    // bodyタグの後にHTMLタグの挿入
    add_action( 'wp_body_open', function() {
    	?>
    	<!-- ここから挿入したいソースコードなどスタート -->
    	<div id="page_top"><a href="#"></a></div>
    	<!-- ここまで -->
    	<?php
    });
    

    関連サイト

    Font Awesome https://fontawesome.com/

    arrowと

  • ローディングの画像

    読み込み中に表示されるローディング画像について

    <div class="loading">
        <div><img width="75" height="26" class="loading-logo" src="./images/logo-dark.png" alt="Nixe - Demo 2" /></div>
    </div>
    .loading {
      position: fixed;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;
      z-index: 10;
      background-color: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      animation: fadeOut 1.5s 2.5s forwards;
    }
    
    @keyframes fadeOut {
      0% {
        opacity: 1;
      }
    
      100% {
        opacity: 0;
        visibility: hidden;
      }
    }
    
    .loading-logo {
      opacity: 0;
      animation: logo_fade 2s 0.5s forwards;
      width: 175px;
    }
    
    @keyframes logo_fade {
      0% {
        opacity: 0;
        transform: translateY(20px);
      }
    
      60% {
        opacity: 1;
        transform: translateY(0);
      }
    
      100% {
        opacity: 0;
      }
    }

    ブロックテーマの場合に上記HTMLを記述する場所が見つからないとかどこに書くと良いのか?になります。

    答えは、function.phpに追加で記述して、bodyの最初に記述するようにします。

    
    /**
     * bodyタグ開始に挿入
     */
    add_action( 'wp_body_open', function() {
      ?>
      <!-- ここから挿入したいソースコードなどスタート -->
    <div class="loading">
        <div><img width="75" height="26" class="loading-logo" src="http://test.beabo.net/wp-content/uploads/2024/10/och_logo.png" alt="大分センチュリーホテルのホームページへようこそ" /></div>
    </div>
      <!-- ここまで -->
      <?php
    });
    

    こうする事で、記事のHTMLを読み込んでページを作成する時間にローディング画面が表示されることにより、待ち時間を感覚的に短くする事が期待できます。

    基本的な手法なので、ローディング画面の画像やCSSでのアニメーションを採用するとかするとサイトのブランディングがより進むと思います。

    animation: fadeOut の部分が時間の設定になるぅ

カテゴリー

カレンダー

2025年1月
 12345
6789101112
13141516171819
20212223242526
2728293031  

タグクラウド

css gutenberg html JavaScript カスタマイズ カラム テーマ プラグイン ページビルダー

Beabo

コンテンツへスキップ