Горизонтальное меню с двухстрочными элементами

Прислано: yaguarchik

вт, 01/05/2007 - 15:29

Подскажите пожалуйста, как реализовать через CSS горизонтальное меню (primary links) с двухстрочными элементами наподобие этого:

Комментарии


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано blackvl@drupal.org в вт, 01/05/2007 - 15:36.

А если тупо в название пункта меню тег <br> вставить?


Опубликовано yaguarchik в вт, 01/05/2007 - 15:44.

Неа. Не получается. Появится просто вот такая надпись "Фирменный<br>стиль"


Опубликовано blackvl@drupal.org в вт, 01/05/2007 - 16:05.

Видимо тогда все же придется перегрузить theme_menu_item()...


Опубликовано yurg в ср, 02/05/2007 - 07:24.

Или так:

 display: block;
width: 150px;
text-align: center;

Или так: http://dorward.me.uk/www/centre/

Ну или совсем вот так: http://www.google.ru/search?source=ig&hl=ru&q=text+align+center+%D1%87%D...


Опубликовано yaguarchik в ср, 02/05/2007 - 08:53.

По хорошему, это надо бы организовать с помощью

Display: inline-block;
width: 60px;

Но Firefox не поддерживает, аргумент "inline-block". Кто-нибудь знает, как обойти это ограничение?

UPD: Для Firefox надо писать:

Display: -moz-inline-box;
Display: inline-block;
width: 60px;

Но это почему то в моем случае не работает.


Опубликовано romandor в ср, 02/05/2007 - 11:42.

Нарисуйте кнопки, инече нет гарантии что у вас не получится трёхстрочных элементов


Опубликовано wolfphantom в пт, 20/01/2012 - 09:41.

Вставьте следующее в template.php и можно будет использовать тег br в пункте меню. (И незабудте очистить кэш)
Проверено на Drupal 7 работает, для шестой версии скорее всего не будет работать.

/**
* Override theme_menu_link() to add line breaks in menu items
* that have a <br> or <br/> or <br />  placed in them.
*/
function YOURTHEME_menu_link(array $variables) {
  $element = $variables['element'];
  $sub_menu = '';
 
  if ($element['#below']) {
    $sub_menu = drupal_render($element['#below']);
  }
  $output = l($element['#title'], $element['#href'], $element['#localized_options']);
 
  // Replace text line breaks with html line breaks. 
  $output = str_replace("&lt;br&gt;", "<br/>", $output); 
  $output = str_replace("&lt;br/&gt;", "<br/>", $output);
  $output = str_replace("&lt;br /&gt;", "<br/>", $output);
 
  return '<li' . drupal_attributes($element['#attributes']) . '>' . $output . $sub_menu . "</li>\n";
}


Новое на сайте

Ссылки партнёров