用css建立1个相近按扭的导航栏

2021-03-14 00:48 jianzhan

大多数数的网站的导航栏,点一下时会像按扭的实际效果.这类实际效果常常是运用图象更换技术性.或是用1些javascript编码来完成.
那末大家来想1下是不是能够用纯css来做这样的实际效果.

回答是毫无疑问的,你会发现应用CSS来做这样的实际效果会显得更为简易.在这个实例教程中应用的是CSS边框特性.

拷贝编码
编码以下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<title>Lists as navigation</title>
<meta http-equiv="content-type"
content="text/html; charset=utf⑻" />
<link rel="stylesheet" type="text/css" href="listnav_button.css"
/>
</head>
<body>
<div id="navigation">
<ul>
<li><a href="#">Recipes</a></li>
<li><a href="#">Contact Us</a></li>
<li><a href="#">Articles</a></li>
<li><a href="#">Buy Online</a></li>
</ul>
</div>
</body>
</html>

listnav_button.css

拷贝编码
编码以下:

#navigation {
font-size:90%
}
#navigation ul {
list-style: none;
margin: 0;
padding: 0;
padding-top: 1em;
}
#navigation li {
display: inline;
}
#navigation a:link, #navigation a:visited {
margin-right: 0.2em;
padding: 0.2em 0.6em 0.2em 0.6em;
color: #A62020;
background-color: #FCE6EA;
text-decoration: none;
border-top: 1px solid #FFFFFF;
border-left: 1px solid #FFFFFF;
border-bottom: 1px solid #717171;
border-right: 1px solid #717171;
}
#navigation a:hover {
border-top: 1px solid #717171;
border-left: 1px solid #717171;
border-bottom: 1px solid #FFFFFF;
border-right: 1px solid #FFFFFF;
}

剖析:
在做这个实际效果以前,先把导航栏水平排序,大家来想一想怎样做出扭按的实际效果.先给上边框和左侧框1个色调,再给下边框和右侧框另外一个颜.大家给上边框和左侧框的色调要比右侧框和下边框的色调要浅,这样便可以建立出1个轻度的斜角实际效果.

拷贝编码
编码以下:

#navigation a:link, #navigation a:visited {
margin-right: 0.2em;
padding: 0.2em 0.6em 0.2em 0.6em;
color: #A62020;
background-color: #FCE6EA;
text-decoration: none;
border-top: 1px solid #FFFFFF;
border-left: 1px solid #FFFFFF;
border-bottom: 1px solid #717171;
border-right: 1px solid #717171;
}

这步便是完成按扭按下的实际效果.设定hover情况的边框色调.

拷贝编码
编码以下:

#navigation a:hover {
border-top: 1px solid #717171;
border-left: 1px solid #717171;
border-bottom: 1px solid #FFFFFF;
border-right: 1px solid #FFFFFF;
}

最后实际效果: