apple的官網有個相當不錯的頭部導航,今天我們運用css3的知識,不借助一張圖片,來實現類似的效果。
下載源文件:http://www.pouoluo.com/files/soft/1_121211104404.zip
1.會用到的css3知識
- text-shadow :文字陰影
- border-radius:圓角
- box-shadow:容器陰影
- box-shadow: inset :當增加inset後,表示使用內陰影
- gradient :漸變,漸變的代碼還是很多的,幸運的是網上有自動生成漸變的工具,請看CSS3 Gradient Generator
- keyframes:這個屬性就比較有意思,估計用的人很少,用於配合css3動畫,理解為動畫模塊或一組css3動畫設置。只有 WebKit 內核的浏覽器支持這一特性,經過明河驗證firefox4也不支持。
2.上一坨代碼…
2.1導航容器樣式
- /* 導航 */
- #appleNav {
- margin: 40px 0;
- list-style: none;
- /* Apple使用Lucida字體 */
- font-family: "Lucida Sans Unicode", "Lucida Grande", Verdana, Arial, Helvetica, sans-serif;
- letter-spacing: -0.5px;
- font-size: 13px;
- /* 文字陰影 */
- text-shadow: 0 -1px 3px #202020;
- width: 873px;
- height: 34px;
- /*圓角*/
- -moz-border-radius: 4px;
- -webkit-border-radius: 4px;
- border-radius: 4px;
- /*陰影*/
- -moz-box-shadow: 0 3px 3px #cecece;
- -webkit-box-shadow: 0 3px 3px #cecece;
- box-shadow: 0 3px 4px #8b8b8b;
- }
2.2導航子元素樣式
- #appleNav li {
- display: block;
- float: left;
- border-right: 1px solid #5d5d5d;
- border-left: 1px solid #929292;
- width: 105px;
- height: 34px;
- border-bottom: 1px solid #575757;
- border-top: 1px solid #797979;
- /*漸變背景,關於css3漸變效果制作請看http://gradients.glrzad.com/ */
- background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #787878), color-stop(0.5, #5E5E5E), color-stop(0.51, #707070), color-stop(1, #838383));
- background-image: -moz-linear-gradient(center bottom, #787878 0%, #5E5E5E 50%, #707070 51%, #838383 100%);
- background-color: #5f5f5f;
- }
- /*鼠標滑過菜單元素後*/
- #appleNav li:hover {
- background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #3F3F3F), color-stop(0.5, #383838), color-stop(0.51, #434343), color-stop(1, #555555));
- background-image: -moz-linear-gradient(center bottom, #3F3F3F 0%, #383838 50%, #434343 51%, #555555 100%);
- background-color: #383838;
- /*增加內陰影效果 */
- -moz-box-shadow: inset 0 0 5px 5px #535353;
- -webkit-box-shadow: inset 0 0 5px 5px #535353;
- box-shadow: inset 0 0 5px 5px #535353;
- }
- /*鼠標按下菜單元素後*/
- #appleNav li:active {
- background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #3F3F3F), color-stop(0.5, #383838), color-stop(0.51, #434343), color-stop(1, #555555));
- background-image: -moz-linear-gradient(center bottom, #3F3F3F 0%, #383838 50%, #434343 51%, #555555 100%);
- background-color: #383838;
- -moz-box-shadow: inset 0 1px 2px 2px #000;
- -webkit-box-shadow: inset 0 1px 2px 2px #000;
- box-shadow: inset 0 1px 2px 2px #000;
- }
留意內陰影部分的處理。
2.3容器向下滑動的動畫效果
- /*Webkit內核的浏覽器增加動畫效果 */
- @-webkit-keyframes showMenu {
- from { opacity: 0; top:-20px; }
- to { opacity: 1; }
- }
- #appleNav {
- -webkit-animation: showMenu 1s;
- position: relative;
- }