ブートストラップ4-グリフィコンの移行?


317

グリフィコンを集中的に使用するプロジェクトがあります。Bootstrap v4は、glyphiconフォントを完全に削除します。

Bootstrap V4に付属するアイコンに相当するものはありますか?

変更ログ

http://v4-alpha.getbootstrap.com/migration/


15
まだグリフィコンを使用できますが、グリストラップはブートストラップに同梱されなくなります。あなたが持っている場合は、ライセンスの問題を、あなたがチェックすることができ、フォント素晴らしいアイコン
Holt

1
私はあなたがフォントを使用するために支払う必要があると思います。明確にするために質問を編集しました。
Vincent Poirier、2015

グリフィコンへのリンクを張らなければならない無料のライセンスがあります(以前のリンクのGLYPHICON FREEセクションを参照してください)。以前のコメントで述べたように、オープンソースで無料のfont awesomeなどの代替手段がありますが、どれが最適かを知ることは、明らかに意見に基づいたものになります...
Holt

それは素晴らしいことですが、無料パッケージはフォントを提供せず、PNGファイルのみを提供します。どうやら、PROパッケージのみがWebフォントとしてすべてのアイコンを含みます。あなたは非常に役に立ちました(ありがとう)が、質問はBootstrapに含まれているコンポーネントについての詳細です。v4にどのタイプのアイコンも含まれていない(または含まれる)ことを確認できれば、回答を生成できます。
Vincent Poirier、2015

提供されているリンクfontawesome.ioにアクセスすると、待機時間が長すぎると$ 60または$ 99の支払いが要求されるため、fontawesomeは無料ではなくなったと思います。
グスタボロドリゲス

回答:


269

Font AwesomeGithub Octiconsの両方をGlyphiconsの無料の代替として使用できます。

Bootstrap 4もLessからSassに切り替わったため、フォントのSass(SCSS)をビルドプロセスに整数化して、プロジェクト用の単一のCSSファイルを作成できます。

ツールの設定方法については、https://getbootstrap.com/docs/4.1/getting-started/build-tools/も参照してください

  1. 依存関係の管理に使用するNodeをダウンロードしてインストールします。
  2. ルート/bootstrapディレクトリに移動して実行npm installし、package.jsonにリストされているローカルの依存関係をインストールします。
  3. Rubyをインストールしgem install bundler、Bundlerをでインストールして、最後にを実行しbundle installます。これにより、Jekyllやプラグインなど、Rubyのすべての依存関係がインストールされます。

素晴らしいフォント

  1. https://github.com/FortAwesome/Font-Awesome/tree/fa-4でファイルをダウンロードします
  2. font-awesome/scssフォルダーを/ bootstrapフォルダーにコピーします
  3. SCSS /bootstrap/bootstrap.scssを開き、このファイルの最後に次のSCSSコードを書き留めます。

    $fa-font-path: "../fonts"; @import "../font-awesome/scss/font-awesome.scss";

  4. フォントファイルをからfont-awesome/fontsdist/fontsまたは$fa-font-path前のステップで設定した他のパブリックフォルダにコピーする必要があることに注意してください。

  5. 実行:npm run distFont-Awesomeでコードを再コンパイルします

Github Octicons

  1. https://github.com/github/octicons/でファイルをダウンロードします
  2. octiconsフォルダをフォルダにコピーし/bootstrapます
  3. SCSS /bootstrap/bootstrap.scssを開き、このファイルの最後に次のSCSSコードを書き留めます。

    $fa-font-path: "../fonts"; @import "../octicons/octicons/octicons.scss";

  4. フォントファイルをからfont-awesome/fontsdist/fontsまたは$fa-font-path前のステップで設定した他のパブリックフォルダにコピーする必要があることに注意してください。

  5. 実行: npm run dist Octiconsを使用してコードを再コンパイルします

グリフィコン

BootstrapのWebサイトでは、次の情報を確認できます。

Glyphicon Halflingsセットのフォント形式の250以上のグリフが含まれています。Glyphicons Halflingsは通常無料で入手できませんが、作成者はBootstrapで無料で入手できるようにしています。ありがとうございます。グリフィコンへのリンクをできるだけ含めるようにお願いします。

私が理解しているように、これらの250個のグリフは、Bootstrapに制限なく無料で使用できますが、バージョン3に限定されません。したがって、Bootstrap 4にも使用できます。

  1. フォントファイルを以下からコピーします。 https //github.com/twbs/bootstrap-sass/tree/master/assets/fonts/bootstrap
  2. https://github.com/twbs/bootstrap-sass/blob/master/assets/stylesheets/bootstrap/_glyphicons.scssファイルをbootstrap/scssフォルダーにコピーします
  3. scss /bootstrap/bootstrap.scssを開き、このファイルの最後に次のSCSSコードを書き留めます。
$bootstrap-sass-asset-helper: false;
$icon-font-name: 'glyphicons-halflings-regular';
$icon-font-svg-id: 'glyphicons_halflingsregular';
$icon-font-path: '../fonts/';
@import "glyphicons";
  1. 実行:npm run distGlyphiconsでコードを再コンパイルします

Bootstrap 4にはポストCSSが必要です。 コンパイルのために Autoprefixerです。静的Sassコンパイラを使用してCSSをコンパイルする場合は、後でAutoprefixerを実行する必要があります。

Bootstrap 4 SCSSとのミキシングの詳細については、 こちらをご覧ください

Bowerを使用して上記のフォントをインストールすることもできます。Bower Font Awesomeを使用するとファイルがインストールされ、bower_components/components-font-awesome/Github Octiconsがocticons/octicons/octicons-.scssを使用するとメインファイルとしてれますocticons/octicons/sprockets-octicons.scss

上記はすべて、CSSコードをすべて1つのファイルにコンパイルします。これには、HTTPリクエストが1つだけ必要です。または、CDNからFont-Awesomeフォントをロードすることもできます。これは、多くの状況で高速にできます。CDNの両方のフォントには、フォントファイルも含まれています(data-uriを使用しており、古いブラウザーではサポートされていない可能性があります)。そのため、サポートする他のブラウザーに応じて、どのソリューションが状況に最適かを検討してください。

Font Awesomeの場合、次のコードを<head>サイトのHTMLのセクションに貼り付けます。

<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">

また、Yeomanジェネレーターを使用して、フロントエンドのBootstrap 4 Webアプリを足場にして、 Bootstrap 4をFont AwesomeまたはGithub Octiconsでテストします。


4
これは非常に徹底的であり、私にとって物事を明確にし、私の選択の正しい方向に私を向けるのに本当に役立ちました。BS4がGlyphicon Halflingsセットを同梱しないことにした理由を誰かが知っていますか?パッケージをスリムにするだけですか?
twknab 2017

6
「Rubyをインストール」?!フォントを使用するためだけに開発フレームワーク全体をインストールするのはなぜですか?そして、どうしてそれをサイドノートとして言及するのですか?フォントを取得するためだけにプロジェクト全体のセマンティクス、ビルドプロセス、依存関係を変更するので、非常に巨大です!あなたがそれをするようにアドバイスする方法は私には考えられません。
Jens Mander

261

GlyphiconsからFont Awesomeへの移行はとても簡単です。

Font Awesomeへの参照を含めます(ローカルまたはCDNを使用)。

<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">

そして、検索を実行し、どこが検索置き換えるglyphicon glyphicon-とに置き換えますfa fa-。ほとんどのCSSクラス名は同じです。ただし、一部は変更されているため、手動で修正する必要があります。


27
変更なしの統合のための簡単な方法。どうも!
l.cotonea 16

1
実行中のKISS原則!
クレイグ、

7
すべての名前が同じというわけではありません。これはglyphiconアイコンをfont-awesomeにマップします: gist.github.com/blowsie/15f8fe303383e361958bd53ecb7294f9
Grigory Kislin

1
これは、受け入れられた回答よりもはるかに単純で簡単です。賞賛!
luis.ap.uyen

6
fa fa-減価償却されます。彼らのウェブサイトは今fas fa-、そしてこのメ​​ッセージは言う:The fa prefix has been deprecated in version 5. The new default is the fas solid style and the fab style for brands.
James Wilkins

37

Bootstrap 3のglyphicons.lessファイルは、GitHubで入手できます。 https://github.com/twbs/bootstrap/blob/master/less/glyphicons.less

これらの変数が必要です。

@icon-font-path:          "../fonts/";
@icon-font-name:          "glyphicons-halflings-regular";
@icon-font-svg-id:        "glyphicons_halflingsregular";

次に、.lessファイルを直接使用できる.cssファイルに変換できます。これはlesscss.org/less-preview/でオンラインで実行できます。。ここで私はあなたのためにそれを行いました、それをglyphicons.cssとして保存し、それをHTMLファイルに含めます。

<link href="https://stackoverflow.com/Content/glyphicons.css" rel="stylesheet" />

また、Bootstrap 3パッケージに含まれているGlyphiconフォントも必要です。それらを/ fonts /ディレクトリに配置します。

これで、通常どおりBootstrap 4でグリフィコンを使い続けることができます。


フレッドありがとうございます。
user3728517

フレッド、ありがとう。FirefoxおよびChromeブラウザーでアイコンが表示されます。しかしIEでは、アイコンは11.0.9600.19377バージョンでは表示されますが、11.0.9600.19356バージョンでは表示されません。IEバージョン11.0.9600.19356でアイコンを表示する方法を教えてください。コンソールもチェックしましたが、IEバージョン11.0.9600.19356にエラーはありません
Hemant

@ヘマント、わかりません。いずれにせよ、この投稿は非常に古く、Glyphiconsがバージョン4であったときからさかのぼります。今日はバージョン5に行きます
Fred

17

CSSでglyphiconクラスのみが必要な場合:

@font-face{font-family:'Glyphicons Halflings';src:url('https://netdna.bootstrapcdn.com/bootstrap/3.0.0/fonts/glyphicons-halflings-regular.eot');src:url('https://netdna.bootstrapcdn.com/bootstrap/3.0.0/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('https://netdna.bootstrapcdn.com/bootstrap/3.0.0/fonts/glyphicons-halflings-regular.woff') format('woff'),url('https://netdna.bootstrapcdn.com/bootstrap/3.0.0/fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('https://netdna.bootstrapcdn.com/bootstrap/3.0.0/fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg');}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;}
.glyphicon-asterisk:before{content:"\2a";}
.glyphicon-plus:before{content:"\2b";}
.glyphicon-euro:before{content:"\20ac";}
.glyphicon-minus:before{content:"\2212";}
.glyphicon-cloud:before{content:"\2601";}
.glyphicon-envelope:before{content:"\2709";}
.glyphicon-pencil:before{content:"\270f";}
.glyphicon-glass:before{content:"\e001";}
.glyphicon-music:before{content:"\e002";}
.glyphicon-search:before{content:"\e003";}
.glyphicon-heart:before{content:"\e005";}
.glyphicon-star:before{content:"\e006";}
.glyphicon-star-empty:before{content:"\e007";}
.glyphicon-user:before{content:"\e008";}
.glyphicon-film:before{content:"\e009";}
.glyphicon-th-large:before{content:"\e010";}
.glyphicon-th:before{content:"\e011";}
.glyphicon-th-list:before{content:"\e012";}
.glyphicon-ok:before{content:"\e013";}
.glyphicon-remove:before{content:"\e014";}
.glyphicon-zoom-in:before{content:"\e015";}
.glyphicon-zoom-out:before{content:"\e016";}
.glyphicon-off:before{content:"\e017";}
.glyphicon-signal:before{content:"\e018";}
.glyphicon-cog:before{content:"\e019";}
.glyphicon-trash:before{content:"\e020";}
.glyphicon-home:before{content:"\e021";}
.glyphicon-file:before{content:"\e022";}
.glyphicon-time:before{content:"\e023";}
.glyphicon-road:before{content:"\e024";}
.glyphicon-download-alt:before{content:"\e025";}
.glyphicon-download:before{content:"\e026";}
.glyphicon-upload:before{content:"\e027";}
.glyphicon-inbox:before{content:"\e028";}
.glyphicon-play-circle:before{content:"\e029";}
.glyphicon-repeat:before{content:"\e030";}
.glyphicon-refresh:before{content:"\e031";}
.glyphicon-list-alt:before{content:"\e032";}
.glyphicon-flag:before{content:"\e034";}
.glyphicon-headphones:before{content:"\e035";}
.glyphicon-volume-off:before{content:"\e036";}
.glyphicon-volume-down:before{content:"\e037";}
.glyphicon-volume-up:before{content:"\e038";}
.glyphicon-qrcode:before{content:"\e039";}
.glyphicon-barcode:before{content:"\e040";}
.glyphicon-tag:before{content:"\e041";}
.glyphicon-tags:before{content:"\e042";}
.glyphicon-book:before{content:"\e043";}
.glyphicon-print:before{content:"\e045";}
.glyphicon-font:before{content:"\e047";}
.glyphicon-bold:before{content:"\e048";}
.glyphicon-italic:before{content:"\e049";}
.glyphicon-text-height:before{content:"\e050";}
.glyphicon-text-width:before{content:"\e051";}
.glyphicon-align-left:before{content:"\e052";}
.glyphicon-align-center:before{content:"\e053";}
.glyphicon-align-right:before{content:"\e054";}
.glyphicon-align-justify:before{content:"\e055";}
.glyphicon-list:before{content:"\e056";}
.glyphicon-indent-left:before{content:"\e057";}
.glyphicon-indent-right:before{content:"\e058";}
.glyphicon-facetime-video:before{content:"\e059";}
.glyphicon-picture:before{content:"\e060";}
.glyphicon-map-marker:before{content:"\e062";}
.glyphicon-adjust:before{content:"\e063";}
.glyphicon-tint:before{content:"\e064";}
.glyphicon-edit:before{content:"\e065";}
.glyphicon-share:before{content:"\e066";}
.glyphicon-check:before{content:"\e067";}
.glyphicon-move:before{content:"\e068";}
.glyphicon-step-backward:before{content:"\e069";}
.glyphicon-fast-backward:before{content:"\e070";}
.glyphicon-backward:before{content:"\e071";}
.glyphicon-play:before{content:"\e072";}
.glyphicon-pause:before{content:"\e073";}
.glyphicon-stop:before{content:"\e074";}
.glyphicon-forward:before{content:"\e075";}
.glyphicon-fast-forward:before{content:"\e076";}
.glyphicon-step-forward:before{content:"\e077";}
.glyphicon-eject:before{content:"\e078";}
.glyphicon-chevron-left:before{content:"\e079";}
.glyphicon-chevron-right:before{content:"\e080";}
.glyphicon-plus-sign:before{content:"\e081";}
.glyphicon-minus-sign:before{content:"\e082";}
.glyphicon-remove-sign:before{content:"\e083";}
.glyphicon-ok-sign:before{content:"\e084";}
.glyphicon-question-sign:before{content:"\e085";}
.glyphicon-info-sign:before{content:"\e086";}
.glyphicon-screenshot:before{content:"\e087";}
.glyphicon-remove-circle:before{content:"\e088";}
.glyphicon-ok-circle:before{content:"\e089";}
.glyphicon-ban-circle:before{content:"\e090";}
.glyphicon-arrow-left:before{content:"\e091";}
.glyphicon-arrow-right:before{content:"\e092";}
.glyphicon-arrow-up:before{content:"\e093";}
.glyphicon-arrow-down:before{content:"\e094";}
.glyphicon-share-alt:before{content:"\e095";}
.glyphicon-resize-full:before{content:"\e096";}
.glyphicon-resize-small:before{content:"\e097";}
.glyphicon-exclamation-sign:before{content:"\e101";}
.glyphicon-gift:before{content:"\e102";}
.glyphicon-leaf:before{content:"\e103";}
.glyphicon-eye-open:before{content:"\e105";}
.glyphicon-eye-close:before{content:"\e106";}
.glyphicon-warning-sign:before{content:"\e107";}
.glyphicon-plane:before{content:"\e108";}
.glyphicon-random:before{content:"\e110";}
.glyphicon-comment:before{content:"\e111";}
.glyphicon-magnet:before{content:"\e112";}
.glyphicon-chevron-up:before{content:"\e113";}
.glyphicon-chevron-down:before{content:"\e114";}
.glyphicon-retweet:before{content:"\e115";}
.glyphicon-shopping-cart:before{content:"\e116";}
.glyphicon-folder-close:before{content:"\e117";}
.glyphicon-folder-open:before{content:"\e118";}
.glyphicon-resize-vertical:before{content:"\e119";}
.glyphicon-resize-horizontal:before{content:"\e120";}
.glyphicon-hdd:before{content:"\e121";}
.glyphicon-bullhorn:before{content:"\e122";}
.glyphicon-certificate:before{content:"\e124";}
.glyphicon-thumbs-up:before{content:"\e125";}
.glyphicon-thumbs-down:before{content:"\e126";}
.glyphicon-hand-right:before{content:"\e127";}
.glyphicon-hand-left:before{content:"\e128";}
.glyphicon-hand-up:before{content:"\e129";}
.glyphicon-hand-down:before{content:"\e130";}
.glyphicon-circle-arrow-right:before{content:"\e131";}
.glyphicon-circle-arrow-left:before{content:"\e132";}
.glyphicon-circle-arrow-up:before{content:"\e133";}
.glyphicon-circle-arrow-down:before{content:"\e134";}
.glyphicon-globe:before{content:"\e135";}
.glyphicon-tasks:before{content:"\e137";}
.glyphicon-filter:before{content:"\e138";}
.glyphicon-fullscreen:before{content:"\e140";}
.glyphicon-dashboard:before{content:"\e141";}
.glyphicon-heart-empty:before{content:"\e143";}
.glyphicon-link:before{content:"\e144";}
.glyphicon-phone:before{content:"\e145";}
.glyphicon-usd:before{content:"\e148";}
.glyphicon-gbp:before{content:"\e149";}
.glyphicon-sort:before{content:"\e150";}
.glyphicon-sort-by-alphabet:before{content:"\e151";}
.glyphicon-sort-by-alphabet-alt:before{content:"\e152";}
.glyphicon-sort-by-order:before{content:"\e153";}
.glyphicon-sort-by-order-alt:before{content:"\e154";}
.glyphicon-sort-by-attributes:before{content:"\e155";}
.glyphicon-sort-by-attributes-alt:before{content:"\e156";}
.glyphicon-unchecked:before{content:"\e157";}
.glyphicon-expand:before{content:"\e158";}
.glyphicon-collapse-down:before{content:"\e159";}
.glyphicon-collapse-up:before{content:"\e160";}
.glyphicon-log-in:before{content:"\e161";}
.glyphicon-flash:before{content:"\e162";}
.glyphicon-log-out:before{content:"\e163";}
.glyphicon-new-window:before{content:"\e164";}
.glyphicon-record:before{content:"\e165";}
.glyphicon-save:before{content:"\e166";}
.glyphicon-open:before{content:"\e167";}
.glyphicon-saved:before{content:"\e168";}
.glyphicon-import:before{content:"\e169";}
.glyphicon-export:before{content:"\e170";}
.glyphicon-send:before{content:"\e171";}
.glyphicon-floppy-disk:before{content:"\e172";}
.glyphicon-floppy-saved:before{content:"\e173";}
.glyphicon-floppy-remove:before{content:"\e174";}
.glyphicon-floppy-save:before{content:"\e175";}
.glyphicon-floppy-open:before{content:"\e176";}
.glyphicon-credit-card:before{content:"\e177";}
.glyphicon-transfer:before{content:"\e178";}
.glyphicon-cutlery:before{content:"\e179";}
.glyphicon-header:before{content:"\e180";}
.glyphicon-compressed:before{content:"\e181";}
.glyphicon-earphone:before{content:"\e182";}
.glyphicon-phone-alt:before{content:"\e183";}
.glyphicon-tower:before{content:"\e184";}
.glyphicon-stats:before{content:"\e185";}
.glyphicon-sd-video:before{content:"\e186";}
.glyphicon-hd-video:before{content:"\e187";}
.glyphicon-subtitles:before{content:"\e188";}
.glyphicon-sound-stereo:before{content:"\e189";}
.glyphicon-sound-dolby:before{content:"\e190";}
.glyphicon-sound-5-1:before{content:"\e191";}
.glyphicon-sound-6-1:before{content:"\e192";}
.glyphicon-sound-7-1:before{content:"\e193";}
.glyphicon-copyright-mark:before{content:"\e194";}
.glyphicon-registration-mark:before{content:"\e195";}
.glyphicon-cloud-download:before{content:"\e197";}
.glyphicon-cloud-upload:before{content:"\e198";}
.glyphicon-tree-conifer:before{content:"\e199";}
.glyphicon-tree-deciduous:before{content:"\e200";}
.glyphicon-briefcase:before{content:"\1f4bc";}
.glyphicon-calendar:before{content:"\1f4c5";}
.glyphicon-pushpin:before{content:"\1f4cc";}
.glyphicon-paperclip:before{content:"\1f4ce";}
.glyphicon-camera:before{content:"\1f4f7";}
.glyphicon-lock:before{content:"\1f512";}
.glyphicon-bell:before{content:"\1f514";}
.glyphicon-bookmark:before{content:"\1f516";}
.glyphicon-fire:before{content:"\1f525";}
.glyphicon-wrench:before{content:"\1f527";}


私にとっては御馳走のように働きました!ありがとう!
theshadow124


3

ワンライナーソリューションを探している人は、Bootstrap Glyphiconsのみをインポートできます。

<link href="https://stackoverflow.com//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" type="text/css" rel="stylesheet">

他の多くのものを壊します
ボブ・クレアハウト

もっと知りたいです。@BobClaerhout
R.グルン

覚えている2つのこと:フォントの変更とブートストラップの日付ピッカー(bootstrap-datepicker.readthedocs.io/en/latest)は、その素晴らしいフォーマットを
失ってい

2

概要:

グリフィコンなしのブートストラップ4を使用しています。グリフィコンに依存するブートストラップツリービューの問題を発見しました。私はツリービューをそのまま使用しています。また、scss @extendを使用して、アイコンクラススタイルをフォントの素晴らしいクラススタイルに変換しています。これは非常に洗練されていると思います(私に尋ねれば)。

詳細:

私はscss @extendを使用してそれを処理しました。

以前に私がfont-awesomeを使用することを決めたのは、過去に使用したのと同じ理由があります。

ブートストラップツリービューを試してみたところ、グリフィコンがインストールされていなかったため、アイコンが欠落していることがわかりました。

私はscss @extend機能を使用して、glyphiconクラスがfont-awesomeクラスを次のように使用することを決定しました。

.treeview {
  .glyphicon {
    @extend .fa;
  }
  .glyphicon-minus {
    @extend .fa-minus;
  }
  .glyphicon-plus {
    @extend .fa-plus;
  }
}

2

Laravel 5.6を使用している場合は、Bootstrap 4が付属しています。必要なものは次のとおりです。

npm install and npm install open-iconic --save

/resources/assets/sass/app.scss変化のラインは、Googleがライン2上の輸入をするフォント

@import '~open-iconic/font/css/open-iconic-bootstrap';

あなたが今する必要があるのは

npm run watch

そして含む

<link rel="stylesheet" href="{{asset('css/app.css')}}">

マスターブレードファイルの上に <script src="{{asset('js/app.js')}}"></script>ボディタグを閉じる前。Bootstrap 4とアイコンが表示されます。

使い方は <span class="oi oi-cog"></span>

アイコンの詳細については、ここを参照してください。アイコンを開く:Bootstrap 4で推奨

Laravel以外のプロジェクトの場合@import 'node_modules/open-iconic/font/css/open-iconic-bootstrap-min.css';は、スタイルファイルにインポートするだけです。

お役に立てれば。ハッピーしよう。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.