0

我有一个导航栏,但想向其中添加图像,因此导航栏不是由文本链接组成,而是由具有悬停效果等的图像和文本组成的按钮组成。

但由于某些链接名称是动态的,我无法在 photoshop 中制作按钮,所以想知道如何仅在 html 和 css 中制作这种类型的导航栏。

有任何想法吗?

编辑为了澄清我有以下图像示例导航按钮

并希望在此下方添加文本以形成导航栏上的按钮,如果这样可以使其更清晰。

4

2 回答 2

0

你可以用 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>

于 2013-02-05T20:26:34.860 回答
0

这个问题不太适合这个论坛。它是针对特定问题的,而不是基本教程。通过简单的 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,您可以使用我在上面所做的并实际构建一些非常酷的东西。

于 2013-02-05T20:27:18.470 回答