久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx

網(wǎng)頁菜單詳解:基本原理

2017-02-26    分類: 網(wǎng)站建設(shè)

在講解之前,有一點需要說明的是:筆者在后面講解的代碼都基于當(dāng)前的主流瀏覽器Microsoft Internet Explorer(即我們通常所說的IE)下的。筆者進行調(diào)試的瀏覽器是IE 5.01。另外,這樣一個菜單體現(xiàn)的是HTML/CSS/javascript的綜合應(yīng)用,這里并不對一些細節(jié)進行詳細的講解,所以你至少應(yīng)該有一點這方面的基礎(chǔ)。

  基本原理

其實,這個菜單實現(xiàn)的原理簡單的說就是:設(shè)置頁面元素的CSS屬性,對其進行定位并設(shè)置其是否可見,然后通過激發(fā)一定的事件,用javascript來動態(tài)的改變這些屬性。

看下面幾個CSS屬性:

position:定位類型,取值static/absolute/relative,其代表的含義簡單的說即無定位/絕對定位/相對定位;
  left:距離左側(cè)的位置(具體的參照物與position的設(shè)置有關(guān)),單位為px或%;
  top:距離頂部的位置(具體的參照物與position的設(shè)置有關(guān)),單位為px或%。
  display:頁面元素的顯示狀態(tài),如取值block表示做為塊狀元素顯示,none則為不顯示,還有其他一些取值(如inline等)這里就不做詳解。

比如上例中的“div id=myMenu style="position:absolute;left:-10px;top:18px;display:none...”就是使用了這幾個屬性。

下面我們來看看如何用javascript來控制頁面元素的CSS屬性。

對HTML有一定了解的朋友一定清楚,幾乎所有的標(biāo)記都有一個style屬性,通過設(shè)置這個屬性來設(shè)置該標(biāo)記的CSS屬性(即CSS的內(nèi)聯(lián)用法)。在javascript中,每一個標(biāo)記都被視為Document對象的一個子對象,而該標(biāo)記的每一個HTML屬性也都是這個對象的屬性或子對象,style就是其中一個,通過用javascript控制style的屬性,就達到了動態(tài)改變頁面元素CSS屬性的目的。如上例中的“onmouseover="myMenu.style.display='block'"”就是一個很普通的用法,其中myMenu即我們所看到的“菜單”的ID,它原來的display為none,即不顯示,當(dāng)鼠標(biāo)移上去時,變?yōu)閎lock,即塊狀顯示。

另外要提的是:前面只說了如何實現(xiàn)定位、如何動態(tài)控制,那么定位的、控制的是什么元素呢?原則上來講,大部分塊狀元素(如div、table)都可以,而在IE中,div標(biāo)記(注意,在一些非IE瀏覽器中,并不支持div標(biāo)記)因其使用的靈活性和方便性而做為我們的選。上例使用的就是div標(biāo)記。

好啦,基本的過程,上面大致已經(jīng)說完了,在下一章,我們將看到使用上面提到的技術(shù)來實現(xiàn)一個簡單的菜單。

模擬網(wǎng)頁下拉菜單中有幾個比較關(guān)鍵的CSS屬性:position、left、top、display,同時,他們也是style對象的屬性。今天創(chuàng)新互聯(lián)就用這幾個基本屬性來實現(xiàn)一個簡單的網(wǎng)頁菜單。

首先請大家看筆者已經(jīng)做好的一個實例,然后我們對這個例子進行詳細代碼講解。

為大家閱讀方便,這里采用在代碼中加注釋的方式,紅色部分為注釋。

代碼如下:

------------------------------------------------------<html><head><title>菜單實例</title><style type=text/css>td,div { font: normal 12px 宋體; }</style></head><body style="margin-left:12px;margin-top:16px;"><table cellpadding=0 cellspacing=0 width=90% height=20 bgcolor=#CCCCCC> <tr> <td width=10> </td> <td width=80 align=center onmouseover="menuShow(menu01)" onmouseout="menuHide(menu01)">菜單實例</td> <!-- 上兩行為菜單中顯示的文字,注意這里面的事件觸發(fā): onmouseover="menuShow(menu01)" 鼠標(biāo)經(jīng)過時顯示菜單; onmouseout="menuHide(menu01)" 鼠標(biāo)移走時隱藏菜單。 參數(shù)menu01即要顯示的菜單的id,將在接下來的代碼中看到。 menuShow與menuHide分別為顯示、隱藏菜單方法,將在后面定義。 --> <td> </td> </tr></table><div style="position:absolute;top:36px;left:20px;display:none;width:80px;height:100px;background-color:#DDDDDD;" id=menu01onmouseover="menuShow(this)" onmouseout="menuHide(this)"><!-- 以上三行,定義了菜單的一些屬性,注意“id=menu01”,前面提到過。 position、top、left、display四個CSS屬性即上一章講過的; width、height、background-color分別為寬度、高度、背景色。 這里再一次出現(xiàn)onmouseover="menuShow(this)" onmouseout="menuHide(this)", 就是說當(dāng)鼠標(biāo)從菜單按鈕上移開,如果是移到了菜單上,菜單仍然顯示。 注意這里參數(shù)是this而不是menu01,this即對象本身,在這里就是指menu01,所以結(jié)果相同。 在這里筆者有意使用this,只是想告訴大家一個技巧,這在很多時候非常方便。--> <br> 菜單內(nèi)容</div><script language=Javascript>function menuShow(menu) //定義顯示菜單的方法,參數(shù)menu即菜單的id。{ menu.style.display='block'; //注意這里如何用javascript改變style對象的屬性來達到改變CSS屬性的目的。}function menuHide(menu) //定義隱藏菜單的方法,參數(shù)menu即菜單的id。{ menu.style.display='none'; //同上}</script></body></html>------------------------------------------------------  這樣,一個簡單的菜單就實現(xiàn)了,只要你略有一些相關(guān)的基礎(chǔ)知識,反復(fù)體會一下我加的注釋,就應(yīng)該可以理解了,是不是并不難?

這個菜單現(xiàn)在看上去還有點簡陋,下次我們將對這個菜單進行進一步的修飾。

美化主要表現(xiàn)在鼠標(biāo)放到菜單上后(即鼠標(biāo)懸停)的效果,這里首先介紹幾個經(jīng)常用到的CSS屬性:

background-color:背景色,其值為一個顏色值,如“#FF0000”、“red”。

border:邊框樣式,一個形如“寬度 樣式 顏色”的字符串,如“1px solid red”,即1px的紅色實線邊框。

cursor:鼠標(biāo)指針樣式,取值為表示鼠標(biāo)指針樣式的字符串,如“hand”、“help”,即小手、幫助狀態(tài)。

以上只是簡單的介紹了幾個在此類菜單中非常常見的CSS屬性,這里也并未做很詳盡的解釋(畢竟這些并不是我們要講解的重點),欲了解更多可參閱相關(guān)資料。筆者在這里想說的是:掌握更多的CSS屬性會對你有所幫助。

前面說了,美化主要表現(xiàn)在鼠標(biāo)放到菜單上后的效果,那么如何用javascript來控制樣式的變化呢?或者你會想到前面講過的style對象,的確,用style可以達到目的,但是,很多時候,需要改變很多個CSS屬性,用style就顯得有些麻煩。我們再來介紹一個新的屬性:className。

className屬性對應(yīng)的就是CSS的class,也即所謂的偽類,比如在某個標(biāo)記中設(shè)置class=myName,那么這時該元素的className屬性就是myName。

來看下面這個例子:

--------------------------------------------<span onmouseover="this.className='style_over'"onmouseout="this.className='style_normal'">鼠標(biāo)移上來,通過className屬性改變這段文字的class,使文字顏色變成紅色;移走,又恢復(fù)原來的顏色。</span>----------------------------------------------
  

我們看到,在處理相對復(fù)雜的樣式變化的情況下,用className就方便得多了,至于樣式如何變化,就變成如何定義class的問題了。

講到這里,我想有一定CSS基礎(chǔ)的朋友應(yīng)該已經(jīng)清楚如何來修飾這個菜單了,即便你對CSS了解的還不多,前面已經(jīng)介紹了幾個較常用的屬性。所以,這里就不再多講了

通過前三篇文章的講解,現(xiàn)在我們已經(jīng)可以實現(xiàn)一個基本的菜單了。這一章,我們來討論一下定位的問題。

在前幾章講的例子中,定位都是相對于整個網(wǎng)頁的左上角。在有一些時候,我們可能需要它相對于網(wǎng)頁中某個元素定位,這樣做在某些時候是非常有必要的,比如不會出現(xiàn)那種因窗口大小的改變而致使菜單與網(wǎng)頁中的一些元素的相對位置發(fā)生變化。在第一章的最初,筆者所給的例子中就是這樣做的。

在那里我們很方便把就把這個菜單插入到了網(wǎng)頁中,而菜單不會相對菜單按鈕的位置發(fā)生變化。下面我們就看看如何來實現(xiàn)。

在第一章,我們講過position,當(dāng)它取值absolute的時候,即絕對定位。既然是定位,就要有參照物。一般來講,這個定位的參照物是body(即整個網(wǎng)頁)的左上角,但如果其父級元素中有設(shè)置了position:absolute的元素,那么它的參照物就是該元素。知道了這樣一個特性,我們就可以很容易的來實現(xiàn)了。

另外,有一點在這里必須要著重說明一下,前面同時也講過,當(dāng)position的值為relative時,就是相對定位,為什么不用它來實現(xiàn)呢?我們必須要正確理解這里所謂的相對定位:它是指相對于原來在HTML中的位置所發(fā)生的偏移,而它仍占據(jù)原來在HTML中所占據(jù)的位置。而我們現(xiàn)在的菜單需要“懸浮”在網(wǎng)頁元素之上,而這只有當(dāng)position設(shè)為absolute時才可以做到。

通過上面的講述,我們應(yīng)該可以大致的了解其實現(xiàn)的原理了。下面就看看剛才在上面看到的那個菜單的代碼(注意里面的注釋會幫你加深理解)。

-------------------------------------------------------------------------------
<div onmouseover="myMenu.style.display='block'"onmouseout="myMenu.style.display='none'"> Link 1<br> Link 2<br> Link 3<br> Link N<br> 菜單實例-------------------------------------------

請仔細理解上面的代碼,相信大家對用CSS進行絕對定位會有一個更深層次的認識!

這里說一句題外話:這種定位可以用Dreamweaver來實現(xiàn)(這對于對JS不是很熟的朋友來講的確很方便),而事實上這樣做生成的代碼的原理與上面講的相同的。把上面講的原理弄清楚了,使用起來會更靈活。

本文標(biāo)題:網(wǎng)頁菜單詳解:基本原理
當(dāng)前地址:http://www.js-pz168.com/news6/74406.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站網(wǎng)頁設(shè)計公司網(wǎng)站維護網(wǎng)站改版建站公司全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)
久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx
亚洲国产精品www| 4hu四虎永久在线影院成人| 欧美美女激情18p| 精品国产免费人成在线观看| 亚洲欧美一区二区久久| 美国精品在线观看| 99免费在线视频观看| 亚洲日本理论电影| 精品国产乱码久久久久久影片| 亚洲激情网站免费观看| 国产麻豆91精品| 久久本道综合色狠狠五月| 欧美日韩专区在线| 国产精品美女久久久久久久久| 日本伊人色综合网| 99porn视频在线| 91国产免费观看| 欧美激情中文字幕一区二区| 日本午夜精品视频在线观看| 成人h视频在线观看| 色屁屁一区二区| 国产亚洲精久久久久久| 日韩av在线免费观看不卡| 91麻豆精品在线观看| 中日韩在线视频| 国产日产欧美一区二区视频| 免费观看日韩av| 国精产品一区二区| 欧美日本一区二区三区四区| 亚洲视频 欧洲视频| 高潮精品一区videoshd| 四虎影院一区二区三区| 久久综合久久99| 日本sm残虐另类| 不卡一区二区三区视频| 精品视频一区二区三区免费| 亚洲日本一区二区| 丁香天五香天堂综合| 一区二区三区四区五区视频| 欧美激情一区三区| 精品一区二区在线播放| 欧美不卡三区| 久久综合九色综合欧美就去吻| 免费在线欧美视频| 免费国产一区| 国产亚洲精品bt天堂精选| 国内精品写真在线观看| 五月天亚洲综合情| 欧美国产激情一区二区三区蜜月| 国模无码大尺度一区二区三区| 日本一区二区不卡高清更新| 国产亚洲成av人在线观看导航| 黑人巨大精品欧美一区| 亚洲成人第一| 成人免费小视频| 91在线视频在线| 欧美日韩高清影院| 午夜久久久久久电影| 国内精品久久国产| 精品免费日韩av| 精品一区二区三区在线观看 | 精品三级在线观看| 日本美女一区二区三区视频| 欧美最大成人综合网| 国产欧美日本一区视频| 国产91精品一区二区麻豆网站| 91极品视觉盛宴| 夜夜爽夜夜爽精品视频| 懂色av一区二区三区在线播放| 日韩欧美一区在线| 激情综合色播五月| 综合久久国产| 亚洲一区自拍偷拍| 美媛馆国产精品一区二区| 国产欧美一区二区三区沐欲| 成人激情免费电影网址| 欧美日韩成人激情| 蜜桃视频免费观看一区| 亚洲精品在线免费看| 亚洲乱码国产乱码精品精小说| 成人综合色站| 国产日韩精品一区| caoporn国产精品| 欧美一区二区黄色| 国产一区欧美二区| 欧美色图在线观看| 青青草视频一区| 一本久久综合亚洲鲁鲁五月天| 一区二区免费在线| 欧美激情视频一区二区三区| 国产精品久久看| 国产精品初高中精品久久| 国产亚洲综合性久久久影院| av电影在线不卡| 久久综合一区二区| av电影天堂一区二区在线| 日韩丝袜情趣美女图片| 国产精品69久久久久水密桃| 欧美人与禽zozo性伦| 韩国成人福利片在线播放| 欧美在线三级电影| 美国精品在线观看| 欧洲日韩一区二区三区| 久久爱另类一区二区小说| 日本韩国精品在线| 另类调教123区| 欧美日韩高清一区二区不卡 | 91亚洲精品一区二区乱码| 欧美精品一区二区三区高清aⅴ | 国产精品人人做人人爽人人添 | 国产乱码精品1区2区3区| 欧美日本在线播放| 国产乱码精品一区二区三区忘忧草 | 午夜精品福利久久久| 亚洲精品国产一区| 日韩国产一区二| 欧洲精品在线观看| 国产真实乱偷精品视频免| 欧美久久高跟鞋激| 成人一级黄色片| 久久综合资源网| 国产福利久久精品| 亚洲人成网站影音先锋播放| 日本一区二区三区精品视频| 香蕉av福利精品导航| 在线观看国产91| 国产麻豆视频一区二区| 日韩免费成人网| 91在线看网站| 亚洲图片另类小说| 日韩一区二区电影在线观看| 丝袜亚洲另类欧美综合| 欧美日韩中文字幕精品| 国产不卡在线一区| 久久精品亚洲国产奇米99| 黑人另类av| 午夜视频一区二区三区| 欧美色倩网站大全免费| 国产91清纯白嫩初高中在线观看| 久久久久久久久久久久久夜| 九九九热999| 午夜成人免费视频| 欧美日韩免费一区二区三区视频| 成人免费视频免费观看| 欧美激情综合五月色丁香| 欧美污视频久久久| 男人的天堂亚洲一区| 日韩写真欧美这视频| 国产精品国产一区二区| 亚洲午夜精品17c| 欧美日韩一本到| 91猫先生在线| 一区二区三区四区不卡视频| 在线欧美小视频| 99免费精品视频| 亚洲日本乱码在线观看| 色综合久久久久综合体| 国产成人在线视频网址| 国产精品每日更新| 色综合一区二区三区| 欧美大胆人体bbbb| 国产精品久久亚洲7777| 午夜欧美视频在线观看| 91精品国产综合久久精品性色| 俄罗斯精品一区二区三区| 尤物在线观看一区| 欧美日韩精品一区视频| 91九色在线观看| 亚洲高清视频在线| 日韩亚洲欧美在线观看| 精品国产综合| 精彩视频一区二区三区| 国产亚洲va综合人人澡精品| 亚洲一区二区三区精品视频 | 国产久一道中文一区| 日韩精彩视频在线观看| 欧美大肚乱孕交hd孕妇| 日本高清不卡三区| 国产精品亚洲一区二区三区在线| 中文字幕免费不卡| 色av成人天堂桃色av| 91免费小视频| 日韩精品一级二级| 久久久久久久一区| 中文字幕成人一区| 91免费版在线| 奇米在线7777在线精品| 久久久精品中文字幕麻豆发布| 亚洲自拍三区| 91久久爱成人| 人人精品人人爱| 日本一区二区三区高清不卡| 91久久国产最好的精华液| 亚洲免费资源在线播放| 制服.丝袜.亚洲.中文.综合| 欧美第一黄网| 成人伦理片在线| 婷婷成人激情在线网| 国产日韩欧美在线一区| 在线观看视频一区二区 |