#php #css #background-image
#php #css #фоновое изображение
Вопрос:
Прошло чертовски много времени с тех пор, как я что-либо кодировал, и недавно я снова создал новый сайт, основанный на популярной франшизе Minecraft. В любом случае, у меня возникают небольшие проблемы, когда дело доходит до фактического отображения панели навигации, как мне хотелось бы. По сути, у меня есть фоновое изображение, которое я хочу разместить на логотипе, навигации и значках социальных сетей, рассматриваемое изображение:
http://minethediamond.com/wp-content/themes/minethediamond/img/navbg.jpg
И в этом проблема. У меня есть контейнер разделов для классов ul значков логотипа, навигации и социальных сетей, но он просто охватывает только логотип и ничего больше, и я понятия не имею, почему. Сайт, как вы можете видеть, находится по адресу MineTheDiamond.com .
Для конкретного кода, который я добавил, это, по сути, это в CSS:
.top-bar-section {background-image: url('../img/navbg.jpg'); width: auto; }
Есть также несколько других тупиковых стилей, которые я пытался дублировать в CSS, чтобы на самом деле отобразить навигацию, но, как уже упоминалось, это не сработало.
И, конечно же, обязательный материал в разделе заголовка:
<div class="large-3 small-12 columns">
<P><P><div class="navcontainer"><div id="minenav">
<section class="top-bar-section"><ul class="left"><div id="logo">
<a href="<?php echo home_url('/'); ?>"
title="<?php echo esc_attr(get_bloginfo('name', 'display')); ?>" rel="home">
<img src="<?php /* Use the default logo (logo.png) if custom logo does not exist */
if ($smof_data['pkb_custom_logo']) : echo $smof_data['custom_logo']; else: echo get_template_directory_uri();?>/img/logo.png<?php endif; ?>"
alt=" logo"/>
</a></ul>
<?php
wp_nav_menu(array(
'theme_location' => 'primary',
'container' => false,
'depth' => 0,
'items_wrap' => '<ul class="left">%3$s</ul>',
'fallback_cb' => 'menu_fallback', // workaround to show a message to set up a menu
'walker' => new peekaboo_walker(array(
'in_top_bar' => true,
'item_type' => 'li'
)),
));
?>
<?php include 'incl/social-toolbox.php'; ?></section>
</div>`
Заранее спасибо всем! 🙂
Комментарии:
1. 1. Для чего нужны <p><p> ? 2. Вы пытались сделать ul и div внутри фона прозрачными?
2. <p> <p> это просто для того, чтобы я мог видеть, что я делал во время входа в систему, и убедиться, что все в порядке, прежде чем добавлять различные поля. 🙂
Ответ №1:
Это делает свое дело, просто расположите элемент и установите background-size: cover;
.top-bar-section {
background-image: url('../img/navbg.jpg');
width: auto;
position: relative;
float: left;
background-size: cover;
}
Возможно, у вас есть некоторые проблемы с IE8, на которые стоит обратить внимание, но это должно сработать для большинства.
И если вы хотите, чтобы верхняя часть занимала весь заголовок, просто измените ширину с auto на 100%
Комментарии:
1. Это решило проблемы, которые у меня были, но теперь я беспокоюсь об обходных путях для IE8; стоит ли просто использовать панель навигации в Photoshop, чтобы убедиться, что все в порядке в браузерах, или есть обходной путь?
2. @StevenR Вы можете сделать, я обычно не слишком беспокоюсь об этом, я бы проверил вашу аналитику, когда сайт запущен, и если есть большая часть пользователей IE8, тогда посмотрите, что делать, на моих сайтах они представляют небольшое число, но это решение, которое вам нужно принять.
Ответ №2:
Вы хотите посмотреть background-size:cover
, чтобы содержать весь div с одним изображением
имейте в виду, что это не будет работать в IE8, поэтому его следует подкрепить резервным вариантом
Подробнее читайте здесь https://developer.mozilla.org/en-US/docs/Web/CSS/background-size
Комментарии:
1. Привет, спасибо за помощь! Теперь оно охватывает всю область, но по какой-то причине оно больше не разделено по оси x, а вместо этого просто идет вниз в формате списка? Любая помощь? Извините, что это боль!
2. найдите эту строку
<div class="large-3 small-12 columns">
@StevenR изменить наlarge-12
и нет смысла ставить здесь small-12