Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > HTML и CSS
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.01.2013, 15:59   #1
ared
Новичок
Джуниор
 
Регистрация: 11.01.2013
Сообщений: 3
По умолчанию Горизонтальное меню и бордер изображения

Здравствуйте!
Есть горизонтальное меню
Меню.jpg

Вот html его вывода

Цитата:
<div id="menu"><ul class="menu" id="mmm">
<li class="item1"><a href="http://xn----7sb3ahia0b.xn--p1ai/"><span>Главная</span></a></li>
<li class="item5"><a href="/novinki.html"><img src="/images/stories/novinki5.gif" alt="novinki" /></a></li>
<li class="item6"><a href="/kontakt.html"><span>Контакты</span></a></li>
<li class="item30"><a href="/katalog.html"><span>Каталог</span></a></li>
<li class="item35"><a href="/sistemaskidok.html"><span>Система скидок</span></a></li>
<li class="item42"><a href="/dostavka.html"><span>Доставка</span></a></li>
<li class="item36"><a href="/articles.html"><span>ЭТО ИНТЕРЕСНО!</span></a></li>
</ul></div>
есть css
Цитата:
@font-face {
font-family: 'AGCooperCyrItalic';
src: url('agcoopercyr_italic-webfont.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
body {font-family: 'Times New Roman', Verdana, sans-serif; font-size: 14px; margin: 0; padding: 0; color:#393939;}
html, body {height: 100%; width: 100%;}

#menu {background:url(../images/menubg.jpg) 0 0 repeat-x; height:46px;}

#menu {
position:relative;
bottom:0px;
margin-top:0px;
padding-top:0px;

}

#menu ul {
width:1100px;
display:block;
list-style-type:none;
margin:0px;
padding:0px;
}

#menu ul li {
display:block;
float:left;
background-image:url(../images/separator.gif);
background-repeat: repeat-y;
background-position: right;
font-family:"AGCooperCyrItalic","Times New Roman";
text-align: center;
vertical-align:middle;
height:46px;
color:#fff;
font-size:16px;
padding-top:0px;
padding-left:20px;
padding-right:20px;
padding-bottom:0px;
margin-bottom:0px;
}

#menu ul li a {
text-decoration:none;
color:#fff;

}


#menu ul li a:hover{color:#F6EB04;
}

#menu ul li a img {
border:0;
}
2 вопроса.
1. Почему у картинки НОВИНКИ не удаляется border?
2.Почему у остальных пуктов меню не выравнивается по вертикале по центру текст?

Такой косяк только в IE9. В Опере,Хроме,Фоксе все ОК. Причем если запускаю на локальном сервере то border у картинки НОВИНКИ пропадает. На хостинге торчит. Выравнивание не работает ни локально ни на хостинге. Прав на файл css на хостинге достаточно.
ared вне форума Ответить с цитированием
Старый 11.01.2013, 21:44   #2
Лубышев
Участник клуба
 
Аватар для Лубышев
 
Регистрация: 23.07.2007
Сообщений: 1,054
По умолчанию

Код:
#menu ul li {
display:inline-block;
zoom:1;
vertical-align:middle;
background-image:url(../images/separator.gif);
background-repeat: repeat-y;
background-position: right;
font-family:"AGCooperCyrItalic","Times New Roman";
text-align: center;
height:46px;
color:#fff;
font-size:16px;
padding-top:0px;
padding-left:20px;
padding-right:20px;
padding-bottom:0px;
margin-bottom:0px;
}
Код:
.menu li a img {border:none;}
если не сработает то попробуйте принудительно:
Код:
.menu li a img {border:none!important;}
Писано по д'Эльфийски

Последний раз редактировалось Лубышев; 11.01.2013 в 21:47.
Лубышев вне форума Ответить с цитированием
Старый 12.01.2013, 14:09   #3
ared
Новичок
Джуниор
 
Регистрация: 11.01.2013
Сообщений: 3
По умолчанию

border убрался, спасибо!

А вот выравнивание по вертикали по цетру в IE так и не работает. В остальных все ОК.

Я думал может что со шрифтом в font-face. Попробовал Arial. Круто...с ним выравнивание нигде не работает. А это-то почему?
ared вне форума Ответить с цитированием
Старый 12.01.2013, 15:15   #4
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Вертикальное выравнивание не работает для блочных элементов (они не являются ячейками таблицы и не могут находиться в потоке со строчными элементами).
То, что в других браузерах выглядит нормально — просто удачное стечение обстоятельств, vertical-align в этом роли не сыграл.
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 12.01.2013, 18:41   #5
Лубышев
Участник клуба
 
Аватар для Лубышев
 
Регистрация: 23.07.2007
Сообщений: 1,054
По умолчанию

Цитата:
Вертикальное выравнивание не работает для блочных элементов
Код:
display:inline-block;
zoom:1;
Это не совсе блочный элемент) если топикстартер сделал все верно то должно сработать
Писано по д'Эльфийски
Лубышев вне форума Ответить с цитированием
Старый 13.01.2013, 00:26   #6
ared
Новичок
Джуниор
 
Регистрация: 11.01.2013
Сообщений: 3
По умолчанию

Да, я уже понял что все в одну кучу в изначальном css написал. Сейчас уже разобрался в блочных и строчных элементах.

В итоге сделал так:
Цитата:
#menu ul li {
display:inline-block;
background-image:url(../images/separator.gif);
background-repeat: repeat-y;
background-position: right;
vertical-align:top;
height:46px;
color:#fff;
font-size:16px;
padding-top:0px;
padding-left:20px;
padding-right:20px;
padding-bottom:0px;
margin-bottom:0px;

}

#menu ul li a {
text-decoration:none;
color:#fff;
line-height:2;
}
Теперь по крайней мере в блоке li блоки гаратировано выровнены по верхней линии. А дальше в блоке li a line-height двигает ссылки вниз. Поскольку у меня известна высота менюшки, то экспериментальным путем значение 2 выводит их на середину. Ну а с IE конечно засада. Он двигает ссылки от верхнего края, но не на середину. Ну хотя бы от верхнего края отлепил и то хорошо. Для него значение 3 выводит на середину. Вот если бы в css были условные комментарии как в HTML...

Вариант с zoom не заработал.
ared вне форума Ответить с цитированием
Старый 14.01.2013, 00:29   #7
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Цитата:
Сообщение от Лубышев Посмотреть сообщение
Это не совсе блочный элемент) если топикстартер сделал все верно то должно сработать
Я говорил про ТС, не про твой коммент)
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 14.01.2013, 20:23   #8
Лубышев
Участник клуба
 
Аватар для Лубышев
 
Регистрация: 23.07.2007
Сообщений: 1,054
По умолчанию

Код:
zoom:1;
поставь... это типа для IE ото он не понимает инлайн-блок
Писано по д'Эльфийски
Лубышев вне форума Ответить с цитированием
Старый 15.01.2013, 10:52   #9
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

он и с зумом не поймет...
чтобы достучаться до ослика, нужно объявить блок строчным, затем зумом содержимое слепится в блок и по логике вещей и получится обычный инлайн-блок:
Код:
li {
  *display:inline;
  zoom:1;
}
Alar, верни репу!
Naive вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Горизонтальное меню oтoбражение в ie IIuXTo HTML и CSS 5 07.05.2011 12:43
горизонтальное меню s.talke.r Паскаль, Turbo Pascal, PascalABC.NET 1 18.12.2010 17:12
Горизонтальное меню на CSS. yermolenko HTML и CSS 2 27.05.2010 10:47
Горизонтальное меню Brutallus Общие вопросы C/C++ 3 21.11.2009 21:07
Опера и IE. Горизонтальное меню. sun-pa HTML и CSS 2 28.02.2009 17:20