文字列の最初の文字を取得してテキストアイコン機能を実現する純粋なCSS

文字列の最初の文字を取得してテキストアイコン機能を実現する純粋なCSS

CSS でテキストアイコンを実装する方法

/*アイコンスタイル*/
.nav-icon-normal {
    幅: 32px;
    高さ: 32px;
    行の高さ: 33px;
    表示: インラインブロック;
    境界線の半径: 6px;
    背景色: #b3b4c5;
    垂直位置合わせ: 中央;
    オーバーフロー: 非表示;
    フォントサイズ: 16px;
    テキストインデント: 8px;
    テキスト配置: 中央;
    文字間隔: 8px;
    色: #fff;
    単語区切り: 全区切り;
}
<div class="nav-icon-normal">テクノロジーが基盤です</div>
<div class="nav-icon-normal">能力が鍵です</div>
<div class="nav-icon-normal">コミュニケーションが最も重要です</div>
<div class="nav-icon-normal">一般的なインターフェース</div>

効果プレビュー

この方法で基本的な効果は達成されますが、まだ少し足りません。アイコンの背景色をテキストに合わせて変更する方法

このJsを読んで名前に応じて色の値を抽出することができます

どのように実装するかは、こちらをご覧ください。以下のコードは、この記事では例としてのみ使用されています。実際の使用は、実際の状況に応じて調整する必要があります。

var titles = ["テクノロジーが基礎です", "能力が鍵です", "コミュニケーションが最も重要です", "ユニバーサルインターフェース"];
var html = "";
(i = 0 とします; i < titles.length; i++) {
    定数title = titles[i];
    定数 color = extractColorByName(タイトル);
    html += '<div class="nav-icon-normal" style="background-color:{0}">{1}</div>'.replace('{0}', color).replace('{1}', title);
}
// 出力document.write(html);
/**
 * 名前で色を抽出* @param name name*/
関数 extractColorByName(名前) {
    var temp = [];
    temp.push("#");
    for (let index = 0; index < name.length; index++) {
        temp.push(parseInt(name[index].charCodeAt(0), 10).toString(16));
    }
    temp.slice(0, 5).join('').slice(0, 4); を返します。
}

導入後の効果は以下のとおりです

最後にケースコードを添付します

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
    <スタイル>
        /*アイコンスタイル*/
        .nav-icon-normal {
            幅: 32px;
            高さ: 32px;
            行の高さ: 33px;
            表示: インラインブロック;
            境界線の半径: 6px;
            背景色: #b3b4c5;
            垂直位置合わせ: 中央;
            オーバーフロー: 非表示;
            フォントサイズ: 16px;
            テキストインデント: 8px;
            テキスト配置: 中央;
            文字間隔: 8px;
            色: #fff;
            単語区切り: 全区切り;
        }
    </スタイル>
</head>
 
<本文>
    <script type="text/javascript">
        var titles = ["テクノロジーが基礎です", "能力が鍵です", "コミュニケーションが最も重要です", "ユニバーサルインターフェース"];
            var html = "";
            (i = 0 とします; i < titles.length; i++) {
                定数title = titles[i];
                定数 color = extractColorByName(タイトル);
                html += '<div class="nav-icon-normal" style="background-color:{0}">{1}</div>'.replace('{0}', color).replace('{1}', title);
            }
            // テストHTMLを出力する
            ドキュメントを書き込みます。
            /**
             * 名前で色を抽出* @param name name*/
            関数 extractColorByName(名前) {
                var temp = [];
                temp.push("#");
                for (let index = 0; index < name.length; index++) {
                    temp.push(parseInt(name[index].charCodeAt(0), 10).toString(16));
                }
                temp.slice(0, 5).join('').slice(0, 4); を返します。
            }
               </スクリプト>
</本文>
 
</html>

要約する

これで、文字列の最初の文字を取得して純粋な CSS を使用してテキスト アイコン機能を実装する方法に関する記事は終了です。テキスト アイコンの実装に関するより関連性の高い CSS コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  JS 4つの楽しいハッカー背景効果コードを共有する

>>:  iframe を使用して Web ページに他の Web ページを埋め込む方法

推薦する

ウェブページ HTML 順序付きリスト ol と順序なしリスト ul

データを整理するためのリストWeb ページの表示を制御する多数の HTML タグを学習した後、読者は...

Linux インストール Apache サーバー構成プロセス

袋を用意するインストールApacheがすでにインストールされているかどうかを確認するrpm -qa ...

ウェブデザイン経験

<br />著者はかつてWebデザインの初心者でしたが、継続的な探求と実践を通じて、今で...

Webデザインの経験: Webコードを効率的に書く

本来、この第 7 章では、デザインにおけるレイヤーと空間テクニックについて深く議論するはずです。しか...

mysql は sql ファイルを実行し、エラーを報告します エラー: 不明なストレージ エンジン 'InnoDB' ソリューション

問題を見つける最近、仕事で問題が発生しました。InnoDB タイプの SQL ファイルを実行すると、...

chkconfig および systemctl コマンドを使用して Linux サービスを有効または無効にする方法

これは Linux 管理者にとって重要な (そして素晴らしい) トピックなので、誰もが Linux ...

mysql5.7.21.zip インストールチュートリアル

mysql5.7.21 zipの詳細なインストール手順は次のとおりです。 1. 解凍して指定されたデ...

vue3.0+echarts は 3 次元の縦棒グラフを実現します

序文: Vue3.0はechartsの3次元縦棒グラフを実装します結果: 実装手順: 1. echa...

webpackの遅延読み込みとプリロードの詳細な説明

目次通常の読み込み遅延読み込みプリロードプリロードを使用しないプリロードの使用要約する通常の読み込み...

データベースクエリの最適化: サブクエリの最適化

1. 事例会社のトップ以外の従業員全員を年齢別にグループ化します。 t_emp で id が存在しな...

Centos7 インストール mysql5.6.29 シェル スクリプト

この記事では、参考までにmysql5.6.29のシェルスクリプトを共有します。具体的な内容は次のとお...

Docker デプロイメント MySQL8 クラスター (マスター 1 台とスレーブ 2 台) の実装手順

目次1. CentOS 7.9 20にDockerをインストールする2. MySQL クラスターをデ...

mysqld_multi を使用して単一のマシンに複数のインスタンスをデプロイする方法に関する MySQL チュートリアル

目次1. MySQLのコンパイルとインストール: 2. 最初のマルチインスタンス3307を準備する3...

Win10 構成 Tomcat 環境変数チュートリアル図

設定する前に、次の操作を行う必要があります。 1. まずjdk bloggerをインストールします。...

MySQL binlog_ignore_dbパラメータの具体的な使用法

序文:前の記事を読んだ後、binlog はデータベースで実行されたすべての DDL および DML ...