文字列の最初の文字を取得してテキストアイコン機能を実現する純粋な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 ページを埋め込む方法

推薦する

GaussDB for MySQL パフォーマンス最適化の詳細な説明

目次背景インスピレーションは人生から生まれる速達配送の最適化原則GaussDB の最適化 (MySQ...

Zabbix による VMware Exsi ホストの監視のグラフィカルな手順

1. 仮想化 vcenter に入り、ブラウザでログインし (クライアントは設定する場所を見つけませ...

エレメントアバターアップロード練習

この記事は、Element公式サイトとQiniu Cloud公式サイトを使用しています。 eleme...

Ubuntu 18.04 で apt ソースを Alibaba Cloud ソースに変更する詳細なプロセス

目次序文: Ubuntu 18.04 は apt ソースを Alibaba Cloud ソースに変更...

JavaScriptを使用してページ効果を作成する

11. JavaScriptを使用してページ効果を作成する11.1 DOMプログラミングDOM プロ...

Vue Element フロントエンドアプリケーション開発 従来の Element インターフェースコンポーネント

目次1. リストインターフェースとその他のモジュールの表示処理2. 従来のインターフェースコンポーネ...

SSDストレージを有効にしたMySQLインスタンスの詳細な説明

SSDストレージを有効にしたMySQLインスタンスの詳細な説明特に OS と MySQL が同じディ...

MySQL で準備、実行、割り当て解除ステートメントを使用するチュートリアル

序文MySQLでは、準備、実行、割り当て解除を正式にはPREPARE STATEMENTと呼びます。...

MySQL における datetime と timestamp の違いと使い方

1. MySQL で現在の時刻を表現するにはどうすればよいでしょうか?実際、表現方法はいろいろありま...

MySQL 5.7.17 のインストールと設定方法のグラフィック チュートリアル (Ubuntu 16.04)

公式 MySQL Web サイトから Ubuntu Linux 用の最新バージョンの MySQL を...

画像をハイパーリンクとして使用したときに表示される青いボックスを削除する方法

最近、Dreamweaver を使用して製品プレゼンテーションを作成し、画像にハイパーリンクを追加し...

MySQL データ圧縮パフォーマンス比較の詳細

目次1. テスト環境1.1 ハードウェアとソフトウェア1.2 テーブル構造2. テストの目的2.1 ...

イメージを再構築せずにDockerにポートを動的に追加する方法

操作中に Docker コンテナの公開ポートを変更または追加する必要がある場合がありますが、実行中の...

Apache ストレステストツールのインストールと使用

1. ダウンロードApacheの公式サイトhttp://httpd.apache.org/にアクセス...

CSS 境界線の半分または部分的に表示される実装コード

1. 疑似クラスを使用して境界線の半分を表示する <!DOCTYPE html> <...