1

Rails 3 アプリに変換している HTML/CSS バージョンのサイト (Bootstrap 上に構築) があります。

アセット パイプラインに頭がおかしくなりそうです。

gem によって生成されるbootstrap_and_overrides.css.scssファイルが原因で、Rails アプリでの表示方法と通常の HTML ファイルの間で競合が発生します。

そのようなことの 1 つは、一部のフォント スタイルの上書きと思われるものです。

h3たとえば、これは 1 がどのように見えるかです。

HTML スタイル

これはh3、Rails アプリで同じものをレンダリングする方法です。

レールスタイル

したがって、ページの表示方法に関する問題は、これらの特定のスタイルにあります....しかし、このスタイルが上書きされている理由がわかりません。

これが行われている理由を見つける方法についてのヒントがあれば幸いです。

また、私を悩ませていることの 1 つは、media=allそのスクリーンショットの Rails バージョンにあります。それがこれらの問題に寄与しているかどうかはわかりません。

編集 1

@coreyward が指摘したように、スタイルシートが初期化される順序だった可能性があります。私の元の HTML/CSS ファイルでは、Bootstrap & Font-Awesome 関連の css が . の前に宣言されていmain.cssます。しかし、Rails では逆です。

私の最初の宣言がapplication.html.erb次のようになっているとします。

<%= stylesheet_link_tag "application", :media => "all" %>

これらの初期化されたものの順序を逆にするにはどうすればよいですか?

編集 2

私はこのbootstrap-sass gemを使用していますが、問題はディレクティブを使用してほしくないということ//=requireです。そのため、CSS マニフェスト ファイルで順序を並べ替えることができません。というか、やり方がわからない。

考え?

4

2 に答える 2

1

media=allスクリーンと印刷を含めるための正当な手段。誰かがサイトを印刷したときにサイトがどのように見えるかを気にしない場合は、media="screen". これらのスタイルの一部がそのようにオーバーライドされている理由については。アセット パイプラインに scaffold.css を含めていないことを確認してくださいrequire_tree .。それは通常、多くの人々を獲得します。また、bootstrap_and_overrides ファイル全体を含める必要はありません。= require twitter/bootstrap/bootstrapその部分だけが欲しければ、あなたはそうすることができます。それがあなたを近づけることを願っています。

于 2012-12-28T06:11:53.673 に答える
0

gembootstrap-sasstwitter-bootstrap-railsrequireに切り替えました。これにより、ディレクティブの順序を指定できるようになりました。

ディレクティブの正しい順序で遊んだ後、私の問題を解決したと思われるものを最終的に見つけました。

于 2012-12-28T19:41:00.390 に答える