добавление текста к изображениям для панели навигации

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

Но поскольку некоторые имена ссылок являются динамическими, я не могу сделать кнопки в фотошопе, поэтому мне было интересно, как сделать этот тип панели навигации только в html и css.

Любые идеи?

РЕДАКТИРОВАТЬ Чтобы уточнить, у меня есть следующее изображение образец навигационной кнопки

и хотите добавить текст под ним, чтобы сформировать кнопки на панели навигации, если это сделает его более понятным.


person trottski    schedule 05.02.2013    source источник
comment
пожалуйста, покажите код в jsfiddle или что-то подобное   -  person Eric Goncalves    schedule 06.02.2013


Ответы (2)


Вы можете многое сделать только с помощью CSS

Основная идея состоит в том, чтобы изменить атрибуты каждого состояния кнопки, используя псевдоклассы .cssclass:hover для наведения курсора на состояние и .cssclass:active для наведения мыши.

Нормальное состояние кнопкинормальное

    /* style of the button in normal state */
button.css3button{
    padding: 0.5em;
    background-color: lightblue;
    border: 4px outset green;
    color: green;
    border-radius: 4px;
}

когда мышь находится над кнопкой:наведите курсор

/* properties that change when mouse over */
button.css3button:hover {
    background-color: lightgreen;
}

когда мышь нажата:активно

/* properties that change when mouse down */
button.css3button:active {
   color: yellow;
   border: 4px inset red;
}

Живая демонстрация: JSFIDDLE


более сложные примеры стилей с CSS3:

введите здесь описание изображения

<button type="button" name="" value="" class="css3button">submit</button>

button.css3button {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    color: #ffffff;
    padding: 10px 20px;
    background: -moz-linear-gradient(
        top,
        #bfc2ff 0%,
        #82b4ff 25%,
        #4664fa);
    background: -webkit-gradient(
        linear, left top, left bottom, 
        from(#bfc2ff),
        color-stop(0.25, #82b4ff),
        to(#4664fa));
    -moz-border-radius: 30px;
    -webkit-border-radius: 30px;
    border-radius: 30px;
    border: 3px solid #ffffff;
    -moz-box-shadow:
        0px 3px 11px rgba(000,000,000,0.5),
        inset 0px 0px 1px rgba(49,141,212,1);
    -webkit-box-shadow:
        0px 3px 11px rgba(000,000,000,0.5),
        inset 0px 0px 1px rgba(49,141,212,1);
    box-shadow:
        0px 3px 11px rgba(000,000,000,0.5),
        inset 0px 0px 1px rgba(49,141,212,1);
    text-shadow:
        0px -1px 0px rgba(000,000,000,0.2),
        0px 1px 0px rgba(255,255,255,0.3);
}

Демонстрация: JSFIDDLE

вы, конечно, можете изменить размеры, цвета, градиенты для каждого состояния :hover :active :visited на свой вкус, вы можете стилизовать почти все <a> <span> <div> <button>

person Vitim.us    schedule 05.02.2013

Этот вопрос не совсем подходит для этого форума. Это для конкретных проблем, а не для базовых руководств. Существует множество хороших руководств, которые вы можете найти, выполнив простой поиск в Google, которые проведут вас по основам CSS и покажут, как этого добиться.

Но для начала вы можете сделать что-то вроде этого: http://jsfiddle.net/wgBTZ/

HTML:

<ul>
    <li><a href="#" >One</a></li>
    <li><a href="#" >Two</a></li>
    <li><a href="#" >Three</a></li>
    <li><a href="#" >Four</a></li>
</ul>

CSS:

li {
    float:left;
    width: 100px;
    height: 40px;
    background:#CCC;
    margin:0 0 0 15px;

}

a {
    color: black;
    text-decoration:none;
    float:left;
    width: 100px;
    height: 40px;
    background:#CCC;
}

a:hover {
    background:#000;
    color:white
}

Редактировать: это всего лишь базовая механика. С помощью CSS3 вы можете взять то, что я сделал выше, и создать довольно крутые вещи.

person Scott Sword    schedule 05.02.2013