亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > CSS > 正文

設計3D按鈕==使用純CSS

2020-03-24 16:52:14
字體:
來源:轉載
供稿:網友
CSS 按鈕的效率遠比基本圖像的按鈕的效率高得多,因為它們全部都是基于文本的。所有要用 XHTML 標記只是一個html' target='_blank'>無序列表——CSS 樣式負責其余部分。而且,你不需要任何 JavaScript 來交換圖像以實現翻卷效果,因為 CSS 偽類(pseudoclass)能夠讓你為鏈接的每個狀態(鏈接 link 、已訪問 visited 、懸停 hover 、激活 active )建立獨立的樣式。
純 CSS 按鈕唯一的問題是它們看上去相當單調,只有固定的顏色背景和一個簡單的邊界。一個解決方法是使用混合技術向 CSS 樣式的文本按鈕加入一個背景圖像,從而使其具有3D效果。然而,讀者的電子郵件提示我尋找一種使用純 CSS 創建3D按鈕效果的方法——不需要圖像。我發現通過控制 CSS 按鈕邊界的樣式有兩個方法可以創建斜面邊緣的外觀效果。創建斜面邊緣效果要使一個按鈕具有3D斜面邊緣效果,需要模擬一個光源,以在一個凸起按鈕的邊緣創建加亮區和陰影區。如果光源在上面稍微偏向按鈕的左邊,那么按鈕的頂部和左側就會比按鈕表面更亮,而底部和右側就會比按鈕表面更暗。

所以,創建三維效果的秘密是使用 CSS 邊界模擬按鈕的側面,并為每個邊界的使用稍微不同的顏色,具體的顏色方案要根據它所表示的是光亮的一側還是陰暗的一側而定。為了看上去更加真實,邊界應該具有斜接角,CSS 邊界能夠很好地滿足這一需要。方法1:使用inset/outset(嵌入線/浮出線)邊界有一個 CSS 邊界屬性能夠自動產生合理的斜面邊緣模擬效果。你只須為按鈕樣式的 border-style 屬性指定為 inset 或者 outset即可。瀏覽器會以稍微不同的背景色陰影來處理元素邊界的表現細節,從而得到期望的效果。outset屬性模擬凸起按鈕的陰影邊緣,inset 屬性通過反轉陰影來模擬按鈕被按下的情景。圖 A 展示了實際的 inset/outset 邊界效果。這個例子是由一些非常簡單的代碼產生的。XHTML 非常簡單,只包含一些按鈕標簽(label)和鏈接以下是引用片段:
body
div id="buttonA"
ul
li a href="link1.html" Button 1 /a /li
li a href="link2.html" Button 2 /a /li
li a href="link3.html" Button 3 /a /li
/ul
/div
/body CSS 樣式使這種方法與設計普通的平面按鈕的樣式非常相似。唯一多出來的地方是這里將 border-style: outset和 border-style: inset規則同 border-width設置組合使用,后者將邊界寬度設置的足夠大以使其可見。以下是引用片段:
body {
margin: 0px;
padding: 0px;
}
div#buttonA {
margin-left: 50px;
}
div#buttonAul {
margin: 0px;
padding: 0px;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
line-height: 30px;
}
div#buttonAli {
list-style-type: none;
height: 30px;
width: 125px;
margin: 20px;
text-align:center;
}
div#buttonAli a {
height: 100%;
width: 100%;
display: block;
text-decoration: none;
border-width: 6px;
}
div#buttonAlia:link {
color: #000000;
font-weight: bold;
background-color: #CCCCCC;
border-style: outset;
}
div#buttonAlia:visited {
color: #000000;
font-weight: normal;
background-color: #CCCCCC;
border-style: outset;
}
div#buttonAlia:hover {
font-weight: bold;
color: #FFFFFF;
background-color: #999999;
border-style: outset;
}
div#buttonAlia:active {
font-weight: bold;
color: #FFFFFF;
background-color: #666666;
border-style: inset;
} 在前面的文章中我已經講到過創建 CSS 按鈕的方法,所以我將只挑要點部分解釋。div#buttonAul規則設置常規文本的尺寸和間距,div#buttonAli規則去除列表項的默認項目符號(list-style-type: none)并設置按鈕框的尺寸。div#buttonAli a規則使整個按鈕可點擊(height: 100%; width: 100%; display: block;),它還是設置邊界寬度的一個很方便的地方。樣式的其余部分控制不同按鈕狀態的外觀變化。所有偽類(:link、:visited、:hover、:active)都有一個 color、font-weight、background-color 和 border-style 規則。除div#buttonAlia:active規則之外,所有樣式都使用 border-style: outset規則,div#buttonAlia:active使用 border-style:inset規則。這樣就使按鈕狀態有一個凸起的外觀——當然要將按鈕被點擊時的情況除外,在按鈕被點擊時它呈現被按下的狀態。不同的瀏覽器呈現 inset 和 outset 邊界的方式有很大的不同。Internet Explorer 創建更加精細的效果,在每個邊界的內邊緣有一個加亮區,在外邊緣有一個陰影區。而另一方面,Netscape 則以固定的顏色呈現每個邊界,這樣就產生一個比較有突邊的,不怎么圓滑的外觀效果。使用 inset/outset 邊界樣式是模擬3D效果的一種簡單快捷的方法。然而,這不是唯一的方法。如果你不喜歡標準的效果,或者你為瀏覽器在表現方式上的差別而困擾,那么你可以自己控制邊界的顏色來產生你想要的效果。除了使用能border-style 的 inset/outset 屬性以及讓瀏覽器處理每個邊界的實際顏色之外,你還可以使用自己的樣式規則為每個邊界單獨設置顏色。Figure B shows the results of using a style sheet that specifies the colors of each button side individually. The markup is the same as in Figure A. Here's the CSS code: 圖 B展示了使用這種方法得出的3D按鈕效果,這里樣式表單獨指定每個按鈕側面的顏色。圖 B 所用標記與圖 A 中的一樣,下面是 CSS 代碼:以下是引用片段:
body {
margin: 0px;
padding: 0px;
}
div#buttonA {
margin-left: 50px;
}
div#buttonAul {
margin: 0px;
padding: 0px;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
line-height: 30px;
}
div#buttonAli {
list-style-type: none;
height: 30px;
width: 125px;
margin: 10px;
text-align:center;
}
div#buttonAli a {
text-decoration: none;
height: 100%;
width: 100%;
display: block;
background-color: #999999;
border-style: solid;
border-bottom-color: #333333;
border-right-color: #555555;
border-left-color: #BBBBBB;
border-top-color: #DDDDDD;
}
div#buttonAlia:link {
color: #000000;
font-weight: bold;
background-color: #999999;
border-style: solid;
border-bottom-color: #333333;
border-right-color: #555555;
border-left-color: #BBBBBB;
border-top-color: #DDDDDD;
}
div#buttonAlia:visited {
color: #000000;
font-weight: normal;
background-color: #999999;
border-style: solid;
border-bottom-color: #333333;
border-right-color: #555555;
border-left-color: #BBBBBB;
border-top-color: #DDDDDD;
}
div#buttonAlia:hover {
font-weight: bold;
color: #FFFFFF;
background-color: #777777;
border-style: solid;
border-bottom-color: #333333;
border-right-color: #555555;
border-left-color: #BBBBBB;
border-top-color: #DDDDDD;
}
div#buttonAlia:active {
font-weight: bold;
color: #FFFFFF;
background-color: #666666;
border-style: solid;
border-top-color: #333333;
border-left-color: #555555;
border-right-color: #BBBBBB;
border-bottom-color: #DDDDDD;
}
盡管這塊代碼明顯要比前一個例子中的 CSS 代碼要長,但并不是兩者間的主要區別。它們的主要區別在于這里使用了一個 border-style: solid規則替換了原來的 border-style: outset (或 border-style: inset) 規則,后接幾個規則單獨設置每個邊界的顏色(border-top-color: #DDDDDD等)。使用這一方法,你可以完全控制按鈕側面的顏色。也就是說完全由你決定選擇合適的顏色來獲得你所要的效果——而且,你還要記住交換顏色以使按鈕在處于 :active 狀態時產生被按下的效果??刂七@些細節的優點是你可以設置獨立的側面和頂部加亮區的顏色,而且最后的結果在所有瀏覽器表現更加一致
本文作者:html教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美精品电影免费在线观看| 热久久美女精品天天吊色| 国产视频精品va久久久久久| 国内精品久久久久久影视8| 亚洲黄色成人网| 8050国产精品久久久久久| 人九九综合九九宗合| 热99精品里视频精品| 91成人国产在线观看| 国产精品精品久久久久久| 国产欧美精品日韩精品| 精品少妇v888av| 少妇高潮久久77777| 国产美女扒开尿口久久久| 亚洲护士老师的毛茸茸最新章节| 欧美超级免费视 在线| 国产精品美腿一区在线看| 在线成人一区二区| 91精品视频观看| 亚洲天堂av高清| 欧美午夜无遮挡| 欧美激情一区二区三级高清视频| 一区二区国产精品视频| 国产欧美一区二区三区视频| 国产这里只有精品| 在线视频中文亚洲| 久久精品成人欧美大片古装| 国内外成人免费激情在线视频网站| 久久国产精品久久久久久久久久| 色多多国产成人永久免费网站| 国产精品自拍偷拍| 亚洲国产精品资源| 成人免费在线网址| 亚洲欧美精品中文字幕在线| 欧美精品一本久久男人的天堂| 国产999精品久久久| 国产欧美va欧美va香蕉在| 中文字幕亚洲自拍| 亚洲自拍偷拍色图| 亚洲国产成人精品女人久久久| 国产不卡一区二区在线播放| 91视频8mav| 精品欧美一区二区三区| 精品少妇一区二区30p| 日韩国产一区三区| 国产精品国产福利国产秒拍| 亚洲男人的天堂在线播放| 亚洲国产日韩一区| 久久成人一区二区| 91久久综合亚洲鲁鲁五月天| 96sao精品视频在线观看| 国内精品视频在线| 91免费版网站入口| 日韩成人久久久| 韩国精品美女www爽爽爽视频| 精品亚洲一区二区三区在线播放| 国产在线不卡精品| 国产精品欧美久久久| 精品国产欧美一区二区三区成人| 国产一区二区三区视频免费| 亚洲国产精久久久久久| 成人网在线免费观看| 亚洲精品国产精品国产自| 成人网页在线免费观看| 亚洲精品中文字| 97人人做人人爱| 亚洲欧美日韩精品久久奇米色影视| 亚洲天堂久久av| 国产美女精品视频| 在线丨暗呦小u女国产精品| 欧美福利在线观看| 欧美最猛性xxxxx免费| 国产视频综合在线| 国产精品揄拍一区二区| 51ⅴ精品国产91久久久久久| 操日韩av在线电影| 亚洲国产婷婷香蕉久久久久久| 在线视频中文亚洲| 国产亚洲人成a一在线v站| 7m精品福利视频导航| wwwwwwww亚洲| 深夜精品寂寞黄网站在线观看| 欧美人在线视频| 国产精品久久久久久搜索| 欧美xxxx18性欧美| 亚洲成人激情图| 国产精品第七影院| 欧美精品激情视频| 国产精品久久久久福利| 亚洲精品久久久久中文字幕欢迎你| 国产精品久久综合av爱欲tv| 日本精品免费观看| 亚洲精品色婷婷福利天堂| 欧美日韩成人黄色| 亚洲国产欧美精品| 国内自拍欧美激情| 国产精品高清在线| 色琪琪综合男人的天堂aⅴ视频| 国产成人精品电影久久久| 国内精品国产三级国产在线专| 日韩精品在线播放| 成人av在线亚洲| 久久久电影免费观看完整版| 久久久在线视频| 成人伊人精品色xxxx视频| 久久久久99精品久久久久| 久久久国产精彩视频美女艺术照福利| 亚洲视屏在线播放| 久久夜色精品国产| 精品福利在线视频| 中日韩美女免费视频网站在线观看| 成人欧美一区二区三区在线| 国产在线拍揄自揄视频不卡99| 久久亚洲精品小早川怜子66| 日韩视频欧美视频| 日韩国产一区三区| 精品国产一区二区三区久久狼5月| 最近2019中文免费高清视频观看www99| 欧美诱惑福利视频| 热99精品只有里视频精品| 欧美国产日韩一区二区三区| 欧美大胆a视频| 66m—66摸成人免费视频| 欧美激情精品久久久久久变态| 91精品免费久久久久久久久| 亚洲bt天天射| 中文字幕亚洲综合| 精品久久久久久久久久久| 亚洲精品自在久久| 国产a∨精品一区二区三区不卡| 亚洲成人av片| 亚洲a区在线视频| 91福利视频网| 色偷偷综合社区| 日韩欧美国产一区二区| 欧美日韩亚洲网| 久久久久久这里只有精品| www.亚洲一区| 国产91精品久久久久| 国产精品va在线| 精品电影在线观看| 国产精品成人va在线观看| 日韩国产高清视频在线| 欧美日韩亚洲网| 国产精品福利观看| 国产成人精品视频在线| 国产精品久久久久秋霞鲁丝| 日本高清不卡在线| 国产网站欧美日韩免费精品在线观看| 一本色道久久综合狠狠躁篇怎么玩| 国产精品久久久久久久久久小说| 45www国产精品网站| 欧美日韩亚洲视频| 国产美女扒开尿口久久久| 国产精品成人一区二区三区吃奶| 久久久97精品| 欧美日韩国产区| 中文字幕亚洲欧美日韩在线不卡| 日韩免费观看av| 亚洲欧美制服综合另类| 精品美女永久免费视频| 亚洲娇小xxxx欧美娇小| 日韩有码在线视频| 欧美裸身视频免费观看|