CSS-ek sorrendje

pante képe

Sziasztok!

Használom oldalamon a popup_message nevű modult, aminek lényege, hogy lightbox-szerű ablakot lehet az oldalon nyitni, benne egyéni tartalommal.
Ezt én úgy használom, hogy a weboldalamon köszöntöm a látogatóimat, ha van valamilyen alkalom: karácsony, újév, húsvét.

Emellett használom a superfish modult is a többszörösen lenyíló menükialakítás miatt.

A problémám az, hogy a superfish css-e később töltődik be, mint a popup_message-é, emiatt a menü a lightbox ablak fölé csúszik.
Próbáltam !important parancsot használni a popup_message css-ében, mint univerzális trükk, de sajnos nem működik így sem.
Fel szeretném cserélni a 2 css fájl betöltési sorrendjét, ezt hogyan és milyen módon tudnám megtenni?
(A popup_message modul az év nagy részében ki van kapcsolva, csak ünnepi alkalmakkor használom.)

Köszönöm a segítségeteket!

Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 
peri22 képe

2 megoldás jutott eszembe így hirtelen:

Modulok súlya
elméletileg ezt meg tudod úgy oldani, hogy megváltoztatod a modulok súlyát, mert a csseket úgy pakolja be ahogy egymás után meghívódnak a drupal_add_css fv-ek. Amikor 2 modulnak azonos a súlya, akkor abc sorrendben fognak lefutni. Ezért kerül a superfish csse a popup message után.

Több lehetőséged is van a súlyok megváltoztatására

  1. Belépsz az adatbázisba és a system tábla weight oszlopát módosítod (pl a popup_message modult -1re állítod.)
  2. vagy kódból
  3. vagy modul segítségével

Css súlya
Talán így lenne szebb megoldani:

amikor bepakolod a csst, akkor lehet súlyt adni neki: https://api.drupal.org/api/drupal/includes!common.inc/function/drupal_ad...

a már bepakolt cssek súlyait így tudod módosítani:

https://api.drupal.org/api/drupal/modules!system!system.api.php/function...

  1. /**
  2.  * Implements hook_css_alter().
  3.  */
  4. function MYMODULE_css_alter(&$css) {
  5. $css['sites/all/module/contrib/blabla/css/blabla.css']['weight'] = 10;
  6. }
2
0
nemethf képe

A css-ek betöltési sorrendjétől független a HTML elemek átfedése. A superfish menü azért kerül a Popup menu overlay fölé, mert a superfish stylesheet-je magasabb z-index értéket határoz meg a menü elemekre, mint a popup message stíluslapja a popup-message-background azonosítójú div-hez.
A köv. sorrendnek kell teljesülnie a helyes működéshez fentről lefelé haladva:
- felugó üzenet: #popup-message-window
- felugró üzenet háttere: #popup-message-background
- superfish menü elemei: .sf-menu, .sf-menu li
- minden további elem

Szerintem a popup message id-k z-index-ét növeld meg.

3
0