Манимейкер неудачник

(Ответов: 71, Просмотров: 4693)
Страница 6 из 8 Первая ... 45678 Последняя
  1. Сам себе режиссер Аватар для Steel
    • Регистрация: 30.08.2011
    • Сообщений: 1,235
    • Репутация: 753
    Здравствуйте, люди добрые!

    Помгите пожалуйста :)

    Предположим есть меню. Я его делаю очень стандартно:

    Код HTML:
    <ul class="menu"> <li><a href="#">Пункт 1</a></li> <li><a href="#">Пункт 2</a></li> <li><a href="#">Пункт 3</a></li> </ul>
    Код HTML:
    ul {list-style-type: none;}
    ul.menu li {float: left;}
    Это если базово. Ну там маргины ещё, цвет шрифта и тому подобное я тут опускаю, ибо не суть...

    На это меню нужно по наведению мышки навешать картинку и изменить цвет шрифта. Вроде всё понятно, но возникают вопросы:

    1. Событие hover вешать на саму ссылку или на LI?
    2. Как добиться того, чтобы картинка была не по высоте текста, а по высоте блока меню?
    3. Известно, что в меню слова могут быть разной длины. Как сделать так, чтобы картинка заполняла по ширине всё пространство? Т.е. не была фиксированной по ширине, а подстраивалась бы под слова меню?
    4. И, наконец, как сделать так, чтобы эта разность ширин слов не повлияла на общий вид меню? Т.е. чтобы во всех ситуациях слова меню не прыгали и не съезжали?

    Всем спасибо огромное за помощь! :)
    Миниатюры search.jpg  
    • 0
  2. Гуру
    • Регистрация: 30.06.2011
    • Сообщений: 623
    • Репутация: 147
    сделайте макет что нужно, дабы увидеть задумку на примере и сказать по верстке
    • 0
  3. Опытный Аватар для Garm217
    • Регистрация: 31.01.2012
    • Сообщений: 281
    • Репутация: 35
    • Webmoney BL: ?
    Чтобы картинка была по высоте текста я обычно делаю ссылку блочным элементом и на нее вешаю бэкграунд. Соответственно, hover делаю на ссылку. Чтобы картинка заняла по ширине все пространство надо делать ее повторяющейся: repeat-x.

    Код:
    li{
    float:left;
    padding:0;
    margin:0;
    }
    a {
    display:block;
    background:url(bg.png) repeat-x left top;
    height:20px; 
    line-height:20px;/*Чтобы текст был посередине высоты*/
    padding:0 10px;/*к примеру*/
    }
    А вот как делать, чтобы меню было по всей ширине независимо от количества пунктов и длин слов, я не знаю. Подгоняю конкретное меню, если нужно.
    • 4

    Спасибо сказали:

    dev1(17.08.2012), Steel(17.08.2012), TbIKBA(06.09.2012), votren(06.09.2012),
  4. Йэдкий фрухт Аватар для Чеснок
    • Регистрация: 30.03.2010
    • Сообщений: 634
    • Записей в дневнике: 1
    • Репутация: 607
    • Webmoney BL: ?
    webguru,
    1 hover вешай на ссылку.
    2 Про текст ответил пингвин
    3 используй rerpat
    4 Не совсем потятно, но если ты о переносе слов на следующую строку из за того что оно не вмещается в блок то сократи длину или уменьшай шрифт
    • 2

    Спасибо сказали:

    dev1(17.08.2012), Steel(17.08.2012),
  5. Гуру
    • Регистрация: 09.10.2011
    • Сообщений: 1,813
    • Репутация: 251
    Ну вот смотрите, что по вёрстке получается:

    Во-первых есть css:

    Код HTML:
    .menu {
        width: 984px;
        height: 65px;
        background-image: url('menu_bg.png');
    }
    
    .menu ul {
        list-style-type: none;
        width: 700px;
        margin: 0 auto;
    }
    
    .menu ul li { 
        float: left;
        margin-right: 54px;
        text-transform: uppercase;
        font-family: Arial;
        font-size: 12px;
        margin-top: 15px;
    
    }
    
    .menu ul li a {
        color: #974a10;
    
    
    }
    
    .menu ul li a:hover {
        color: #fff;
        background-image: url('menu_hover.png');
        background-repeat: repeat-x;
        height: 45px; 
        padding:20px 5px 15px 5px;
    
    }
    И есть HTML:
    Код HTML:
     <div class="menu"> <ul> <li><a href="/">главная</a></li> <li><a href="/about/">о компании</a></li> <li><a href="/clients/">клиенты</a></li> <li><a href="/service_zone/">зона обслуживания</a></li> <li><a href="/contacts/">контакты</a></li> </ul> </div>
    Вот такая очень простая вёрстка. Как бы она достаточно устойчивая, но что мне здесь не нравится:

    1. При наведении на элемент меню, другие элементы, стоящие справа от того, на который наводим, смещаются вправо на несколько пикселей. Получается не очень хорошо.

    2. На пункт "зона обслуживания" - ваще... каким-то удивительным образом выпадает из бэкграунда половина буквы "н" и полностью буква "и" в слове "обслуживания". Сразу скажу, что разместить данный пункт в две строки - не вариант, не по макету будет... надо как-то из указанной ситуации выходить.

    Буду благодарен за объективные замечания по вёрстке и за помощь в ситуации.
    Последний раз редактировалось pyramida; 17.08.2012 в 13:06.
    • 0
  6. Дипломник Аватар для Metho
    • Регистрация: 18.11.2011
    • Сообщений: 115
    • Репутация: 2
    Конечно, вы же при наведении добавляете отступы.

    Код:
    .menu ul li a {
        color: #974a10;
        height: 45px; 
        padding:20px 5px 15px 5px;
    display:block;
    
    }
    
    .menu ul li a:hover {
        color: #fff;
        background-image: url('menu_hover.png');
        background-repeat: repeat-x;
    
    }
    • 1

    Спасибо сказали:

    votren(06.09.2012),
  7. Гуру
    • Регистрация: 09.10.2011
    • Сообщений: 1,813
    • Репутация: 251
    А если их не добавлять, то картинка будет точно повторять контуры текста, мне так не надо. Нужно чтобы она на всю высоту была. И пару пикселей лишних в ширину.
    Последний раз редактировалось pyramida; 17.08.2012 в 13:08.
    • 1

    Спасибо сказали:

    dev1(17.08.2012),
  8. Гуру Аватар для Room
    • Регистрация: 11.04.2009
    • Сообщений: 2,289
    • Репутация: 530
    • Webmoney BL: ?
    В общем, вот сайт-пациент, посмотрите пожалуйста...
    • 0

    Спасибо сказали:

    numinoross(06.09.2012),
  9. Гуру Аватар для dev1
    • Регистрация: 18.01.2012
    • Сообщений: 829
    • Репутация: 273
    • Webmoney BL: ?
    http://pastebin.com/iVHfxPHz

    лайн- хейджем регулируем относительное положение ссылок.

    ---------- Сообщение добавлено 10:40 ---------- Предыдущее 09:36 ----------

    что-бы выполнить последний пункт № 4 нужно сделать так:
    http://pastebin.com/BZ4a9m1V
    из кода будет все понятно. :)
    • 0
  10. Опытный Аватар для Garm217
    • Регистрация: 31.01.2012
    • Сообщений: 281
    • Репутация: 35
    • Webmoney BL: ?
    Ну это Ваше право думать как хотите. Мне внимание не надо=) я взялся за себя и нашел себе даже работу. Сейчас веду переговоры. Могу не проводить марофонов и вообще удалить даже блог из подписи. Верьте или нет, но я славы не ищу или же способа заработка через форум. а Вы очень недоверчивый человек. Может сбоку оно выглядит так как Вы сказали, но у меня этого на уме нету.
    • 0
Страница 6 из 8 Первая ... 45678 Последняя

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры