logo

パレット - カラフルに🎨

Palette — ビジュアルページビルダー、デザインの専門知識は不要です。

ライブデモ パレットをダウンロード

Scroll

デフォルトの CSS ファイルの削除または上書き

17/04/2025, by Ivan

ときには、system.css、defaults.css、system-menus.css のようなデフォルトの CSS ファイルを変更または削除する必要があります。これらのファイルを直接編集することもできますが、そうすると将来の Drupal 更新時に変更が失われるリスクがあります。これを避けるには、これらのファイルを Drupal による出力から除外するのが最善です。それらのファイルの CSS ルールがまだ必要な場合は、テーマの style.css にコピーしてそこで編集できます。こうすれば、CSS を誤って上書きされることから守れます。

これを行うには、テーマディレクトリに template.php ファイルを作成します(まだ存在しない場合)。そのファイルに次のコードを追加します:

function phptemplate_preprocess_page(&$vars) {
  $css = $vars['css'];
  unset($css['all']['module']['modules/system/system.css']);
  unset($css['all']['module']['modules/system/defaults.css']);
  unset($css['all']['module']['modules/system/system-menus.css']);
  $vars['styles'] = drupal_get_css($css);
}

これで、それらのファイルから必要な CSS ルールをテーマの style.css にコピーし、自由に変更できます。

同じ手法は、ドロップダウンメニューの作成によく使われる Nice Menus モジュールの CSS ファイルにも適用できます。そのスタイルは style.css で上書きする方がよいでしょう。モジュールの CSS ファイルを除外するには、template.php に次のコードを追加します:

function phptemplate_preprocess_page(&$vars) {
  $css = $vars['css'];
  unset($css['all']['module']['modules/system/system.css']);
  unset($css['all']['module']['modules/system/defaults.css']);
  unset($css['all']['module']['modules/system/system-menus.css']);
  unset($css['all']['module']['sites/all/modules/nice_menus/nice_menus.css']);
  unset($css['all']['module']['sites/all/modules/nice_menus/nice_menus_default.css']);
  $vars['styles'] = drupal_get_css($css);
}

注意: パス nice_menus/nice_menus_default.css は、Nice Menus モジュールがフォルダー名にバージョン番号を含まない sites/all/modules/nice_menus フォルダーにあることを前提としています。

drupal nice menu