Jump to content
  • 0

Проблема верстки только в Firefox


IndigoHollow
 Share

Question

Дело в следующем: при наведении на пункт меню, над ними появляются иконки. Вот демка:

 

http://videostroy.com/

 

Во всех браузерах кроме Firefox иконки отображаются верно. Каждая последующая иконка отсчитывают координату X от предыдущей. И только в Firefox отсчет ведется от начала блока. Помогите решить проблему пожалуйста.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html><head>	<title></title>		<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.1.min.js"></script>		<script type="text/javascript">	$(document).ready(function() { 		$('.link1').hover(function() { 			$('#ico1').show(); } ).mouseout(function() { 				$('#ico1').hide(); } );		$('.link2').hover(function() { 			$('#ico2').show(); } ).mouseout(function() { 				$('#ico2').hide(); } );		$('.link3').hover(function() { 			$('#ico3').show(); } ).mouseout(function() { 				$('#ico3').hide(); } );		$('.link4').hover(function() { 			$('#ico4').show(); } ).mouseout(function() { 				$('#ico4').hide(); } );		$('.link5').hover(function() { 			$('#ico5').show(); } ).mouseout(function() { 				$('#ico5').hide(); } );		$('.link6').hover(function() { 			$('#ico6').show(); } ).mouseout(function() { 				$('#ico6').hide(); } );		$('.link7').hover(function() { 			$('#ico7').show(); } ).mouseout(function() { 				$('#ico7').hide(); } );	});	</script>		<style>		.menu-top-icons {			margin-bottom: -5px;			position: relative;			/*border: 1px dashed black;*/		}		.menu-top-icons ul {			width: 95%;			float: right;		}		.menu-top-icons ul li {			display: inline-block;			text-align: center;		}		.menu-top {			padding: 0 5px 0 0;			margin: 47px 0 0 442px;			position: absolute;		}		.menu-top ul {			width: 187%;			float: right;			display: table;			border-collapse: collapse;		}		.menu-top ul li {			display: table-cell;			/*text-align: center;*/		}		.menu-top ul li a {			text-decoration: none;			color: #444; 			font: normal 18px Tahoma;		}		.menu-top ul li a:hover {			border-bottom: 1px dashed #95705d;			color: #95705d;		}				#ico1, #ico2, #ico3, #ico4, #ico5, #ico6, #ico7 {			display: none;			vertical-align: bottom;		}	</style></head><body>	<div class="menu-top-icons">		<ul>			<li style="margin-left: 34px;"><img src="images/home.png" width="50" id="ico1"></li>			<li style="margin-left: 101px;"><img src="images/about.png" id="ico2"></li>			<li style="margin-left: 83px;"><img src="images/services.png" width="45" id="ico3"></li>			<li style="margin-left: 104px;"><img src="images/articles.png" id="ico4"></li>			<li style="margin-left: 95px;"><img src="images/reviews.png" id="ico5"></li>			<li style="margin-left: 152px;"><img src="images/qanda.png" id="ico6"></li>			<li style="margin-left: 165px;"><img src="images/contacts.png" id="ico7"></li>		</ul>		<div class="menu-top">			<ul>				<li><a href="/" class="link1" onMouseOver="a_hover();"  onMouseOut="a_out();">Главная</a></li>				<li><a href="about.html" class="link2" onMouseOver="a_hover();"  onMouseOut="a_out();">О нас</a></li>				<li><a href="services.html" class="link3" onMouseOver="a_hover();"  onMouseOut="a_out();">Услуги</a></li>				<li><a href="articles.html" class="link4" onMouseOver="a_hover();"  onMouseOut="a_out();">Статьи</a></li>				<li><a href="reviews.html" class="link5" onMouseOver="a_hover();"  onMouseOut="a_out();">Отзывы</a></li>				<li><a href="faq.html" class="link6" onMouseOver="a_hover();"  onMouseOut="a_out();">Вопрос-ответ</a></li>				<li><a href="contacts.html" class="link7" onMouseOver="a_hover();"  onMouseOut="a_out();">Контакты</a></li>			</ul>		</div>	</div></body></html>
Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0

Там и так таблица, в плане форматирования. В этом и корень проблемы — это, увы, давний баг Фокса (буквально на пррошлой неделе там какй-то патч нарисовался, но статус бага пока не изменился). Классический обходной путь — дополнительная блочная обертка внутри table-cell, которой задается relative вместо ячейки. Сейчас можно попробовать заменить table-* на новые флексбоксы (без -moz-), с ними такой проблемы нет.

Link to comment
Share on other sites

  • 0

Там и так таблица, в плане форматирования. В этом и корень проблемы — это, увы, давний баг Фокса (буквально на пррошлой неделе там какй-то патч нарисовался, но статус бага пока не изменился). Классический обходной путь — дополнительная блочная обертка внутри table-cell, которой задается relative вместо ячейки. Сейчас можно попробовать заменить table-* на новые флексбоксы (без -moz-), с ними такой проблемы нет.

Добавил блочную обертку. Так? если да, то не работает

<div class="menu-top">	<ul>		<li><div style="position: relative;"><a href="/" class="link1" onMouseOver="a_hover();"  onMouseOut="a_out();">Главная</a></div></li>		<li><div style="position: relative;"><a href="about.html" class="link2" onMouseOver="a_hover();"  onMouseOut="a_out();">О нас</a></div></li>		<li><div style="position: relative;"><a href="services.html" class="link3" onMouseOver="a_hover();"  onMouseOut="a_out();">Услуги</a></div></li>		<li><div style="position: relative;"><a href="articles.html" class="link4" onMouseOver="a_hover();"  onMouseOut="a_out();">Статьи</a></div></li>		<li><div style="position: relative;"><a href="reviews.html" class="link5" onMouseOver="a_hover();"  onMouseOut="a_out();">Отзывы</a></div></li>		<li><div style="position: relative;"><a href="faq.html" class="link6" onMouseOver="a_hover();"  onMouseOut="a_out();">Вопрос-ответ</a></div></li>		<li><div style="position: relative;"><a href="contacts.html" class="link7" onMouseOver="a_hover();"  onMouseOut="a_out();">Контакты</a></div></li>	</ul></div>
Link to comment
Share on other sites

  • 0

Решил проблему так: создал реальную таблицу (а не числящуюся таблицей только из-за display: table) и поместил в верхние ячейки иконки, а в нижние пункты меню. Рабочий вариант этого меню тут.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Similar Content

    • By мурамаса
      Добрый день, сверстал страницу с блоком новостей которые идут под меню колонкой, по одному блоку в ширину контейнера. В хроме все нормально и в файрфокс на моем ноутбуке с разрешением 1366х768 тоже, но с другого компа верстка сьезжает именно в firefox. Немного полазил в браузере и блок становится на место если убрать overflow: hidden, но тогда текст соотвественно вылезает за пределы блока. Скинул весь css на всякий случай.
      body { margin: 0; padding: 0; background: url(/img/casfon.jpg); } .frame { width: 1200px; background-color: white; margin: 0 auto; box-sizing: border-box; -moz-box-sizing: border-box; } .box { width: 1100px; margin: 0 auto; box-sizing: border-box; -moz-box-sizing: border-box; } header { background: url(/img/casino.jpg) no-repeat center; height: 300px; } /* БЛОК НОВОСТЕЙ ГЛАВНОЙ СТРАНИЦЫ*/ .news { margin-left: 100px; margin-bottom: 100px; } .news-block { width: 800px; padding: 10px; margin: 0 0 40px 0; height: 310px; overflow: hidden; text-overflow: clip; font-size: 15px; text-align: justify; line-height: 1.3; } .news-block h2 { font-size: 22px; } .news-block h2 a { text-decoration: none; } .news-image { float: left; width: 300px; height: 280px; padding: 10px; } /* СТИЛИ ЦЕНТРАЛЬНОГО МЕНЮ */ .menu { float: left; border-bottom: solid red 2px; width: 100%; margin-bottom: 50px; } .menu li { list-style-type: none; font-size: 25px; float: left; margin: 0px 0 auto 50px; padding: 20px; } .menu li a { text-decoration: none; } .menu li:hover { background-color: red; } /* СТАТЬЯ КОНТЕНТ ОСНОВНОЙ */ .title { text-align: center; font-size: 25px; } .content { font-size: 18px; text-align: justify; float: left; margin: 30px auto 50px auto; } .content p { overflow: hidden; } .image { width: 330px; height: 300px; margin: 0 auto 20px 20px; clear: both; } .icon { width: 25px; height: 25px; float: left; margin-right: 25px; } /* СТИЛИ ДЛЯ ФОРАМТИРОВАНИЯ ТЕКСТА */ .red { color: red; } /* ПОДВАЛ */ footer { font-size: 13px; text-align: center; padding-top: 40px; display: block; height: 30px; margin-top: -60px; clear: both; border-top: 2px solid red; }  


    • By celiFox
      Доброго времени суток,
      столкнулся с проблемой, скрипт не работает в Firefox но прекрасно работает в Chrome.
      Суть скрипта, каждые 10 секунд "переключать" рандомную фотку
      вот скрипт:
      <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"> </script>         <script> $(document).ready(function() { $('#slider4').children('div').each(function(n_div,div) { $(div).children('img').each(function(n_img,img) { if(n_img) $(img).css({'opacity':'0.0'}); else { $(div).attr({'value':(n_img+1)}); $(img).css({'opacity':'1.0'}); } }); }); window.setInterval(function() { $('#slider4').children('div').each(function(n,element) { var img = $(element).attr('value');; var rnd = Math.floor(Math.random()*(5-1+1))+1; if(img != rnd) { $(element).attr({'value':rnd}); $(element).children('#img' + (n + 1) + img).animate( {'opacity':'0.0'}); $(element).children('#img' + (n + 1) + rnd).animate( {'opacity':'1.0'}); } }); },10000); }); </script>  
      P.S Скрипт не мой, взял с этого форума, вырезал лишнее. Не кидайтесь сильно камнями) 
    • By мурамаса
      Добрый день! Создал меню, текст в google chrome отображается не вылезая за границы, а в firefox как на картинке. В чем проблема и как это исправить?

    • By DobroFenix
      Всем привет. Столкнулся с такой необъяснимой проблемой: 
      Имеется страница на которой есть текстовые инпуты и кнопка, которая открывает фрейм с другими инпутами.
      Имеется userscript, которые реализует функционал виртуальной клавиатуры http://userscripts-mirror.org/scripts/show/10974
      Он работает на всех страницах в яндексе, в гугле, в инпутах на моём сайте, но не работает в инпутах внутри открывающегося фрейма
      Почему внутри фрейма может не выполняться userscript? В консоле браузера нет ни каких ошибок и вызова юзерскрипта.
       
      Так же интересуют альтернативные варианты создания(подключения) виртуальной клавиатуры внутри фрейма с чужим сайтом.
    • By senglory
      Только вот такое дерьмо не надо предлагать. Надо IDE типа Visual Studio, но с возможностью прицепиться к их процессам и дебагать их JS.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy