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

推薦する

Nginxの仕組みの詳細な説明

Nginxの仕組みNginx はコアとモジュールで構成されています。 Nginx 自体は実際にはほと...

Centos7 ベースの Nginx Web サイト サーバーの構築の詳細説明 (仮想 Web ホストの構成を含む)

1. Nginx サービス基盤Nginx (エンジン x) は、パフォーマンスの最適化のために特別...

js オブザーバーモードの紹介と使用

目次定義2. 使用シナリオ3. 例を挙げる4. コーディング定義オブザーバー パターンは 1 対多の...

WeChat アプレット wxs 日付と時刻処理の実装例

目次1. 日付までのタイムスタンプ2. UTCを北京時間に変換するWXS (WeiXin Scrip...

Linux での fuser コマンドの使用法の詳細な説明

説明する: fuser は、現在ディスク上のファイル、マウント ポイント、さらにはネットワーク ポー...

Web プロジェクト開発 VUE の混合と継承の原則

目次ミキシンMixin ノート (重複名)ローカルミックスイングローバル ミックスイン定義とグローバ...

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

1. システム環境[root@localhost ホーム]# cat /etc/redhat-re...

Docker で lnmp をデプロイする詳細な手順

目次Centosイメージを取得するCentos ベースの nginx コンテナを生成するCentos...

クールな点滅アラームボタンをおすすめします

効果は以下のとおりです。 コードは次のとおりです (クリックすると展開してソース コードが表示されま...

ドロップダウンメニュー効果を実現するJavaScript

参考までに、JavaScriptを使用してドロップダウンメニューを実装します。具体的な内容は次のとお...

良いと思う国内のデザインサイトをいくつか選んでみました。

<br />私が良いと思った国内のデザインサイトをまとめてみました。広告ではありません!...

React Hooksの使用例

目次簡単なコンポーネントの例より複雑な親子コンポーネントのケースオンセレクトの書き方反応する子供Re...

Vue Routerはバックグラウンドデータに応じて異なるコンポーネントをロードします

目次実際のプロジェクトで遭遇する要件実装が間違っているところもある私は個人的に、実装するより良い方法...

MySQL クエリの最適化: クエリが遅い原因と解決策

開発に携わっている友人、特に MySQL に関係のある友人は、非常に遅い MySQL クエリに遭遇す...

TypeScript 学習ノート: 型の絞り込み

目次序文型推論真理値の絞り込み平等の縮小演算子の絞り込みインスタンスの絞り込み狭まりの本質ユニオン型...