カスタムリニアアイコンをインポートする方法 Mendix

メインコンテンツへスキップ

カスタムアイコンをインポートする方法 Mendix

前回開発者向け Web サイトにアクセスしたときに、2 番目にリクエストが多かった項目は、モデラーにカスタム アイコンをインポートすることだと気づきました。外から見ると、フォントを追加するだけで機能するように見えるかもしれません。そこで、純粋な CSS でこれを行う方法を示すと役立つと考えました。そうすれば、コミュニティとして、将来的に機能として追加するための基礎を築くことができます。 Mendix バージョン。独自のカスタム アイコンを作成する方法を理解することで、モデラーが現在のグリフアイコンを配置できる場所よりも多くの場所にアイコンを追加できます。

プロジェクトにカスタム アイコン セットを追加するには、アイコン フォントとすべてのクラスをマッピングする CSS/Sass ファイルという 2 つのコア要素が必要です。

アイコンフォント

アイコンフォントを選択または作成します。

インターネット上には、無料のアイコンフォントが数多くあります。Font Awesome など、無料で、CSS が含まれたフォントファイルがほぼそのまま使えるものもあります。フォントファイルだけのものもあれば、SVG や Illustrator のファイルもあります。最もカスタムなオプションから始めましょう。プロジェクトで使用したい SVG アイコンがいくつかあります。これを行うには、次のような Web サイトで独自のアイコンフォントを作成する必要があります。 アイコムーン.

ここにいくつかのチュートリアルがあります の細部まで解説します 独自のアイコンフォントをゼロから作成する独自のアイコン フォントを作成すると、すぐに使用できるフォントが手に入るだけでなく、必要なクラスを含む CSS ファイルもマッピングされます。

必要なファイル:

アイコン フォントを作成したら、フォントを複数のフォント ファイル タイプとして用意する必要があります。すべてのブラウザーで動作させるには、これらが必要です。たとえば、.eot は Internet Explorer に最適ですが、.woff は Chrome に最適です。幸い、Font Squirrel のフォント コンバーターを使用して、これらすべてのファイルを作成できます。ファイル パスを簡単にするために、フォント ファイルを css フォルダーの隣のフォルダーに保存します。

フォントリス

CSS/SASS ファイルと文字マッピング

アイコン フォントを見つけて、必要なフォント ファイルをすべて作成したものの、Icomoon などのサービスで作成していない場合、次のステップは少し面倒になる可能性があります。ここで、コミュニティとして、お互いにメリットを得ることができます。

アイコンフォントセットごとに、アイコンCSSファイルを作成する必要があります。これには3つの要素が必要です。以下の例では、Sass構文を使用して接続します。 Mendix UI フレームワークで、鮮明なアイコン フォントである Linearicons を使用します。

アイコンフォント

まず、@font-face を使用してフォント ファイルをインポートします。構文は次のようになります。

@font-face {
font-family: 'Linearicons-Free';
src:url('../fonts/Linearicons-Free.eot?w118d');
src:url('../fonts/Linearicons-Free.eot?#iefixw118d') format('embedded-opentype'),
url('../fonts/Linearicons-Free.woff2?w118d') format('woff2'),
url('../fonts/Linearicons-Free.woff?w118d') format('woff'),
url('../fonts/Linearicons-Free.ttf?w118d') format('truetype'),
url('../fonts/Linearicons-Free.svg?w118d#Linearicons-Free') format('svg'); font-weight: normal;
font-style: normal;
}

次に、使用しているフォントを宣言するクラスを作成し、フォントサイズ、表示、配置、行の高さなどの基本スタイルを設定します。Lineariconsの場合は、クラス.lnrを使用しています。 Mendix、アイコンをテキストまたはボタンの前に配置したい場合、:before 疑似クラスにプロパティを配置する必要があります。この方法では、複数のアイコン フォントを使用でき、それらすべてに一意の命名クラス名が付けられます。

.lnr {
&:before {
display: inline-block;
font-family: 'FontAwesome';
-webkit-font-smoothing: antialiased;
font-style: normal;
font-weight: normal;
vertical-align: middle;
margin-right: 0;
margin-top: 0;
font-size: 1.5em;
line-height: inherit;
-moz-osx-font-smoothing: grayscale;
}
}

最後に、各文字のクラス名を作成する必要があります。多くの場合、アイコン フォントでは、このほとんどが事前に定義されています。各文字にはクラス名が必要です。

.lnr-home:before {
content: "\e800";
}

ステップ 2 に示すように、文字クラスは :before 疑似クラスに配置されます。アイコンをテキストの右側に表示したい場合は、これに対応するために追加のクラス宣言を作成できます。次のような初期クラス宣言と文字マップの両方が必要になります。

.lnr-a{
&:after{
…
}
}

の三脚と

.lnr-home-a:after {
content: "\e800";
}

プロジェクトに新しいアイコンを統合する

すべてのクラスを保存したら、UI フレームワーク フォルダー構造内に SCSS 部分を保存する必要があります。この例では、フォルダー構造として Vanilla テーマを使用しています。

  1. _linear-icons.scss などの特定の名前で保存すると、簡単に取り出して他のプロジェクトで再利用できるので便利です。
  2. テーマ > lib > プロジェクトフォルダに部分的に移動します
  3. テーマ >lib の lib.scss ファイルを開きます。
  4. ファイルの下部に「@import folder/ linear-icons;」という行を追加します。
  5. アイコンを保存するとプロジェクトに追加されるよう、ファイルを監視している Koala またはその他の Sass コンパイラがインストールされていることを確認してください。

ss2

モデラーでカスタムアイコンを使用する

新しいアイコンの使用は、他のクラスの使用と同じくらい簡単です。CSS クラスとして、モデラー内のクラス プロパティがある場所であればどこにでもアイコンを追加できます。カスタム クラスを使用するには、アイコン フォント宣言と使用する文字の両方を追加する必要があります。

キャプチャ

独自のアイコン フォント セットを作成するためのテンプレートとして使用するために、linearicon CSS とフォントをダウンロード用に用意しました。

言語を選択してください