Здравствуйте! Использую nice menu + responsive bartik + дополнительные файлы CSS для меню.
Пункт меню сужается в мобильной версии,
чего не наблюдалось до добавления своего CSS файла.
(так выглядит при выключении дополнительного файла css)
Что могло в CSS к этому привести?
Пробую менять % на размер в em, уменьшаю всякие paddings, но все равно.
На что еще смотреть?
Я предполагаю, что это где-то в этой части
z-index: 99
}
#block-nice-menus-2 ul{
margin-bottom:5px;
width: 100%;
}
#block-nice-menus-2 ul a{
padding: 12px;
color: #000;
font-size: 18px;
display: inline-block;
width:90%
}
#block-nice-menus-2 ul li{
margin-right: 7px;
text-align: center;
width: 19%;
border-radius: 10px;
}
Как это исправить?
Или придется все же в шаблоне править?
В самом nice menu такой код:
Global CSS for ALL menu types
******************************/
ul.nice-menu,
ul.nice-menu ul {
list-style: none;
padding: 0;
margin: 0;
}
ul.nice-menu li {
border-top: 0;
float: left; /* LTR */
}
ul.nice-menu a {
padding: 0.3em 5px 0.3em 5px;
color: #EBEDF2;
}
ul.nice-menu ul {
top: 1.8em;
left: -1px; /* LTR */
border: 0;
margin-right: 0; /* LTR */
}
ul.nice-menu ul li {
width: 12.5em;
}
HORIZONTAL (down) menus
******************************/
ul.nice-menu-down {
float: left; /* LTR */
border: 0;
}
ul.nice-menu-down li {
}
ul.nice-menu-down li li {
border-top: 0;
}
ul.nice-menu-down ul {
left: 0; /* LTR */
}
ul.nice-menu-down ul li {
clear: both;
}
ul.nice-menu-down li ul li ul {
left: 12.5em; /* LTR */
top: -1px;
}
ul.nice-menu-down .menuparent a {
padding-right: 15px; /* LTR */
}
ul.nice-menu-down li.menuparent {
background: url("../images/arrow-down.png") right center no-repeat; /* LTR */
}
ul.nice-menu-down li.menuparent:hover {
background: url("../images/arrow-down.png") right center no-repeat; /* LTR */
}
ul.nice-menu-down li li.menuparent {
background: url("../images/arrow-right.png") right center no-repeat; /* LTR */
}
ul.nice-menu-down li li.menuparent:hover {
background: url("../images/arrow-right.png") right center no-repeat; /* LTR */
}
Комментарии
Вряд ли придётся править шаблон. Но и так помочь тяжело будет. Нужно смотреть инспектор браузера и пробовать
Спасибо. Ну хотя бы в каком направлении смотреть?
Дайте ссылку на сайт. По другому мы вам помочь не сможем.
Если сайт не доступен для анализа "извне" есть простой но эффективный метод научного тыка-)
На самом деле - без шуток.
Алгоритм прост:
1.Убираете файл, который портит верстку.
2.Делаете 2 копии этого файла, к каждой из которых примерно ровно половина css-правил.
3.Поочереди подставляете эти файлы вместо оригинала.
4.Если файл не портит верстку, то удаляете его, а второй опять делите пополам и проверяете каждую часть (назад в п.3)
5.Пока в конечном файле не останется одно правило, оно-то все и портит-)
Если даже у Вас около 1000 "подозреваемых" правил, Вам достаточно будет повторить всего 10 (квадратный корень из 1000) итераций пп.3-4 алгоритма.
Спасибо. Очень интересный способ. Буду его использовать.
ага.. вот только с квадратным корнем я переборщил, на самом деле количество итераций равно двоичному логарифму из числа правил-)
Это тестовый сайт с такой же темой http://my13704.krypton2.vps-private.net/
Сайт закрыт от поисковиков паролем. Логин для просмотра сайта admin, пароль 123qwe. Или сами файлы тоже нужны?
> Что могло в CSS к этому привести?
Свойства селектора в css файлах, смотреть например в браузере F12
Посмотрел ваш сайт. Меню плющит вот этот стиль:
width: 19%;
}
Принудительно задается ширина. Можно для малых экранов (до 768px) сделать width: 100%
Спасибо. Да, исправление этого стиля решило проблему.
1)Первый вариант:
Я использую немного упрощенный способ, который для меня оказался проще:
все оставляю в процентах, как было, и только для #block-nice-menus-2 ul li указываю в пикселях ширину для всех устройств. Вроде пока работает и на ПК, и на мобильном, и даже пункты меню выстраиваются один под одним при сужении.
margin-right: 7px;
text-align: center;
width: 13em;
border-radius: 10px;
2)Более правильно, я так понимаю, прописать отдельный стиль,
но у меня этот способ не работает (вероятно, неправильно указываю)
я пишу
#block-nice-menus-2 ul li{
width: 100%;
}
}
3)Или отдельным файлом
Т.е. создаю файл mymobile.css
в нем пишу
margin-right: 7px;
text-align: center;
width: 100%;
И в head указываю
<link rel="stylesheet" media="screen and (max-width: 600px)" href="small.css" />
Только в каком файле?
В какой файл нужно внутри нужно поместить указание на название файла с css для мобильных?