我有一个导航栏,但想向其中添加图像,因此导航栏不是由文本链接组成,而是由具有悬停效果等的图像和文本组成的按钮组成。
但由于某些链接名称是动态的,我无法在 photoshop 中制作按钮,所以想知道如何仅在 html 和 css 中制作这种类型的导航栏。
有任何想法吗?
编辑为了澄清我有以下图像示例导航按钮
并希望在此下方添加文本以形成导航栏上的按钮,如果这样可以使其更清晰。
我有一个导航栏,但想向其中添加图像,因此导航栏不是由文本链接组成,而是由具有悬停效果等的图像和文本组成的按钮组成。
但由于某些链接名称是动态的,我无法在 photoshop 中制作按钮,所以想知道如何仅在 html 和 css 中制作这种类型的导航栏。
有任何想法吗?
编辑为了澄清我有以下图像示例导航按钮
并希望在此下方添加文本以形成导航栏上的按钮,如果这样可以使其更清晰。
你可以用 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>
这个问题不太适合这个论坛。它是针对特定问题的,而不是基本教程。通过简单的 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,您可以使用我在上面所做的并实际构建一些非常酷的东西。