ブートストラップ4ハンバーガートグルの色を変更


124

画面サイズが992px未満のときにハンバーガートグラが追加されるブートストラップWebサイトがあります。コードは次のようになります:

<button class="navbar-toggler navbar-toggler-right" 
        type="button" data-toggle="collapse" 
        data-target="#navbarSupportedContent" 
        aria-controls="navbarSupportedContent" 
        aria-expanded="false" 
        aria-label="Toggle navigation"> 
    <span class="navbar-toggler-icon"></span> 
</button>

ハンバーガーのトグルボタンの色を変更する可能性はありますか?


2
コードはbootplyのように実行されません
Jordan.JD

実際には答えではありませんが、advertentiekracht.nl / togglerIcon.htmlでnavbar-toggler-iconをいじることができます。bootstrapstoggler-iconは、ブートストラップスタイルシートを参照する代わりに、外部スタイル要素として使用されます。それを管理する方法も説明されています。
ベンThijssen

回答:


245

navbar-toggler-iconBootstrap 4 の(ハンバーガー)はSVGを使用しますbackground-image。トグラーのアイコン画像には2つの「バージョン」があります。1つは明るいナビゲーションバー用、もう1つは暗いナビゲーションバー用です。

  • navbar-dark暗い背景の明るい/白いトグラーに使用
  • navbar-light明るい背景の暗い/灰色のトグラーに使用

// this is a black icon with 50% opacity
.navbar-light .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;..");
}
// this is a white icon with 50% opacity
.navbar-dark .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;..");
}

したがって、トグラー画像の色を別の色に変更したい場合は、アイコンをカスタマイズできます。たとえば、ここではRGB値をピンク(255,102,203)に設定しています。stroke='rgba(255,102,203, 0.5)'SVGデータの値に注意してください。

.custom-toggler .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,102,203, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}

.custom-toggler.navbar-toggler {
  border-color: rgb(255,102,203);
} 

デモ http://www.codeply.com/go/4FdZGlPMNV

OFC、別のライブラリからのアイコンを使用するための別のオプション、つまりFont Awesomeなど。


Bootstrap 4.0.0を更新します。

ブートストラップ4ベータ版のため、navbar-inverse今でnavbar-dark軽くリンクとトグラー色を生成するために暗い背景色でnavbarsに使用します。


Bootstrap 4のナビゲーションバーの色を変更する方法


2
Bootstrap 4ベータ1では、.navbar-inverseクラスはありません。.navbar-lightまたはの2つのクラスから選択できます.navbar-dark
Qrzysio 2017

53

navbarのデフォルトアイコンとしてfont-awesomeアイコンを使用します。

<span class="navbar-toggler-icon">   
    <i class="fas fa-bars" style="color:#fff; font-size:28px;"></i>
</span>

または、古いフォントの素晴らしいバージョンでこれを試してください:

<span class="navbar-toggler-icon">   
    <i class="fa fa-navicon" style="color:#fff; font-size:28px;"></i>
</span>

3
fontawesome 5の場合はバーを使用します。fontawesome.com/icons/bars?style=solid
Murtaza Bhurgri 2018年

それは最高のアイデアです。
Shiva Manhar

7

あなたは非常に簡単な方法でCSSでトグラーボタンを作成することができます、SVGまたは... foramtでフォントを使用する必要はありません。

あなたのボタン:

<button 
     class="navbar-toggler collapsed" 
    data-target="#navbarsExampleDefault" 
    data-toggle="collapse">
        <span class="line"></span> 
        <span class="line"></span> 
        <span class="line"></span>
</button>

ボタンのスタイル:

.navbar-toggler{
width: 47px;
height: 34px;
background-color: #7eb444;

}

あなたの水平線スタイル:

.navbar-toggler .line{
width: 100%;
float: left;
height: 2px;
background-color: #fff;
margin-bottom: 5px;

}

デモ

.navbar-toggler{
    width: 47px;
    height: 34px;
    background-color: #7eb444;
    border:none;
}
.navbar-toggler .line{
    width: 100%;
    float: left;
    height: 2px;
    background-color: #fff;
    margin-bottom: 5px;
}
<button class="navbar-toggler" data-target="#navbarsExampleDefault" data-toggle="collapse" aria-expanded="true" >
        <span class="line"></span> 
        <span class="line"></span> 
        <span class="line" style="margin-bottom: 0;"></span>
</button>


5

クラスnavbar-darkまたはnavbar-lightnav要素に挿入するだけです:

<nav class="navbar navbar-dark navbar-expand-md">
    <button class="navbar-toggler">
        <span class="navbar-toggler-icon"></span>
    </button>
</nav>

4

最も簡単な方法は、このデフォルトのブートストラップコードを置き換えることです。

<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
    <span class="navbar-toggler-icon"></span>
</button>

これで :

<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
    <span class="" role="button" ><i class="fa fa-bars" aria-hidden="true" style="color:#e6e6ff"></i></span>
</button>

そして、あなたのファイルにもこのコードを追加することを忘れないでください:

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> 

それが役に立てば幸い!!


3

ブートストラップをダウンロードした場合は、bootstrap-4.4.1-dist / css / bootstrap.minに移動します

私。.navbar-light .navbar-toggler-iconまたは.navbar-dark .navbar-toggler-iconセレクタを見つける

ii。background-image属性とその値を選択します。スニペットは次のようになります。

.navbar-light .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

iii。スニペットをコピーしてカスタムCSSに貼り付けます

iv。stroke=’rgba(0,0,0,0.5)’値を適切なrgba値に変更します


2

編集:私の悪い!私の答えでは、アイコンはトグルとして動作しません 実際にはれていなくても表示されます...まだ検索しています...

これはうまくいくでしょう:

<button class="btn btn-primary" type="button" data-toggle="collapse" 
    data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent"
    aria-expanded="false" aria-label="Toggle navigation">
    <span>
        <i class="fas fa-bars"></i>
    </span>
</button>

私の答えによって提案されたトリックはnavbar-toggler、を古典的なボタンクラスに置き換えることですbtn以前に回答したように、アイコンフォントを使用することです。

注意してください <button class="navbar-toggler">と、ボタンは「奇妙な」形状になる。

githubのこの投稿で述べたように、ブートストラップは「cssトリック」を使用するため、ユーザーはフォントに依存する必要はありません。

したがって、使用しないでください "navbar-toggler"アイコンフォントを使用する場合は、ボタンクラスをでください。

乾杯。


これは、Bootstrapの一部ではないFont Awesomeを使用する場合にのみ機能します
Zim

Amirreza Mohammadiの回答に対するコメントをリストから削除する必要があると思います。ありがとう。
NoChance

2

かなり簡単なソリューションを開発したところです。(はい、私はこれが古い質問であることを知っていますが、同じ問題を研究している誰かがこれが役立つと思うかもしれません。)

私はhamburger.svgというSVGを使用していました。私はテキストエディタでそれを見て、3本の線の色を設定しているものを見つけることができませんでした-それは確かに私が得る動作なので、デフォルトで黒になっていると思います-したがって、単に「ストローク」パラメータを追加しましたSVGの定義。それはうまくいきませんでした-3本の線の境界線は選択した色(白)でしたが、残りの線はまだ黒だったので、「塗りつぶし」パラメーターも追加しました。そしてそれはトリックをしました!

元のhamburger.svgのコード全体を次に示します。

<?xml version="1.0" ?><!DOCTYPE svg  PUBLIC '-//W3C//DTD SVG 1.1//EN'  'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'><svg height="32px" id="Layer_1" style="enable-background:new 0 0 32 32;" version="1.1" viewBox="0 0 32 32" width="32px" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M4,10h24c1.104,0,2-0.896,2-2s-0.896-2-2-2H4C2.896,6,2,6.896,2,8S2.896,10,4,10z M28,14H4c-1.104,0-2,0.896-2,2  s0.896,2,2,2h24c1.104,0,2-0.896,2-2S29.104,14,28,14z M28,22H4c-1.104,0-2,0.896-2,2s0.896,2,2,2h24c1.104,0,2-0.896,2-2  S29.104,22,28,22z"/></svg>

そして、これを編集してhamburger_white.svgとして保存した後の新しいSVGのコードは次のとおりです。

<?xml version="1.0" ?><!DOCTYPE svg  PUBLIC '-//W3C//DTD SVG 1.1//EN'  'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'><svg height="32px" id="Layer_1" style="enable-background:new 0 0 32 32;" version="1.1" viewBox="0 0 32 32" width="32px" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M4,10h24c1.104,0,2-0.896,2-2s-0.896-2-2-2H4C2.896,6,2,6.896,2,8S2.896,10,4,10z M28,14H4c-1.104,0-2,0.896-2,2  s0.896,2,2,2h24c1.104,0,2-0.896,2-2S29.104,14,28,14z M28,22H4c-1.104,0-2,0.896-2,2s0.896,2,2,2h24c1.104,0,2-0.896,2-2  S29.104,22,28,22z" stroke="white" fill="white"/></svg>

右にスクロールするとわかるように、追加したのは次のすべてです。

stroke="white" fill="white"

パスの最後まで。もう1つ、HTMLでハンバーガーのファイル名を変更する必要がありました。CSSをいじる必要も、別のアイコンを追跡する必要もありません。

かんたん!これを真似て、ハンバーガーを好きな色にすることができます。


1

あなたがブートストラップのsassバージョンで作業する場合、_variables.scssあなたは見つけることができます$navbar-inverse-toggler-bg$navbar-light-toggler-bgどこがあなたのトグルボタンの色やスタイルを変更することができます。

htmlでは、使用するnavbar-inverseか、使用するnavbar-lightバージョンに依存する必要があります。


navbar-lightに関して、ブートストラップ4では動作しません
ボットボット

1

別の方法として、別のアイコンを使用して、より簡単な回避策を常に試すことができます。次に例を示します。

<button type="button" style="background:none;border:none">
    <span class="fa fa-reorder"></span>
</button>

ref:https : //www.w3schools.com/icons/fontawesome_icons_webapp.asp

<button type="button" style="background:none;border:none">
    <span class="glyphicon glyphicon-align-justify"></span>
</button>

ref:https : //www.w3schools.com/icons/bootstrap_icons_glyphicons.asp

そのため、色とサイズを完全に制御できます。

button span {
    /*overwriting*/
    color: white;
    font-size: 25px;
}

ここに画像の説明を入力してください

適用されるボタンのスタイルは、簡単なテスト用です):


1

デフォルトのブートストラップナビゲーションバーアイコン

<span class="navbar-toggler-icon"></span>

Font Awesomeアイコンを追加して削除 class="navbar-toggler-icon"

<span> <i class="fas fa-bars" style="color:#fff; font-size:28px;"></i> </span>


0

カスタムハンバーガーナビゲーションの最適なソリューションを確認してください。

@import "https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css";
.bg-iconnav {
  background: #f0323d;
  /* Old browsers */
  background: -moz-linear-gradient(top, #f0323d 0%, #e6366c 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #f0323d 0%, #e6366c 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #f0323d 0%, #e6366c 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f0323d', endColorstr='#e6366c', GradientType=0);
  /* IE6-9 */
  border-radius: 0;
  padding: 10px;
}

.navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}
<button class="navbar-toggler bg-iconnav" type="button">
<span class="navbar-toggler-icon"></span>
</button>

デモ画像

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