Перекрытие размещения логотипа // Joomla Bootstrap

На моем сайте Bootstrap Joomla 3.x я хочу разместить логотип, перекрывающий панель навигации и слайд-шоу, как это :

скриншот

Панель навигации имеет «фиксированный верх», а слайд-шоу размещается вне любого другого контейнера, чтобы отображаться в полную ширину. Чтобы еще больше усложнить ситуацию, логотип должен быть закреплен сверху при прокрутке, как панель навигации. Но на мобильном телефоне он должен двигаться вверх (опять же, как панель навигации) и даже заменяться другим (меньшим) изображением.

Как это могло быть достигнуто?

Логотип ссылается на домашнюю страницу, что прямо сейчас делается путем размещения как href, так и самого изображения логотипа в index.php.

Чтобы легко изменить изображение в соответствии с окном просмотра, мне пришлось бы сделать это в css. Но тогда как связать с домом?

Пожалуйста, помогите мне правильно разместить изображение логотипа (отзывчивое).

.logo-wrapper {
	position: relative;
	z-index:1;
}	
	
.toplogo {
   position:absolute;
   width:auto;
   height:auto;
   z-index:10;
   left: 0px;
   top: 0px;
}
<body id="<?php echo ($itemid ? 'itemid-' . $itemid : ''); ?>">

			    <div id="toplogo">
				<a href="<?php echo $root = JURI::root();?>" onfocus="blur()">
				<img src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/images/logo-test.png" title="Zur Startseite" alt="<?php echo $root = JURI::root();?>" border="0"/>
				</a>
				</div>  
  
    <!-- Begin Navbar-->
    <?php if ($this->countModules('position-9')): ?>
      <div class="navbar navbar-inverse navbar-fixed-top">
      <!-- navbar-inverse navbar-fixed-top -->
        <div class="navbar-inner">
          <div class="container">
            <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
              <span class="icon-bar"></span>
              <span class="icon-bar"></span>
              <span class="icon-bar"></span>
            </a>          
            <!--<a class="brand" href="#"><?php echo $sitename ?></a>-->
            <div class="nav-collapse collapse">
              <jdoc:include type="modules" name="position-9" style="none" />
            </div>
          </div>
        </div>
      </div><!--End navbar-->
      <?php endif; ?>
  
        <?php if ($this->countModules('position-5')): ?>
				<div class="bigimage">
					<jdoc:include type="modules" name="position-5" style="none" />
					<div class="clearfix"></div>
				</div><!--End Bigimage-->        
				<?php endif; ?>

	<div class="container">
    
		<!-- Begin Header-->
		<div class="header">
			<div class="header-inner">​


person Lyzarr    schedule 22.04.2015    source источник
comment
К сожалению, пока нет ответа. Я знаю, что прошу многого, но я пытался сделать это сам уже два дня, но безуспешно. Я даже нашел еще один вопрос (stackoverflow.com/questions/11816819/), но, к сожалению, это не сработало. Чего я хочу добиться, также можно увидеть здесь: skagosoil.gr. Тем временем я вернул ссылку с логотипом обратно в контейнер навигационной панели...   -  person Lyzarr    schedule 23.04.2015


Ответы (1)


Рассмотрим этот макет:

<div class="row top-menu-row"> <!-- added .row -->
    <div class="span3"> <!-- added .span3 -->
        <a class="toplogo" href="http://www.lyzarr.com/testsite/" onfocus="blur()" style="z-index: 1; position: absolute;">
            <img style="" src="/testsite/templates/test-template-joomla3-bootstrap_101/images/logo-test.png" title="Zur Startseite" alt="http://www.lyzarr.com/testsite/" border="0">
        </a>
    </div> <!-- end .span3 -->
    <div class="span9 hidden-desktop"> <!-- added .span9 -->
        <a class="btn btn-navbar collapsed" data-toggle="collapse" data-target=".nav-collapse">
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        </a>
    </div> <!-- end .span9 -->
    <div class="span9"> <!-- added .span9 -->
        <div class="nav-collapse collapse" style="z-index: 2; height: 0px;">
            <ul class="nav menu  nav-tabs">
<li class="item-101 current active"><a href="/testsite/"><span>Home</span></a></li><li class="item-102 dropdown deeper parent"><a class=" dropdown-toggle" data-toggle="dropdown" href="#"><span>About<b class="caret"></b></span></a><ul class="nav-child unstyled small dropdown-menu"><li class="item-103"><a href="/testsite/about/info.html"><span>Info</span></a></li></ul></li></ul>
        </div>
    </div> <!-- end .span9 -->
</div>

Здесь сначала идет логотип, а после него меню. Поскольку ваша загрузочная версия 2.3.2, она делает все столбцы шириной 100%, если устройство имеет горизонтальное разрешение 480 пикселей и ниже. Добавление следующих стилей исправит ширину ваших столбцов в процентах независимо от разрешения экрана:

.top-menu-row .span3
{
    width: 22% !important;
    float: left; 
    height: auto;     
}

.top-menu-row .span9
{
    width: 74% !important;
    float: right;
}

и в медиа-запросе для устройств удалите absolute позиционирование, чтобы ваш логотип соответствовал ширине столбца:

@media (max-width: 767px) {
    a.toplogo {
        position:relative;
    }
}
person Tony    schedule 24.04.2015
comment
Прежде всего, большое спасибо за то, что выручили меня снова! Я не мог действительно изучить это до сих пор, так как я был очень болен. Я вставил код, который вы предоставили, и сначала все выглядит нормально (спасибо!), но как только вы изменяете размер окна браузера, логотип становится шатким. Я поместил гифку, чтобы продемонстрировать это: lyzarr.com/stuff/dancing-logo.gif Я проверил css, есть ли что-то, что могло бы вызвать это, но, поскольку я до сих пор не задавал никаких медиа-запросов в отношении логотипа, похоже, это не так. - person Lyzarr; 26.04.2015
comment
Большое спасибо, теперь это работает. Последний бит (@media) на самом деле не имеет никакого значения, когда я его комментирую?! Единственное, чего сейчас не хватает, так это автоматической замены логотипа на другой, более компактный. Так что я имею в виду совсем другой файл, например logo_test_sm.png, который также вписывается в навигационную панель по высоте. Простое уменьшение логотипа с помощью медиазапроса сделало бы его трудночитаемым. Большой будет больше похож на значок, маленький должен содержать только сам логотип. - person Lyzarr; 26.04.2015
comment
Его следует заменить, когда меню сворачивается и отображается меню гамбургера. (просто для уточнения) - person Lyzarr; 26.04.2015
comment
@Lyzarr, тогда вам нужно использовать свойство div со свойством background-image и установить его с помощью медиа-запроса вместо тега img внутри a.toplogo - person Tony; 26.04.2015
comment
Думал об этом, но не был уверен, что есть решение сделать весь div ссылкой, так как размещение его внутри ‹a href› недопустимо. Но нашел решение для этого здесь: digitalskydesign.com/how-to-make-an-entire-div-a-link-using-css . Кажется, работает. Теперь просто хочу выровнять пункты меню по левому краю (в свернутом меню). Поэтому я помещаю .top-menu-row .span9 { width: 74% !important; поплавок: справа; в медиа-запрос, но затем маленький элемент div с логотипом снова исчезает. - person Lyzarr; 26.04.2015
comment
471 строка в вашем template.css вы забыли закрыть } в правиле - person Tony; 26.04.2015
comment
Вау, нет, это было глупо. - Я не могу отблагодарить вас за вашу щедрую помощь. Ты действительно потрясающий. Огромное спасибо! - person Lyzarr; 26.04.2015